Por favor, esclareça-me com o algoritmo SMO de Platt (para SVM)

7

De A_Roadmap_to_SVM_SMO.pdf , página 12.

um gato ocupado
(fonte: postimg.org )

Suponha que eu esteja usando o kernel linear, como poderei obter o primeiro e o segundo produto interno?

Meu palpite, produto interno do datapoint com datapoint j rotulado classe A para o primeiro produto interno da equação e produto interno do datapoint j com datapoint rotulado classe B para o segundo produto interno?

Vincent Benedict Victor
fonte

Respostas:

3

Sua compreensão está correta. O ponto é que a equação (8) não é exatamente uma equação, mas um sistema de equações, uma para cada índice dos vetores de suporte (aqueles para cada .

yi(<w,ϕi>+b)1=0
i0<αi<C

O ponto é que você não pode calcular durante a otimização do problema duplo, pois isso não importa para otimização, você deve voltar e calcular de todas as outras equações que você possui (uma maneira possível é (8)).bb

A sugestão de Vapnick é não usar apenas uma dessas equações, mas duas delas, especificamente um vetor de suporte para uma observação negativa e outro para uma observação positiva. Em outras palavras, dois vetores de suporte que possuem sinais opostos para .yi

Vamos nomear o índice de um vetor de suporte e o índice de um vetor de suporte do lado oposto, conforme você seleciona no sistema de equações em (8) apenas dois deles. Avalie os dois e faça a média.AB

De: : Onde e são duas estimativas, a média é

yA(<w,ϕA>+b)=1
yB(<w,ϕB>+b)=1
bA=1yA<w,ϕA>
bB=1yB<w,ϕB>
bAbB
b=(bA+bB)/2=12(<w,ϕA>+<w,ϕB>)=12i=1nyiαi(<ϕ(xi),ϕ(xA)>+<ϕ(xi),ϕ(xB)>)
rapaio
fonte