Qu'est-ce qu'une classe SVM et comment fonctionne-t-elle?

14

J'utilisais une classe SVM , implémentée dans scikit-learn, pour mon travail de recherche. Mais je n'ai pas une bonne compréhension de cela.

Quelqu'un peut-il donner une explication simple et bonne d' une classe SVM ?

Nilani Algiriyage
la source

Réponses:

18

Le problème résolu par One Class SVM, comme l'indique la documentation, est la détection de nouveauté . Le document original décrivant comment utiliser les SVM pour cette tâche est « Support Vector Method for Novelty Detection ».

L'idée de la détection de nouveauté est de détecter des événements rares, c'est-à-dire des événements qui se produisent rarement, et donc dont vous avez très peu d'échantillons. Le problème est alors que la façon habituelle de former un classificateur ne fonctionnera pas.

Alors, comment décidez-vous ce qu'est un nouveau modèle?. De nombreuses approches sont basées sur l'estimation de la densité de probabilité des données. La nouveauté correspond aux échantillons où la densité de probabilité est "très faible". Le niveau bas dépend de l'application.

Or, les SVM sont des méthodes à marge maximale, c'est-à-dire qu'elles ne modélisent pas une distribution de probabilité. Ici, l'idée est de trouver une fonction positive pour les régions à forte densité de points et négative pour les petites densités.

Les détails granuleux sont donnés dans le document. ;) Si vous avez vraiment l'intention de parcourir le document, assurez-vous d'abord de comprendre les paramètres de l'algorithme SVM de base pour la classification. Cela facilitera la compréhension des limites et de la motivation de l'algorithme.

jpmuc
la source
Le papier que vous avez lié au papier d'origine est-il pour les SVM à une classe?
user3731622
oui, mais pourquoi est-ce important?
jpmuc
J'essayais juste de retrouver les origines du SVM à une classe.
user3731622
0

Vous pouvez utiliser One Class SVM pour certains pipelines pour Active Learning de manière semi-supervisée.

Ex: comme SVM traite d'une méthode de marge maximale comme décrit précédemment, vous pouvez considérer ces régions de marge comme limites pour une classe spécifique et effectuer le réétiquetage.

Flavio
la source
Le message manque de détails, vous déclarez qu'il est utilisé dans des pipelines d'apprentissage actif, mais il n'est pas clair pourquoi ni comment. Quel rôle joue-t-il et pourquoi est-il pertinent pour cette utilisation?
ReneBt