Pourquoi est-il souhaitable d'avoir une séparabilité linéaire dans SVM?

8

entrez la description de l'image ici

En référence à l'image ci-dessus, un cercle peut clairement séparer les deux classes (image de gauche). Pourquoi alors tant de mal à le mapper à une fonction pour la rendre linéairement séparable (image de droite)?

Quelqu'un peut-il expliquer? Je ne pouvais vraiment rien trouver sur le web ou des conférences sur YouTube sur le pourquoi

vinita
la source

Réponses:

5

Eh bien, c'est l'idée derrière les machines à vecteurs de support! svm recherche un hyperplan qui sépare les classes (pourquoi le nom), et qui peut bien sûr être fait le plus efficacement si les points sont linéairement séparables (ce n'est pas un point profond, c'est un résumé de l'idée complète). Dans l'exemple que vous montrez, le point se trouve sur des anneaux annulaires concentriques, qui ne peuvent être séparés par aucun plan, mais en introduisant une nouvelle variable RADIUS --- distance du centre --- vous obtenez une séparation linéaire complète.

kjetil b halvorsen
la source
Vous voulez dire que la séparabilité linéaire des classes est meilleure / plus facile que la séparabilité non linéaire?
vinita
1
Les classes peuvent être séparées de manière non linéaire de façon infinie, donc oui, la séparation linéaire est clairement plus facile à gérer! Et, c'est l'idée complète derrière SVM, afin qu'ils fonctionnent mieux pour des données qui respectent les hypothèses derrière la méthode ne devrait pas être une surprise ...
kjetil b halvorsen
@kjetilbhalvorsen Je pense que l'idée clé derrière SVM est une astuce du noyau pour gagner du temps pour le calcul. Mais pas "en utilisant l'expansion de base polynomiale".
Haitao Du
1
@ hdx1101 - L'astuce du noyau rend beaucoup de choses réalisables, sur le plan informatique, mais c'est une aubaine pour l'implémentation, pas l'idée derrière la méthode elle-même.
jbowman
2

Pourquoi est-il souhaitable d'avoir une séparabilité linéaire dans SVM?

Les SVC sont intrinsèquement une technique linéaire. Ils trouvent des frontières linéaires séparant (le mieux possible) différentes classes. S'il n'y a pas de frontière linéaire naturelle pour le problème, les choix sont soit d'utiliser une technique différente, soit d'utiliser des SVC avec des entités transformées dans un espace où il y a effectivement une frontière linéaire.

En référence à l'image ci-dessus, un cercle peut clairement séparer les deux classes (image de gauche). Pourquoi alors tant de mal à le mapper à une fonction pour la rendre linéairement séparable (image de droite)?

Ceci est un exemple classique. Les classes de données sont séparées par un cercle, mais un SVC ne peut pas trouver directement des cercles. Cependant, si les données sont transformées à l'aide d'une fonction de base radiale , alors dans l'espace résultant, les classes sont séparées par une frontière linéaire.

Ami Tavory
la source
0

Ne répondez pas directement à votre question mais,

Il est important de garder à l'esprit la différence entre l'expansion de base et la méthode Kernel / SVM .

  • Nous pouvons «étendre les données» en utilisant l'expansion de base de différentes manières. Par exemple, l'expansion polynomiale, les splines, les séries de Fourier, etc. Ces extensions de base ont peu à voir avec SVM, astuce du noyau.

  • SVM avec noyau polynomial permet d'utiliser un "effet de calcul" pour effectuer une expansion de base polynomiale. Recherchez l'astuce du noyau pour plus de détails.

Haitao Du
la source
-1

Vous avez raison. Lorsque le champ indique "séparable linéairement", cela signifie que les données doivent être "différenciables": qu'il existe une fonction de filtrage que vous pouvez superposer sur l'ensemble de données pour créer deux ou plusieurs regroupements distincts (avec une petite tolérance aux erreurs).

C'est tout. Mais vous devez signaler aux universitaires de nettoyer leur langue.

Marcos
la source