

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Hyperparameter und HPO
<a name="customizing-solution-config-hpo"></a>

**Wichtig**  
Standardmäßig verwenden alle neuen Lösungen automatisches Training. Bei der automatischen Schulung fallen für Sie Schulungskosten an, solange Ihre Lösung aktiv ist. Um unnötige Kosten zu vermeiden, können Sie die [Lösung aktualisieren, wenn Sie fertig sind, sodass das](updating-solution.md) automatische Training deaktiviert wird. Informationen zu den Schulungskosten finden Sie unter [Amazon Personalize Personalize-Preise](https://aws.amazon.com/personalize/pricing/).

Sie geben vor dem Training Hyperparameter an, um das trainierte Modell für Ihren speziellen Anwendungsfall zu optimieren. Im Gegensatz dazu stehen Modellparameter, deren Werte während des Schulungsprozesses ermittelt werden.

Hyperparameter werden über den `algorithmHyperParameters`-Schlüssel angegeben, der Teil des [SolutionConfig](API_SolutionConfig.md)-Objekts ist, das an die [CreateSolution](API_CreateSolution.md)-Operation übergeben wird.

Eine komprimierte Version der `CreateSolution` Anfrage finden Sie weiter unten. Das Beispiel beinhaltet das `solutionConfig` Objekt. Sie verwenden`solutionConfig`, um die Standardparameter eines Rezepts zu überschreiben. 

```
{
  "name": "string",
  "recipeArn": "string",
  "eventType": "string",
  "solutionConfig": {
      "optimizationObjective": {
          "itemAttribute": "string",
          "objectiveSensitivity": "string"
      },
      "eventValueThreshold": "string",
      "featureTransformationParameters": {
          "string" : "string"
      },
      "algorithmHyperParameters": {
          "string" : "string"
      },
      "hpoConfig": {
          "algorithmHyperParameterRanges": {
              ...
          },
          "hpoResourceConfig": {
              "maxNumberOfTrainingJobs": "string",
              "maxParallelTrainingJobs": "string"
          }
      },
  },
}
```

Unterschiedliche Rezepte verwenden unterschiedliche Hyperparameter. Die verfügbaren Hyperparameter finden Sie in den einzelnen Rezepten unter [Ein Rezept wählen](working-with-predefined-recipes.md).

## Hyperparameter-Optimierung aktivieren
<a name="hpo-tuning"></a>

Hyperparameter-Optimierung (Hyper-Parameter Optimization, HPO), oder Feineinstellung, bezeichnet die Wahl optimaler Hyperparameter für ein bestimmtes Lernziel. Die optimalen Hyperparameter werden ermittelt, indem viele Schulungen mit unterschiedlichen Werten aus den vorgegebenen Möglichkeiten durchgeführt werden. 

Wenn Sie bei [User-Personalization-v2](native-recipe-user-personalization-v2.md) und [Personalized-Ranking-v2](native-recipe-personalized-ranking-v2.md) die automatische Schulung aktivieren, führt Amazon Personalize HPO automatisch alle 90 Tage durch. Ohne automatisches Training findet kein HPO statt. Für alle anderen Rezepte müssen Sie HPO aktivieren. Um HPO zu verwenden, stellen Sie `performHPO` auf `true` ein und binden Sie das `hpoConfig`-Objekt ein.

Hyperparameter können kategorische, kontinuierliche oder Ganzzahl-Werte sein. Das `hpoConfig`-Objekt verfügt über Schlüssel, die jedem dieser Typen entsprechen, wobei Sie die Hyperparameter und deren Bereiche angeben. Sie müssen jeden Typ in Ihrer Anfrage angeben, aber wenn ein Rezept keinen Parameter eines Typs hat, können Sie ihn leer lassen. Beispielsweise verfügt die Benutzerpersonalisierung nicht über einen einstellbaren Hyperparameter kontinuierlichen Typs. Für den würden Sie `continousHyperParameterRange` also ein leeres Array übergeben. 

Der folgende Code zeigt, wie Sie mithilfe des SDK for Python (Boto3) eine Lösung mit aktiviertem HPO erstellen. Die Lösung im Beispiel verwendet das [Rezept für Benutzerpersonalisierung](native-recipe-new-item-USER_PERSONALIZATION.md) Rezept und HPO ist auf eingestellt. `true` Der Code stellt einen Wert für `hidden_dimension` und und bereit. `categoricalHyperParameterRanges` `integerHyperParameterRanges` Das `continousHyperParameterRange` ist leer und das `hpoResourceConfig` setzt das `maxNumberOfTrainingJobs` und`maxParallelTrainingJobs`. 

```
import boto3

personalize = boto3.client('personalize')

create_solution_response = personalize.create_solution(
    name = "solution name",
    datasetGroupArn = 'arn:aws:personalize:region:accountId:dataset-group/datasetGroupName',
    recipeArn = 'arn:aws:personalize:::recipe/aws-user-personalization',
    performHPO = True,
    solutionConfig = {
        "algorithmHyperParameters": {
          "hidden_dimension": "55"
        },
        "hpoConfig": {
          "algorithmHyperParameterRanges": {
              "categoricalHyperParameterRanges": [
                  {
                      "name": "recency_mask",
                      "values": [ "true", "false"]
                  }
              ],
              "integerHyperParameterRanges": [
                  {
                      "name": "bptt",
                      "minValue": 2,
                      "maxValue": 22
                  }
              ],
              "continuousHyperParameterRanges": [

              ]
          },
          "hpoResourceConfig": {
              "maxNumberOfTrainingJobs": "4",
              "maxParallelTrainingJobs": "2"
          }
        }
    }
)
```

Weitere Informationen zu HPO finden Sie unter [Automatische Modelloptimierung](https://docs.aws.amazon.com/sagemaker/latest/dg/automatic-model-tuning.html). 

## Hyperparameter anzeigen
<a name="viewing-hyperparameters"></a>

Sie können die Hyperparameter der Lösung anzeigen, indem Sie die Operation aufrufen. [DescribeSolution](API_DescribeSolution.md) Das folgende Beispiel zeigt eine `DescribeSolution` Ausgabe. Nachdem Sie eine Lösungsversion erstellt (ein Modell trainiert) haben, können Sie mit der [DescribeSolutionVersion](API_DescribeSolutionVersion.md) Operation auch Hyperparameter anzeigen.

```
{
  "solution": {
    "name": "hpo_coonfig_solution",
    "solutionArn": "arn:aws:personalize:region:accountId:solution/solutionName",
    "performHPO": true,
    "performAutoML": false,
    "recipeArn": "arn:aws:personalize:::recipe/aws-user-personalization",
    "datasetGroupArn": "arn:aws:personalize:region:accountId:dataset-group/datasetGroupName",
    "eventType": "click",
    "solutionConfig": {
      "hpoConfig": {
        "hpoResourceConfig": {
          "maxNumberOfTrainingJobs": "4",
          "maxParallelTrainingJobs": "2"
        },
        "algorithmHyperParameterRanges": {
          "integerHyperParameterRanges": [
            {
              "name": "training.bptt",
              "minValue": 2,
              "maxValue": 22
            }
          ],
          "continuousHyperParameterRanges": [],
          "categoricalHyperParameterRanges": [
            {
              "name": "data.recency_mask",
              "values": [
                "true",
                "false"
              ]
            }
          ]
        }
      },
      "algorithmHyperParameters": {
        "hidden_dimension": "55"
      }
    },
    "status": "ACTIVE",
    "creationDateTime": "2022-07-08T12:12:48.565000-07:00",
    "lastUpdatedDateTime": "2022-07-08T12:12:48.565000-07:00"
  }
}
```