Machine à vecteurs de support à une classe

Important

Le support de Machine Learning Studio (classique) prend fin le 31 août 2024. Nous vous recommandons de passer à Azure Machine Learning avant cette date.

À partir du 1er décembre 2021, vous ne pourrez plus créer de nouvelles ressources Machine Learning Studio (classique). Jusqu’au 31 août 2024, vous pouvez continuer à utiliser les ressources Machine Learning Studio (classique) existantes.

La documentation ML Studio (classique) est en cours de retrait et ne sera probablement plus mise à jour.

Crée un modèle SVM à une classe pour la détection d'anomalies

Catégorie : détection des anomalies

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 One-Class Support Vector Model dans Machine Learning Studio (classic) pour créer un modèle de détection d’anomalie.

Ce module est particulièrement utile dans les scénarios où vous avez beaucoup de données « normales » et non pas de nombreux cas des anomalies que vous essayez de détecter. Par exemple, si vous devez détecter des transactions frauduleuses, vous pouvez ne pas avoir de nombreux exemples de fraudes que vous pouvez utiliser pour effectuer l’apprentissage d’un modèle de classification classique, mais vous pouvez avoir de nombreux exemples de bonnes transactions.

Le module One-Class support vector Model Model permet de créer le modèle, puis d’effectuer l’apprentissage du modèle à l’aide du modèle de détection d’anomalies de formation. Le jeu de données que vous utilisez pour l’apprentissage peut contenir la totalité ou presque des cas normaux.

Vous pouvez ensuite appliquer des mesures différentes pour identifier les anomalies potentielles. Par exemple, vous pouvez utiliser un jeu de données volumineux de bonnes transactions pour identifier les cas qui représentent éventuellement des transactions frauduleuses.

En savoir plus sur les SVM à une classe

Les machines à vecteurs de support (SVM) sont des modèles d'apprentissage supervisé qui analysent les données et reconnaissent les schémas, et qui peuvent être utilisés pour les tâches de classification et de régression.

En règle générale, l’algorithme SVM reçoit un ensemble d’exemples d’apprentissage étiquetés comme appartenant à l’une des deux classes. Un modèle SVM est basé sur la Division des points de l’exemple de formation en catégories distinctes en fonction de l’espace le plus grand possible, tout en sanctionneant les échantillons de formation qui se trouvent sur le mauvais côté de l’écart. Le modèle SVM effectue ensuite des prédictions en assignant des points à un côté de l’intervalle ou à l’autre.

Parfois, le suréchantillonnage est utilisé pour répliquer les exemples existants afin que vous puissiez créer un modèle à deux classes, mais il est impossible de prédire tous les nouveaux modèles de fraude ou de défaillance du système à partir d’exemples limités. De plus, la collecte d'exemples, même en nombre limité, peut s'avérer coûteuse.

Par conséquent, dans une classe SVM à une classe, le modèle de vecteur de prise en charge est formé sur les données qui n’ont qu’une seule classe, qui est la classe « normal ». Il déduit les propriétés des cas normaux et, à partir de ces propriétés, il peut prédire quels exemples sont à la différence des exemples normaux. Cela est utile pour la détection d’anomalies, car les manque d’exemples d’apprentissage définissent les anomalies : autrement dit, il existe généralement très peu d’exemples d’intrusion réseau, de fraude ou d’autres comportements anormaux.

Pour plus d’informations, y compris des liens vers des recherches de base, consultez la section Notes techniques .

Notes

Le module One-Class Support Vector Model module crée un modèle SVM à noyau, ce qui signifie qu'il n'est pas très évolutif. Si le temps d’apprentissage est limité ou si vous avez trop de données, vous pouvez utiliser d’autres méthodes pour détecter les anomalies, telles que la détection d’anomalie basée sur PCA.

Configuration de One-Class SVM

  1. Ajoutez le module One-Class support vector Model à votre expérience dans Studio (Classic). vous pouvez trouver le module sous Machine Learning-initializedans la catégorie détection d’anomalie .

  2. Double-cliquez sur le module One-Class support vector Model pour ouvrir le volet Propriétés .

  3. Pour créer le mode formateur, sélectionnez une option qui indique la façon dont le modèle doit être formé :

    • Single Parameter (Paramètre unique) : sélectionnez cette option si vous savez comment vous voulez configurer le modèle, et fournissez un ensemble spécifique de valeurs en tant qu’arguments.

    • Plage de paramètres: utilisez cette option si vous n’êtes pas sûr des meilleurs paramètres et que vous souhaitez effectuer un balayage de paramètre pour trouver la configuration optimale.

  4. η: tapez une valeur qui représente la limite supérieure de la fraction de valeurs hors norme. Ce paramètre correspond à la propriété nu décrite dans ce document. La propriété nu vous permet de contrôler le compromis entre les valeurs hors norme et les cas normaux.

  5. ε (Epsilon) : tapez une valeur à utiliser comme tolérance d’arrêt. La tolérance d’arrêt, affecte le nombre d’itérations utilisées lors de l’optimisation du modèle, et dépend de la valeur du critère d’arrêt. Lorsque la valeur est dépassée, le formateur arrête l’itération sur une solution.

  6. Connecter un jeu de données d’apprentissage à l’un des modules de formation :

    Notes

    Si vous transmettez une plage de paramètres pour former un modèle de détection d’anomalie, elle utilise uniquement la première valeur de la liste de plages de paramètres.

    Si vous transmettez un ensemble unique de valeurs de paramètre au module Optimiser les hyperparamètres du modèle, quand 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 valeur unique pour un paramètre, cette valeur unique est utilisée tout au long du balayage, même si d’autres paramètres changent sur une plage de valeurs.

  7. Exécutez l’expérience.

Résultats

Le module retourne un modèle de détection d’anomalie formé. Vous pouvez enregistrer le modèle dans votre espace de travail, ou vous pouvez connecter le module noter le modèle et utiliser le modèle formé pour détecter les anomalies possibles.

Si vous avez formé le modèle à l’aide d’un balayage de paramètre, prenez note des paramètres de paramètre optimaux à utiliser lors de la configuration d’un modèle pour une utilisation en production.

Exemples

Pour obtenir des exemples d’utilisation de ce module dans la détection d’anomalies, consultez la Azure ai Gallery:

  • Détection d’anomalie : risque de crédit: cet exemple montre comment rechercher des valeurs hors norme dans les données, à l’aide d’un balayage de paramètre pour rechercher le modèle optimal. Il applique ensuite ce modèle aux nouvelles données pour identifier les transactions risquées susceptibles de représenter des fraudes, en comparant deux modèles de détection d’anomalies différents.

Notes techniques

Les prédictions de la SVM à une classe sont des scores non étalonnés qui peuvent être éventuellement illimités. comme l’illustre l’exemple de Cortana Intelligence Gallery, veillez à normaliser les scores si vous comparez des modèles basés sur des algorithmes différents.

Recherche

Cette implémentation encapsule la bibliothèque pour les machines à vecteurs de support nommées libsvm. La théorie générale sur laquelle libsvm repose, et l’approche pour les machines à vecteurs de support à une classe, est décrite dans ces documents par B. Schӧlkopf et al.

Paramètres du module

Nom Type Plage Facultatif Description Default
Créer le mode de formateur Créer le mode de formateur List:Single Parameter|Parameter Range Obligatoire Paramètre unique Spécifiez les options de l'apprenant.

Utilisez l'option SingleParameter pour spécifier manuellement toutes les valeurs.

Utilisez l'option ParameterRange pour parcourir les paramètres ajustables.
nu Float >=double.Epsilon mode:Single Parameter 0.1 Ce paramètre (représenté par la lettre grecque nu) détermine le compromis entre la fraction de valeurs hors norme et le nombre de vecteurs de support.
epsilon Float >=double.Epsilon mode:Single Parameter 0,001 Spécifie la tolérance d'arrêt.
psnu ParameterRangeSettings [0,001 ; 1,0] mode:Parameter Range 0,001 ; 0,01 ; 0,1 Spécifie la plage pour le compromis entre la fraction de valeurs hors norme et le nombre de vecteurs de support.
psEpsilon ParameterRangeSettings [1e-6;1.0] mode:Parameter Range 0,001 ; 0,01 ; 0,1 Spécifie la plage pour la tolérance d'arrêt.

Sorties

Nom Type Description
Untrained model (Modèle non entraîné) Interface ILearner Modèle de détection d'anomalies non formé

Voir aussi

Classification
Former le modèle de détection des anomalies