Prise en charge des modèles, métriques et validation - Amazon SageMaker

Prise en charge des modèles, métriques et validation

Amazon SageMaker Autopilot prend en charge trois types d'algorithmes de machine learning pour résoudre les problèmes de machine learning, génère des rapports sur la qualité et les métriques d'objectif, et utilise automatiquement la validation croisée lorsque nécessaire.

Prise en charge des algorithmes par Autopilot

Autopilot prend en charge les trois types d'algorithmes de machine learning suivants :

  • Algorithme d'apprentissage linéaire : un algorithme d'apprentissage supervisé, utilisé pour résoudre les problèmes de régression ou de classification.

  • Algorithme XGBoost : un algorithme d'apprentissage supervisé qui tente de prédire avec précision une variable cible en combinant un ensemble d'estimations à partir d'un ensemble de modèles plus simples et plus faibles.

  • Algorithme de deep learning : une perceptron multicouche (MLP), un réseau neuronal artificiel qui peut gérer des données qui ne sont pas séparables de façon linéaire.

Note

Vous ne devez pas nécessairement spécifier un algorithme pour résoudre votre problème de machine learning. Autopilot sélectionne automatiquement l'algorithme qu'il convient d'entraîner.

Métriques des candidats Autopilot

Amazon SageMaker Autopilot produit des métriques utilisées pour mesurer la qualité prédictive des candidats au modèle de machine learning. Les métriques calculées pour les candidats sont spécifiées à l'aide d'un tableau de types MetricDatum. Voici la liste des noms de métriques actuellement disponibles.

  • MSE : l'erreur quadratique moyenne (MSE, Mean Squarred Error) est la moyenne des différences au carré entre les valeurs prédites et réelles. Elle est utilisée pour la régression. Les valeurs MSE sont toujours positives : plus un modèle prédit les valeurs correctement, plus la valeur MSE est petite.

  • Accuracy : rapport entre le nombre d'éléments correctement classés et le nombre total d'éléments classés (correctement ou non). Elle est utilisée pour la classification binaire et multiclasse. Elle mesure à quel point les valeurs de classe prédites sont proches des valeurs réelles. Les valeurs de précision varient entre 0 et 1, 1 indiquant une précision parfaite et 0 indiquant une imprécision parfaite.

  • F1 : le score F1 représente la moyenne harmonique de la précision et du rappel. Il est utilisé pour la classification binaire en classes traditionnellement appelées positives et négatives. On dit que les prédictions sont vraies lorsqu'elles correspondent à leur classe réelle (correcte) et fausse lorsqu'elles n'y correspondent pas. La précision est le rapport entre les prédictions qui sont des vrais positifs et toutes les prédictions positives (y compris les faux positifs) dans un jeu de données et mesure la qualité de la prédiction lorsqu'elle prédit la classe positive. Le rappel (ou la sensibilité) est le rapport entre les prédictions qui sont des vrais positifs et toutes les instances réellement positives et mesure dans quelle mesure un modèle prédit complètement les membres de classe réels dans un jeu de données. Le score F1 standard évalue la précision et le rappel de manière égale. Mais la métrique qui sera primordiale dépend généralement des aspects spécifiques au problème. Les scores F1 varient entre 0 et 1, 1 indiquant la meilleure performance possible et 0 la pire.

  • AUC : la métrique de zone sous la courbe (AUC, Area Under the Curve) est utilisée pour comparer et évaluer la classification binaire par des algorithmes tels que la régression logistique qui renvoient des probabilités. Un seuil est nécessaire pour mapper les probabilités dans des classifications. La courbe pertinente est la courbe caractéristique de fonctionnement du récepteur qui représente le taux de vrais positifs (TPR, True Positive Rate) des prédictions (ou rappels) par rapport au taux de faux positifs (FPR, False Positive Rate) en fonction de la valeur seuil, au-dessus de laquelle une prédiction est considérée comme positive. L'augmentation du seuil entraîne moins de faux positifs, mais plus de faux négatifs. L'AUC est la zone située sous cette courbe caractéristique de fonctionnement du récepteur et fournit donc une mesure agrégée des performances du modèle sur tous les seuils de classification possibles. Les scores AUC varient de 0 à 1, 1 indiquant une précision parfaite et 0,5 indiquant que la prédiction n'est pas meilleure qu'un classificateur aléatoire.

  • F1macro : le score F1macro applique la notation F1 à la classification multiclasse. Dans ce contexte, vous avez plusieurs classes à prédire. Il suffit de calculer la précision et le rappel pour chaque classe comme vous l'avez fait pour la classe positive dans la classification binaire. Ensuite, utilisez ces valeurs pour calculer le score F1 pour chaque classe et calculez la moyenne afin d'obtenir le score F1macro. Les scores F1macro varient entre 0 et 1, 1 indiquant la meilleure performance possible et 0 la pire.

Les métriques calculées automatiquement pour un modèle candidat sont déterminées par le type de problème à résoudre.

  • régression : MSE

  • classification binaire : Accuracy, F1, AUC

  • classification multiclasse : Accuracy, F1macro

Validation croisée Autopilot

Autopilot utilise automatiquement la méthode de validation croisée à blocs (k-fold) lorsque nécessaire. Vous pouvez utiliser cette méthode pour évaluer dans quelle mesure un modèle entraîné sur un jeu de données peut prédire les valeurs d'un jeu de données de validation invisible extrait de la même population. Cette méthode est particulièrement importante, par exemple, lors de l'entraînement sur des jeux de données ayant un nombre limité d'instances d'entraînement. Elle peut prévenir des problèmes tels que le surajustement et le biais de sélection qui peuvent empêcher l'application plus générale d'un modèle à la population échantillonnée.

Par exemple, le jeu de données Boston Housing ne contient que 861 échantillons. Si vous essayez de créer un modèle pour prédire les prix de vente des maisons à l'aide de ce jeu de données sans validation croisée, vous risquez de vous entraîner sur un jeu de données qui n'est pas représentatif du parc immobilier de Boston. En règle générale, vous ne divisez les données qu'une seule fois en sous-ensembles d'entraînement et de validation. Si les données contenues dans le bloc d'entraînement, et provenant principalement de banlieues, n'étaient pas représentatives du reste de la ville, cette sélection serait biaisée et vous induirait en erreur. La validation croisée réduit ce risque d'erreur en utilisant pleinement et de façon aléatoire les données disponibles à des fins d'entraînement et de validation.

La validation croisée k-fold divise aléatoirement un jeu de données d'entraînement en ksous-échantillons, ou blocs, de taille égale. Ensuite, les modèles sont entraînés sur k-1 blocs et testés par rapport au bloc restant, qui sert de jeu de données de validation. Le processus est répété k fois, en utilisant chaque bloc une fois comme jeu de données de validation. Autopilot applique la méthode de validation croisée aux jeux de données comportant 50 000 instances d'entraînement maximum. Il utilise une valeur k de 5 sur les algorithmes candidats utilisés pour modéliser le jeu de données. Plusieurs modèles sont entraînés sur différentes divisions et les modèles sont stockés séparément. Lorsque la procédure d'entraînement est terminée, la moyenne des métriques de validation de chacun des modèles est calculée pour produire une seule métrique d'estimation. Lorsque Autopilot applique la validation croisée à des jeux de données plus petits, le temps d'entraînement augmente en moyenne de 20 %. Si votre jeu de données est compliqué, le temps d'entraînement peut augmenter de manière encore plus significative. Pour les prédictions, Autopilot utilise l'ensemble des modèles de validation croisée de l'essai ayant la meilleure métrique de validation.

Les métriques d'entraînement et de validation de chaque bloc sont disponibles dans vos CloudWatch Logs /aws/sagemaker/TrainingJobs. Pour de plus amples informations sur CloudWatch Logs, veuillez consulter Journaliser les événements Amazon SageMaker à l'aide d'Amazon CloudWatch. La métrique de validation des modèles entraînés par Autopilot est présentée comme la métrique objective dans le leaderboard du modèle. Sauf indication contraire, Autopilot utilise la métrique de validation par défaut pour chaque type de problème qu'il gère. Pour de plus amples informations sur les métriques utilisées par Autopilot, veuillez consulter AutoMLJobObjective. Vous pouvez déployer des modèles Autopilot créés à l'aide de la validation croisée comme vous le feriez pour un autre modèle Autopilot ou SageMaker.