Machine à vecteurs de support à deux classes
Crée un modèle de classification binaire à l'aide de l'algorithme de machine à vecteurs de support (SVM, Support Vector Machine)
catégorie : Machine Learning/initialiser le modèle/la Classification
Notes
s’applique à: Machine Learning Studio (classic) uniquement
Des modules par glisser-déposer similaires sont disponibles dans Concepteur Azure Machine Learning.
Vue d’ensemble du module
cet article explique comment utiliser le module Two-Class Support vector machine dans Machine Learning Studio (classic) pour créer un modèle basé sur l’algorithme de machine à vecteurs de support.
Les machines à vecteurs de support (SVM, support vector machines) représentent une classe bien étudiée de méthodes d’apprentissage supervisées. Cette implémentation particulière est adaptée à la prédiction de deux résultats possibles en fonction de variables continues ou catégorielles.
Après avoir défini les paramètres du modèle, formez le modèle à l’aide de l’un des modules de formationet fournissez un jeu de données avec balises qui comprend une colonne d’étiquette ou de résultat.
En savoir plus sur les machines à vecteurs de support
Les machines à vecteurs de support font partie des premiers algorithmes d’apprentissage automatique, et les modèles SVM ont été utilisés dans de nombreuses applications, de la récupération d’informations à la classification de texte et d’images. Les SVM peuvent être utilisées pour les tâches de classification et de régression.
Ce modèle de SVM est un modèle d’apprentissage supervisé qui requiert des données étiquetées. Dans le cadre du processus d’apprentissage, l’algorithme analyse les données d’entrée et reconnaît des modèles dans un espace de caractéristiques multidimensionnel appelé hyperplan. Tous les exemples d’entrée sont représentés sous forme de points dans cet espace et sont mappés aux catégories de sortie de sorte que les catégories soient séparées par un écart aussi large et clair que possible.
Pour la prédiction, l’algorithme SVM attribue les nouveaux exemples dans une catégorie ou dans l’autre en les mappant au même espace.
Comment configurer Two-Class machine à vecteurs de support
Pour ce type de modèle, il est recommandé de normaliser le jeu de données avant de l’utiliser pour effectuer l’apprentissage du classifieur.
Ajoutez le module Two-Class support vector machine à votre expérience dans Studio (Classic).
Spécifiez le mode d’apprentissage du modèle en définissant l’option Créer un mode d’apprentissage.
Single Parameter (Paramètre unique) : si vous savez comment vous voulez configurer le modèle, vous pouvez fournir un ensemble spécifique de valeurs comme arguments.
Plage de paramètres: Si vous n’êtes pas sûr des meilleurs paramètres, vous pouvez trouver les paramètres optimaux en spécifiant plusieurs valeurs et en utilisant le module régler le modèle hyperparamètres pour trouver la configuration optimale. L’instructeur effectue une itération sur plusieurs combinaisons des paramètres et détermine la combinaison des valeurs qui produit le meilleur modèle.
Pour Nombre d’itérations, tapez un nombre indiquant le nombre d’itérations utilisées lors de la génération du modèle.
Ce paramètre peut être utilisé pour contrôler le compromis entre la précision et la vitesse de formation.
Pour Lambda, tapez une valeur à utiliser en tant que poids de la régularisation L1.
Ce coefficient de régularisation permet d’ajuster le modèle. Des valeurs plus élevées pénalisent les modèles plus complexes.
Sélectionnez l’option Normalize features (Normaliser les caractéristiques) si vous souhaitez normaliser les caractéristiques avant la formation.
Si vous appliquez la normalisation, avant l’apprentissage, les points de données sont centrés sur la moyenne et mis à l’échelle de façon à présenter une unité d’écart type.
Sélectionnez l’option Project to the unit sphere (Projeter sur la sphère d’unité) pour normaliser les coefficients.
La projection des valeurs vers un espace d’unité signifie qu’avant l’apprentissage, les points de données sont centrés sur 0 et mis à l’échelle de façon à présenter une unité d’écart type.
Sous Random number seed (Valeur de départ aléatoire), tapez une valeur entière à utiliser comme valeur de départ si vous souhaitez garantir la reproductibilité entre les exécutions. Sinon, une valeur d’horloge système est utilisée comme valeur de départ, ce qui peut entraîner des résultats légèrement différents entre les exécutions.
Sélectionnez l’option autoriser une catégorie inconnuepour créer un groupe de valeurs inconnues dans les jeux d’apprentissage ou de validation. Dans ce cas, le modèle peut être moins précis pour les valeurs connues, mais il peut fournir de meilleures prédictions pour les nouvelles valeurs (inconnues).
Si vous la désélectionnez, le modèle ne peut accepter que les valeurs qui sont contenues dans les données d'apprentissage.
Connecter un jeu de données étiqueté et l’un des modules de formation:
Si vous définissez Créer un mode d’apprentissage sur Paramètre unique, utilisez le module Entraîner le du modèle.
Si vous affectez à créer le mode formateur la valeur plage de paramètres, utilisez les hyperparamètres du modèle d’optimisation.
Notes
Si vous transmettez une plage de paramètres pour former le modèle, elle utilise uniquement la première valeur de la liste des plages de paramètres.
Si vous transmettez un ensemble unique de valeurs de paramètre au module paramétrer les hyperparamètres de modèle , lorsqu’il attend une plage de paramètres pour chaque paramètre, il ignore les valeurs et utilise les valeurs par défaut pour l’apprenant.
Si vous sélectionnez l’option plage de paramètres et que vous entrez une seule valeur pour n’importe quel paramètre, cette valeur unique que vous avez spécifiée est utilisée tout au long du balayage, même si d’autres paramètres changent sur une plage de valeurs.
Exécutez l’expérience.
Résultats
Une fois l’apprentissage terminé :
Pour afficher un résumé des paramètres du modèle, ainsi que les poids des fonctionnalités acquises à partir de la formation,, cliquez avec le bouton droit sur la sortie du modèle de formation ou Réglez les hyperparamètres de modèle, puis sélectionnez visualiser.
Pour utiliser les modèles formés afin d’effectuer des prédictions, connectez le modèle formé au module Score Model (Noter le modèle).
Pour effectuer une validation croisée par rapport à un jeu de données étiqueté, connectez le modèle non formé et le jeu de données pour la validation croisée du modèle.
Exemples
Pour obtenir des exemples d’utilisation de cet algorithme d’apprentissage, consultez la Azure ai Gallery:
Marketing direct: utilise un modèle SVM pour classer les clients par appétence.
Prédiction du risque de crédit: utilise SVM pour évaluer le risque de crédit.
Comparer les classifieurs multiclasses: utilise un modèle SVM pour la reconnaissance de l’écriture manuscrite.
Notes techniques
Cette section contient des détails, des conseils et des réponses aux questions fréquentes concernant l’implémentation.
Conseils d’utilisation
Pour ce type de modèle, il est recommandé de normaliser le jeu de données avant de l’utiliser pour effectuer l’apprentissage du classifieur.
Bien que la recherche récente ait développé des algorithmes qui ont une précision supérieure, cet algorithme peut fonctionner correctement sur les ensembles de données simples quand vous privilégiez la vitesse sur la précision. Si le module Two-Class Support Vector Model ne fournit pas les résultats escomptés, essayez l'une de ces méthodes de classification :
Paramètres du module
Nom | Plage | Type | Default | Description |
---|---|---|---|---|
Nombre d'itérations | >=1 | Integer | 1 | Nombre d'itérations |
Lambda | >=double.Epsilon | Float | 0.001 | Poids de la régularisation L1. Utiliser une valeur différente de zéro permet d'éviter le surajustement du modèle sur le jeu de données d'apprentissage. |
Normaliser les fonctionnalités | Quelconque | Boolean | True | La valeur True normalise les fonctionnalités. |
Projet pour la sphère d'unité | Quelconque | Boolean | False | La valeur True projette les fonctionnalités sur un cercle d'unité. |
Valeur initiale de nombre aléatoire | Quelconque | Integer | Valeur initiale pour le générateur de nombres aléatoires utilisé par le modèle. Laissez le champ vide pour utiliser la valeur par défaut. | |
Autoriser les niveaux catégoriels inconnus | Quelconque | Boolean | True | Si la valeur est true, un niveau supplémentaire est créé pour chaque colonne catégorielle. Tous les niveaux du jeu de données de test qui ne sont pas disponibles dans le jeu de données d'apprentissage sont mappés à ce niveau supplémentaire. |
Output
Nom | Type | Description |
---|---|---|
Untrained model (Modèle non entraîné) | Table de données | Modèle de classification binaire non formé. |