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.
Algorithme d'apprentissage linéaire
Les modèles linéaires sont des algorithmes d'apprentissage supervisés, utilisés pour résoudre les problèmes de régression ou de classification. Comme entrée, vous fournissez les exemples étiquetés du modèle (x, y). x est un vecteur hautement dimensionnel et y une étiquette numérique. Pour les problèmes de classification binaire, l'étiquette doit être 0 ou 1. Pour les problèmes de classification multiclasse, les étiquettes doivent être comprises entre 0 et num_classes
-1. Pour les problèmes de régression, y est un nombre réel. L'algorithme apprend une fonction linéaire ou, pour les problèmes de classification, une fonction de seuil linéaire, et mappe un vecteur x à une approximation de l'étiquette y.
L'algorithme d'apprentissage SageMaker linéaire d'Amazon fournit une solution aux problèmes de classification et de régression. Grâce à l' SageMaker algorithme, vous pouvez explorer simultanément différents objectifs d'entraînement et choisir la meilleure solution parmi un ensemble de validation. Vous pouvez également explorer un grand nombre de modèles et choisir le meilleur. Le meilleur modèle optimise l'une des actions suivantes :
-
Objectif continu, comme l'erreur quadratique moyenne, la perte d'entropie croisée, l'erreur absolue.
-
Objectifs indépendants adaptés à la classification, comme la mesure F1, la précision, le rappel ou l'exactitude.
Par comparaison avec les méthodes ne fournissant une solution qu'aux seuls objectifs continus, l'algorithme d'apprentissage linéaire SageMaker fournit une hausse significative de la vitesse par rapport aux techniques d'optimisation naïves des hyperparamètres. Il est également plus commode.
L'algorithme d'apprentissage linéaire requiert une matrice de données, avec les lignes correspondant aux observations et les colonnes aux dimensions des caractéristiques. Il nécessite également une colonne supplémentaire contenant les étiquettes qui correspondent aux points de données. Amazon SageMaker Linear Learner vous demande au minimum de spécifier les emplacements des données d'entrée et de sortie, ainsi que le type d'objectif (classification ou régression) comme arguments. La dimension de fonction est également requise. Pour de plus amples informations, veuillez consulter CreateTrainingJob
. Vous pouvez spécifier des paramètres supplémentaires dans le mappage de la chaîne HyperParameters
du corps de la demande. Ces paramètres contrôlent la procédure d'optimisation ou les spécificités de la fonction d'objective que vous entraînez. Par exemple, le nombre de périodes (epoch), la régularisation et le type de perte.
Si vous utilisez l'entraînement Spot géré, l'algorithme d'apprentissage linéaire prend en charge l'utilisation de points de contrôle pour prendre un instantané du statut du modèle.
Rubriques
- Interface d'entrée/sortie pour l'algorithme d'apprentissage linéaire
- Recommandations relatives aux instances EC2 pour l'algorithme d'apprentissage linéaire
- Exemples de blocs-notes d'apprentissage linéaire
- Fonctionnement de l'apprentissage linéaire
- Hyperparamètres de l'apprentissage linéaire
- Régler un modèle d'apprentissage linéaire
- Formats de réponse d'apprentissage linéaire
Interface d'entrée/sortie pour l'algorithme d'apprentissage linéaire
L'algorithme d'apprentissage SageMaker linéaire d'Amazon prend en charge trois canaux de données : le train, la validation (facultatif) et le test (facultatif). Si vous fournissez des données de validation, S3DataDistributionType
doit être FullyReplicated
. L'algorithme enregistre la perte de validation à chaque époque et utilise un échantillon des données de validation pour calibrer le meilleur modèle et le sélectionner. Si vous ne fournissez pas de données de validation, l'algorithme utilise un échantillon des données d'entraînement pour calibrer le modèle et le sélectionner. Si vous fournissez les données de test, les journaux de l'algorithme contiennent le score de test du modèle final.
Pour l'entraînement, l'algorithme d'apprentissage linéaire prend en charge les formats recordIO-wrapped protobuf
et CSV
. Pour le type d'entrée application/x-recordio-protobuf
, seuls les tenseurs Float32 sont pris en charge. Pour le type d'entrée text/csv
, la première colonne est supposée être l'étiquette, laquelle est la variable cible de la prédiction. Vous pouvez utiliser le mode File ou le mode Pipe pour entraîner les modèles d'apprentissage linéaire sur les données obéissant au format recordIO-wrapped-protobuf
ou au format CSV
.
Pour l'inférence, l'algorithme d'apprentissage linéaire prend en charge les formats application/json
, application/x-recordio-protobuf
et text/csv
. Lorsque vous effectuez des prédictions sur de nouvelles données, le format de la réponse dépend du type de modèle. Pour la régression (predictor_type='regressor'
), l'élément score
est la prédiction produite par le modèle. Pour la classification (predictor_type='binary_classifier'
ou predictor_type='multiclass_classifier'
), le modèle renvoie un score
et un predicted_label
. L'élément predicted_label
est la classe prédite par le modèle et score
mesure la puissance de prédiction.
-
Pour la classification binaire,
predicted_label
est0
ou1
, etscore
est un nombre à virgule flottante unique qui indique à quel point l'algorithme estime que l'étiquette doit être 1. -
Pour la classification multiclasse,
predicted_class
est un nombre entier de0
ànum_classes-1
, etscore
sera une liste comportant un nombre à virgule flottante par classe.
Pour interpréter score
dans les problèmes de classification, vous devez envisager la fonction de perte utilisée. Si la valeur de l'hyperparamètre loss
est logistic
pour la classification binaire ou softmax_loss
pour la classification multiclasse, score
peut être interprété comme la probabilité de la classe correspondante. Ce sont les valeurs de perte utilisées par l'apprenant linéaire lorsque la valeur de loss
est la valeur par défaut auto
. Mais si la perte est défini sur hinge_loss
, le score ne peut pas être interprété comme une probabilité. En effet, la perte correspond à un classificateur de vecteur de support, ce qui signifie qu'elle ne produit pas d'estimations de probabilité.
Pour de plus amples informations sur les formats de fichiers d'entrée et de sortie, veuillez consulter Formats de réponse d'apprentissage linéaire. Pour de plus amples informations sur les formats d'inférence, veuillez consulter Exemples de blocs-notes d'apprentissage linéaire.
Recommandations relatives aux instances EC2 pour l'algorithme d'apprentissage linéaire
L'algorithme d'apprentissage linéaire prend en charge les instances de CPU et de GPU pour l'entraînement et l'inférence. Pour les GPU, l'algorithme d'apprentissage linéaire prend en charge les familles de GPU P2, P3, G4dn et G5.
Pendant les tests, nous n'avons pas trouvé de preuve substantielle que les instances à plusieurs GPU seraient plus rapides que les instances à un seul GPU. Les résultats peuvent varier, en fonction de votre cas d'utilisation spécifique.
Exemples de blocs-notes d'apprentissage linéaire
Le tableau suivant présente une variété d'exemples de blocs-notes qui abordent différents cas d'utilisation de l'algorithme d'apprentissage SageMaker linéaire d'Amazon.
Titre du bloc-notes | Description |
---|---|
À l'aide du jeu de données MNIST, nous entraînons un classificateur binaire pour prédire un seul chiffre. |
|
À l'aide du jeu de données Covertype d'UCI, nous montrons comment entraîner un classificateur multiclasse. |
|
Comment créer un pipeline de Machine Learning (ML) pour inférence ? |
À l'aide d'un conteneur Scikit-learn, nous montrons comment créer un end-to-end pipeline ML. |
Pour obtenir des instructions sur la création et l'accès aux instances de bloc-notes Jupyter dans lesquelles vous pouvez exécuter l'exemple SageMaker, consultez. Instances Amazon SageMaker Notebook Après avoir créé une instance de bloc-notes et l'avoir ouverte, cliquez sur l'onglet SageMakerExemples pour afficher la liste de tous les SageMaker exemples. Les exemples de blocs-notes de modélisation de rubrique utilisant les algorithmes NTM se trouvent dans la section Introduction to Amazon algorithms (Présentation des algorithmes Amazon). Pour ouvrir un bloc-notes, choisissez son onglet Use (Utiliser), puis Create copy (Créer une copie).