Paramètres de formation - Amazon Machine Learning

Nous ne mettons plus à jour le service Amazon Machine Learning et n'acceptons plus de nouveaux utilisateurs pour ce service. Cette documentation est disponible pour les utilisateurs existants, mais nous ne la mettons plus à jour. Pour plus d'informations, veuillez consulter la rubriqueQu'est-ce qu'Amazon Machine Learning.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Paramètres de formation

En règle générale, les algorithmes d'apprentissage-machine acceptent les paramètres pouvant servir à contrôler certaines propriétés du processus de formation et du modèle d'apprentissage-machine résultant. Dans Amazon Machine Learning, ils sont appelésParamètres de formation. Vous pouvez définir ces paramètres à l'aide de la console, de l'API ou de l'interface de ligne de commande (CLI) Amazon ML. Si vous ne définissez pas de paramètres, Amazon ML utilisera les valeurs par défaut connues pour fonctionner correctement pour un large éventail de tâches d'apprentissage-machine.

Vous pouvez spécifier des valeurs pour les paramètres de formation suivants :

  • Taille maximale du modèle

  • Nombre maximal de passages sur les données de formation

  • Type de réorganisation

  • Type de régularisation

  • Degré de régularisation

Dans la console Amazon ML, les paramètres de formation sont définis par défaut. Les paramètres par défaut sont appropriés pour la plupart des problèmes d'apprentissage-machine, mais vous pouvez choisir d'autres valeurs pour optimiser les performances. Certains autres paramètres de formation, tels que le taux d'apprentissage, sont configurés pour vous en fonction de vos données.

Les sections suivantes fournissent plus d'informations sur les paramètres de formation.

Taille maximale du modèle

La taille maximale du modèle est la taille totale, en octets, des tendances qu'Amazon ML crée au cours de la formation d'un modèle d'apprentissage-machine.

Par défaut, Amazon ML crée un modèle de 100 Mo. Vous pouvez demander à Amazon ML de créer un modèle plus petit ou plus grand en spécifiant une taille différente. Pour connaître la plage des tailles disponibles, consultez Types de modèles d'apprentissage-machine

Si Amazon ML ne trouve pas suffisamment de tendances pour remplir le modèle, il crée un modèle plus petit. Par exemple, si vous spécifiez une taille maximale du modèle de 100 Mo, mais qu'Amazon ML identifie des tendances totalisant uniquement 50 Mo, le modèle résultant sera de 50 Mo. Si Amazon ML identifie plus de tendances que ne permet d'en contenir la taille spécifiée, il impose une limite maximale en tronquant les tendances qui affectent le moins la qualité du modèle appris.

Le choix de la taille du modèle vous permet de contrôler le compromis entre la qualité prédictive d'un modèle et le coût de son utilisation. Des modèles plus petits peuvent amener Amazon ML à supprimer de nombreuses tendances pour s'adapter à la limite de taille maximale, affectant ainsi la qualité des prédictions. D'un autre côté, des modèles plus grands sont plus coûteux dans le cadre des requêtes de prédictions en temps réel.

Note

Si vous utilisez un modèle d'apprentissage-machine pour générer des prédictions en temps réel, vous devrez vous acquitter de faibles frais de réservation de capacités, déterminés par la taille du modèle. Pour plus d'informations, consultez Tarification pour Amazon ML.

Des ensembles de données d'entrée plus grands n'entraînent pas nécessairement la création de plus grands modèles, parce que les modèles stockent les tendances et non pas les données d'entrée. Si les tendances sont peu nombreuses et simples, le modèle résultant est de petite taille. Les données d'entrée qui possèdent un grand nombre d'attributs bruts (colonnes d'entrée) ou d'entités dérivées (sorties des transformations de données Amazon ML) permettront probablement de trouver et de stocker plus de tendances au cours du processus de formation. Pour sélectionner la bonne taille de modèle pour vos données et votre problème, la meilleure approche met en jeu quelques expériences. Le journal de formation du modèle Amazon ML (que vous pouvez télécharger à partir de la console ou via l'API) contient des messages sur le degré de troncation de modèle (le cas échéant) utilisé au cours du processus de formation, ce qui vous permet d'estimer la qualité potentielle entre les correspondance et les prédictions.

Nombre maximal de passages sur les données

Pour un résultat optimal, Amazon ML peut avoir besoin d'effectuer plusieurs passages sur vos données pour découvrir des tendances. Par défaut, Amazon ML effectue 10 passages, mais vous pouvez modifier la valeur par défaut en spécifiant une valeur pouvant aller jusqu'à 100. Amazon ML effectue le suivi de la qualité des tendances (convergence du modèle) au fil du temps, et arrête automatiquement la formation lorsqu'il n'y a plus de points de données ou de tendances à découvrir. Par exemple, si vous définissez le nombre de passages sur 20, mais qu'Amazon ML découvre après 15 passages qu'il n'est plus possible de trouver de nouvelles tendances, il arrêtera la formation à 15 passages.

En général, les ensembles de données contenant seulement quelques observations nécessitent plus de passages sur les données pour obtenir une meilleure qualité de modèle. Les ensembles de données plus grands contiennent de nombreux points de données similaires, ce qui élimine la nécessité d'avoir un grand nombre de passages. L'impact du choix d'un plus grand nombre de passages sur vos données est double : la formation du modèle est plus longue et a un coût plus élevé.

Type de réorganisation des données de formation

Dans Amazon ML, vous devez réorganiser aléatoirement vos données de formation. La réorganisation change complètement l'ordre de vos données de manière à ce que l'algorithme SGD ne rencontre pas un seul type de données pour un trop grand nombre d'observations consécutives. Par exemple, si vous formez un modèle d'apprentissage-machine pour prédire un type de produit et que vos données de formation incluent les types de produits film, jouet et jeu vidéo, si vous avez trié vos données selon la colonne de type de produit avant de les charger, l'algorithme voit les données dans l'ordre alphabétique, par type de produit. L'algorithme voit tout d'abord toutes vos données relatives aux films, et votre modèle d'apprentissage-machine commence à apprendre des tendances propres aux films. Ensuite, lorsque votre modèle aborde des données sur des jouets, chaque mise à jour que l'algorithme effectue correspond au modèle du type de produit jouet, même si ces mises à jour dégradent les tendances correspondant aux films. Ce basculement soudain du type film au type jouet peut produire un modèle qui n'apprend pas à prédire avec précision les types de produit.

Vous devez réorganiser aléatoirement vos données de formation, même si vous avez choisi l'option de fractionnement aléatoire lorsque vous avez divisé la source de données d'entrée en deux parties pour la formation et l'évaluation. La stratégie de fractionnement aléatoire choisit un sous-ensemble aléatoire des données pour chaque source de données, mais elle ne modifie pas l'ordre des lignes dans la source de données. Pour plus d'informations sur le fractionnement de vos données, consultez Fractionnement des données.

Lorsque vous créez un modèle d'apprentissage-machine à l'aide de la console, Amazon ML effectue par défaut la réorganisation des données à l'aide d'une technique de réorganisation pseudo-aléatoire. Quel que soit le nombre de passages demandé, Amazon ML réorganisé les données une seule fois avant de former le modèle d'apprentissage-machine. Si vous avez réorganisé vos données avant de les fournir à Amazon ML et que vous ne voulez pas qu'Amazon ML les réorganiser à nouveau, vous pouvez définirType de réorganisationpournone. Par exemple, si vous avez mélangé aléatoirement les enregistrements de votre fichier .csv avant de les télécharger sur Amazon S3, utilisez lerand()dans votre requête MySQL SQL lors de la création de votre source de données à partir d'Amazon RDS, ou utilisez lerandom()dans votre requête SQL Amazon Redshift lors de la création de votre source de données à partir d'Amazon Redshift, paramètreType de réorganisationpournonen'aura aucun impact sur la précision prédictive de votre modèle ML. Réorganiser vos données une seule fois réduit le temps et le coût d'exécution pour la création d'un modèle d'apprentissage-machine.

Important

Lorsque vous créez un modèle d'apprentissage-machine à l'aide de l'API Amazon ML, Amazon ML ne réeffectue pas vos données par défaut. Si vous utilisez l'API à la place de la console pour créer votre modèle d'apprentissage-machine, nous vous recommandons fortement de réorganiser vos données en définissant le paramètre sgd.shuffleType sur auto.

Type et degré de régularisation

Les performances prédictives de modèles d'apprentissage-machine complexes (dotés de nombreux attributs d'entrée) pâtissent lorsque les données contiennent un trop grand nombre de tendances. Plus le nombre de tendances est élevé, plus le modèle a de chances d'apprendre des artefacts non intentionnels plutôt que des tendances réelles. Dans ce cas, le modèle se comporte très bien sur les données de formation, mais ne peut pas généraliser correctement aux données nouvelles. Ce phénomène est appelé surajustement des données de formation.

La régularisation permet d'empêcher le surajustement des exemples de données de formation dans le cas de modèles linéaires, en pénalisant les valeurs d'un poids extrême. La régularisation L1 réduit le nombre d'entités utilisées dans le modèle en mettant à zéro le poids d'entités qui auraient autrement un très faible poids. La régularisation L1 produit des modèles dispersés et réduit la quantité de bruit dans le modèle. La régularisation L2 produit des valeurs pondérales globales plus petites, ce qui stabilise les poids lorsqu'il y a une forte corrélation entre les entités. Vous pouvez contrôler le degré de régularisation L1 ou L2 à l'aide du paramètre Regularization amount. La spécification d'une très grande valeur Regularization amount peut entraîner la mise à zéro du poids de toutes les entités.

La sélection et l'ajustement de la valeur de régularisation optimale est un thème actuel de recherche dans le domaine de l'apprentissage-machine. Vous aurez probablement intérêt à sélectionner un degré modéré de régularisation L2, qui correspond au réglage par défaut dans la console Amazon ML. Les utilisateurs avancés peuvent choisir entre trois types de régularisation (aucune, L1 et L2) et le degré. Pour plus d'informations sur la régularisation, consultez Régularisation (mathématiques).

Paramètres de formation : Types et valeurs par défaut

Le tableau suivant répertorie les paramètres de formation Amazon ML, ainsi que les valeurs par défaut et la plage autorisée pour chacun d'eux.

Paramètre de formation

Type

Valeur par défaut

Description

maxMLModelSizeInBytes

Entier

100 000 000 octets (100 Mio)

Plage autorisée : De 100 000 (100 KiB) à 2 147 483 648 (2 GiB)

En fonction des données d'entrée, la taille du modèle peut avoir un impact sur les performances.

sgd.maxPasses

Entier

10

Plage autorisée : 1-100

sgd.shuffleType

Chaîne

auto

Valeurs autorisées : auto ou none

sgd.l1RegularizationAmount

Double

0 (par défaut, L1 n'est pas utilisée)

Plage autorisée : de 0 à MAX_DOUBLE

Les valeurs L1 comprises entre 1E-4 et 1E-8 sont connues pour donner de bons résultats. Des valeurs supérieures sont susceptibles de produire des modèles qui ne sont pas très utiles.

Vous ne pouvez pas définir à la fois L1 et L2. Vous devez choisir l'une ou l'autre.

sgd.l2RegularizationAmount

Double

1E-6 (par défaut, L2 est utilisée avec ce degré de régularisation)

Plage autorisée : de 0 à MAX_DOUBLE

Les valeurs L2 comprises entre 1E-2 et 1E-6 sont connues pour donner de bons résultats. Des valeurs supérieures sont susceptibles de produire des modèles qui ne sont pas très utiles.

Vous ne pouvez pas définir à la fois L1 et L2. Vous devez choisir l'une ou l'autre.