Interpretando a distância do hiperplano no SVM

14

Tenho algumas dúvidas em entender os SVMs intuitivamente. Suponha que treinamos um modelo SVM para classificação usando alguma ferramenta padrão como SVMLight ou LibSVM.

  1. Quando usamos esse modelo para prever dados de teste, o modelo gera um arquivo com valores "alfa" para cada ponto de teste. Se o valor alfa for positivo, o ponto de teste pertence à Classe 1, caso contrário, ele pertence à Classe 2. Agora, podemos dizer que um ponto de teste com maior valor "alfa" pertence à classe correspondente com probabilidade "maior"?

  2. Semelhante à primeira pergunta, quando temos um SVM treinado. Os SV estão muito perto do hiperplano. Então, isso significa que os SVs pertencem a essa classe com alta probabilidade? Podemos relacionar a probabilidade de um ponto pertencente a uma classe com sua distância do "hiperplano"? O valor "alfa" representa a distância do "hiperplano"?

Obrigado pela sua contribuição.

Amit
fonte
Eu acho que a resposta é "não", mas eu não sou suficiente em SVMs para lhe dar uma resposta completa. Minha resposta é: quando você está no lado leste do Muro de Berlim, bem, você está do lado errado, não importa a que distância esteja dele.
Arthur
O scikits.learn tem predict_proba para SVC e linear_model.SGDClassifier, acredito apenas para classificadores binários; Eu não usei embora.
Denis

Respostas:

18

w 2 2 w p ( w | ( y 1 , x 1 ) , . . . , ( Y m , x m ) ) α 1 / Z exp ( - w 2 2 ) Πiyiw,xib22w22ww Zp(w|(y1,x1),...,(ym,xm))1/Zexp(w22)iexp(yiw,xib22)wZcertifica-se de que normaliza). Você obtém a probabilidade gaussiana da função de perda, lançando seu sinal e exponenciando-o. No entanto, se você fizer isso com a função de perda do SVM, a probabilidade de log não é um modelo probabilístico normalizável.

Existem tentativas de transformar o SVM em um. O mais notável, que eu acho que também foi implementado no libsvm, é:

John Platt: Resultados probabilísticos para máquinas de vetores de suporte e comparação com métodos de verossimilhança regularizados (NIPS 1999): http://www.cs.colorado.edu/~mozer/Teaching/syllabi/6622/papers/Platt1999.pdf

Para responder sua pergunta de maneira mais específica: a idéia nos SVMs é que, quanto mais um vetor de teste está no hiperplano, mais ele pertence a uma determinada classe (exceto quando está do lado errado, é claro). Nesse sentido, os vetores de suporte não pertencem à classe com alta probabilidade porque eles são os mais próximos ou estão do lado errado do hiperplano. O valor que você obtém da libsvm não tem nada a ver com na função de decisão. É antes a saída da função de decisão (e, portanto, deve ser chamada adequadamente ). Como ondeααiSVαik(x,xi)+byy=iSVαik(x,xi)+b=w,ϕ(x)H+bw mora no espaço Hilbert do kernel em reprodução, é proporcional à distância sinalizada ao hiperplano. Seria se você dividisse pela norma , que em termos de kernel é .ywwH=i,jSVαiαjk(xi,xj)

fabee
fonte
thnx pela sua explicação ... vai ler o jornal
Amit