Algorithme des machines de factorisation - Amazon SageMaker

Algorithme des machines de factorisation

L'algorithme Factorization Machines est un algorithme d'apprentissage supervisé polyvalent que vous pouvez utiliser pour les tâches de régression et de classification. Il s'agit d'une extension d'un modèle linéaire, conçue pour capturer, de façon économique, les interactions entre les caractéristiques dans des ensembles de données fragmentés haute dimension. Par exemple, dans un système de prédiction de clics, le modèle Factorization Machines peut capturer des schémas de taux de clic observés lorsque des publicités d'une certaine catégorie sont placées sur des pages d'une certaine catégorie. Les machines de factorisation constituent un bon choix pour des tâches traitant des ensembles de données fragmentés haute dimension, telles que la prévision de clics et la recommandation d'éléments.

Note

L'implémentation Amazon SageMaker de l'algorithme Factorization Machines considère uniquement les interactions par paire (deuxième ordre) entre les fonctions.

Interface d'entrée/de sortie pour l'algorithme des machines de factorisation

L'algorithme Factorization Machines peut être exécuté en mode classification binaire ou en mode régression. Dans chaque mode, un ensemble de données peut être fourni pour le canal de testen même temps que l'ensemble de données du canal de formation. La notation dépend du mode utilisé. En mode régression, l'ensemble de données de test est noté à l'aide de la racine carrée de l'erreur quadratique moyenne (RMSE, Root Mean Square Error). En mode classification binaire, l'ensemble de données de test est noté à l'aide de Binary Cross Entropy (Log Loss), Accuracy (au seuil = 0.5) et F1 Score (au seuil = 0.5).

Pour l'entraînement, l'algorithme Factorization Machines prend uniquement en charge le format recordIO-protobuf avec des tenseurs Float32. Son cas d'utilisation portant essentiellement sur les données fragmentées, CSV n'est pas un bon candidat. En modes File (Fichier) et Pipe (Tube), la formation est prise en charge pour le format recordIO-wrapped protobuf.

Pour les inférences, l'algorithme Factorization Machines prend en charge les formats application/json et x-recordio-protobuf.

  • Pour le problème de classification binaire, l'algorithme prévoit un score et une étiquette. L'étiquette est un nombre et peut être 0 ou 1. Le score est un nombre qui indique à quel point l'algorithme estime que l'étiquette doit être 1. L'algorithme calcule un score d'abord, puis déduit l'étiquette à partir de la valeur de score. Si le score est supérieur ou égal à 0,5, l'étiquette est 1.

  • Pour le problème de régression, un score est renvoyé et il correspond à la valeur prévue. Par exemple, si les machines de factorisation sont utilisées pour prédire l'évaluation d'un film, le score correspond à la valeur d'évaluation prévue.

Consultez Exemples de blocs-notes de machines de factorisation pour plus de détails sur les formats de fichier de formation et d'inférence.

Recommandation pour l'instance EC2 relative à l'algorithme des machines de factorisation

L'algorithme Factorization Machines d'Amazon SageMaker est hautement évolutif et peut procéder à des entraînements sur des instances distribuées. Nous recommandons une formation et une inférence avec des instances à CPU pour les ensembles de données fragmentés et denses. Dans certaines circonstances, la formation avec un ou plusieurs GPU sur des données denses peut fournir certains avantages. La formation avec GPU est disponible uniquement sur des données denses. Utilisez des instances d'UC pour les données fragmentées.

Exemples de blocs-notes de machines de factorisation

Pour obtenir un exemple de bloc-notes utilisant l'algorithme Factorization Machines de SageMaker afin d'analyser les images de chiffres manuscrits (de zéro à neuf) dans le jeu de données MNIST, consultez l'article relatif à la présentation de Factorization Machines avec MNIST. Pour savoir comment créer des instances de blocs-notes Jupyter et y accéder afin de les utiliser pour exécuter l'exemple dans SageMaker, consultez Utilisation des instances de bloc-notes Amazon SageMaker. Une fois que vous avez créé une instance de bloc-notes et que vous l'avez ouverte, sélectionnez l'onglet SageMaker Examples (Exemples SageMaker) pour afficher la liste de tous les exemples SageMaker. Vous trouverez des exemples de blocs-notes qui utilisent l'algorithme Factorization Machines dans la section relative à la présentation des algorithmes Amazon. Pour ouvrir un bloc-notes, cliquez sur son onglet Use (Utiliser) et sélectionnez Create copy (Créer une copie).