Confiance SVM selon la distance de l'hyperline

9

Pour un classifieur multi-classes probabiliste, nous pouvons obtenir des probabilités d'appartenance d'un nouveau point à chaque classe ; dans le cas de 3 classes supposons que nous obtenons , donc la classe la plus probable de x est . Supposons maintenant que nous ayons un svm multi-classes où nous pouvons obtenir des scores d'appartenance de à chaque classe (selon les distances des hyperlignes); dans le cas de 3 classes, supposons que nous obtenons , Comment est dans ce cas la première, deuxième et troisième classe la plus probable de (sans les convertir scores en probabilités)? Habituellement, j'obtiens des valeurs positives et négatives comme par exempleXyjeP(yune|X)>P(yb|X)>P(yc|X)yuneXScore(yune|X),Score(yb|X),Score(yc|X)XScore1=-8622,Score2=5233,Score3=-665

shn
la source

Réponses:

11

Il est en fait possible d'obtenir des probabilités d'une machine à vecteurs de support, ce qui pourrait être plus utile et interprétable qu'une valeur de «score» arbitraire. Pour ce faire, il existe plusieurs approches: Platt (1999) est un bon point de départ .

La plupart des packages / bibliothèques SVM implémentent quelque chose comme ceci (par exemple, l'option -b 1 fait que LibSVM produit des probabilités). Si vous voulez lancer le vôtre, vous devez savoir qu'il existe des problèmes numériques potentiels, résumés dans cette note par Lin, Lin et Weng (2007) . Ils fournissent également un pseudo-code, qui pourrait également être utile.

Modifier en réponse à votre commentaire : Je ne comprends pas pourquoi vous préférez un score à une probabilité, d'autant plus que vous pouvez obtenir la probabilité avec un effort supplémentaire minimal. Cela dit, la plupart des calculs de probabilité semblent provenir de la distance entre le point et l'hyperplan. Si vous regardez la section 2 du document Platt, il passe en revue la motivation et dit:

Les densités conditionnelles de classe entre les marges sont apparemment exponentielles. La règle de Bayes sur deux exponentielles suggère d'utiliser une forme paramétrique d'un sigmoïde:

P(y=1|F)=11+exp(UNEF+B)
Ce modèle sigmoïde équivaut à supposer que la sortie du SVM est proportionnelle à la probabilité logarithmique d'un exemple d'entraînement positif. [MK:F a été défini ailleurs comme étant la sortie SVM brute].

Le reste de la section sur la méthode décrit comment ajuster le UNE et Bparamètres de ce sigmoïde. Dans l'introduction (sections 1.0 et 1.1), Platt passe en revue quelques autres approches de Vapnik, Wahba et Hasti & Tibshirani. Ces méthodes utilisent également quelque chose comme la distance à l'hyperplan, manipulée de différentes manières. Tout cela semble suggérer que la distance à l'hyperplan contient des informations utiles, donc je suppose que vous pouvez utiliser la distance brute comme une mesure de confiance (non linéaire).

Matt Krause
la source
1
Eh bien, je sais qu'il existe des méthodes pour convertir les scores (distances de la frontière) en probabilités et que cela pourrait être plus interprétable, cependant, comme cela est clairement indiqué dans la question: je veux utiliser ces scores "sans convertir ces scores en probabilités ". Ma question est donc: est-il sensé de prendre les valeurs absolues de tous ces scores et de dire que plus la valeur absolue d'un score est élevée|sje| le plus probable X est de classe je? Ou dois-je comparer les scores sans les valeurs absolues? ou ... ?
shn
0

Si l'ensemble de données de formation est raisonnablement équilibré et possède des caractéristiques standardisées, je prendrai les scores SVM comme mesure de confiance dans l'appartenance aux classes respectives. Les méthodes dites d'étalonnage qui convertissent les scores en quantités de probabilité, telles que la mise à l'échelle de Platt, utilisent généralement des fonctions monotones (comme la fonction logistique) pour mapper les scores en probabilités. Par conséquent, si vous souhaitez uniquement comparer les niveaux de confiance d'un modèle SVM appris dans un point de données de test particulier appartenant à des classes possibles, vous pouvez simplement comparer les valeurs de score (et non leurs valeurs absolues) étant donné que l'ensemble de données d'apprentissage à partir duquel le modèle est appris est assez équilibré et n'a pas de bizarrerie inhabituelle.

Reza
la source
Je ne comprends pas cette réponse.
Michael R. Chernick
Je l'ai édité pour clarifier mon propos.
Reza