Interpretazione della distanza dall'iperpiano in SVM


14

Ho qualche dubbio nel comprendere intuitivamente gli SVM. Supponiamo di aver addestrato un modello SVM per la classificazione utilizzando alcuni strumenti standard come SVMLight o LibSVM.

  1. Quando utilizziamo questo modello per la previsione sui dati di test, il modello genera un file con valori "alfa" per ciascun punto di test. Se il valore alfa è positivo, il punto di prova appartiene alla classe 1, altrimenti appartiene alla classe 2. Ora, possiamo dire che un punto di prova con un valore "alfa" maggiore appartiene alla classe corrispondente con probabilità "maggiore"?

  2. Simile alla prima domanda, quando abbiamo un SVM addestrato. La SV si trova molto vicino all'iperpiano. Ciò significa che gli SV appartengono a quella classe con alta probabilità? Possiamo mettere in relazione la probabilità di un punto appartenente a una classe con la sua distanza dall '"iperpiano"? Il valore "alfa" rappresenta la distanza da "iperpiano"?

Grazie per il tuo contributo.


Penso che la risposta sia "no", ma non mi bastano gli SVM per darti una risposta completa. La mia risposta è che quando sei sul lato est del muro di Berlino, beh, sei dalla parte sbagliata, non importa quanto tu sia lontano da esso.
Arthur,

scikits.learn ha predict_proba per SVC e linear_model.SGDClassifier, credo solo per i classificatori binari; Non l'ho usato però.
denis,

Risposte:


18

Vorrei prima rispondere alla tua domanda in generale. SVM non è un modello probabilistico. Uno dei motivi è che non corrisponde a una probabilità normalizzabile. Per esempio in minimi quadrati regolarizzati si ha la funzione di perdita e il regolarizzatore w 2 2 . Il vettore di peso si ottiene minimizzando la somma dei due. Tuttavia, ciò equivale a massimizzare il log-posteriore di w dati i dati p ( w | ( yiyiw,xib22w22w , che si può vedere di essere prodotto di una probabilità gaussiana e un priore gaussiano su w ( Zp(w|(y1,x1),...,(ym,xm))1/Zexp(w22)iexp(yiw,xib22)wZsi assicura che si normalizzi). Puoi arrivare alla probabilità gaussiana dalla funzione di perdita lanciando il suo segno ed esponendolo. Tuttavia, se lo fai con la funzione di perdita dell'SVM, la probabilità di log non è un modello probabilistico normalizzabile.

Ci sono tentativi di trasformare SVM in uno. Il più notevole, che è - penso - implementato anche in libsvm è:

John Platt: risultati probabilistici per macchine vettoriali di supporto e confronto con i metodi di verosimiglianza regolarizzati (NIPS 1999): http://www.cs.colorado.edu/~mozer/Teaching/syllabi/6622/papers/Platt1999.pdf

ααiSVαik(x,xi)+b (e dovrebbe quindi essere correttamente chiamatoyy=iSVαik(x,xi)+b=w,ϕ(x)H+bwywwH=i,jSVαiαjk(xi,xj).


thnx for your explanation...will read the paper
Amit
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.