Deixe que represente seu espaço de entrada, ou seja, o espaço onde seus pontos de dados residem. Considere uma função , de forma que ela aponte um ponto do espaço de entrada e mapeie-a para um ponto em . Agora, digamos que mapeamos todos os seus pontos de dados de para este novo espaço . Agora, se você tentar resolver o svm linear normal neste novo espaço vez de , você notará que todos os trabalhos anteriores simplesmente parecem iguais, exceto que todos os pontos são representados como Φ : X → F X F X F F X x i Φ ( x i ) x T y ⟨ Φ ( x ) , Φ ( y ) ⟩ F w *XΦ:X→FXFXFFXxEuΦ ( xEu)e, em vez de usar (produto em pontos), que é o produto interno natural para o espaço euclidiano, substituímos por que representa o produto interno natural no novo espaço . Então, no final, seu ficaria assim,xTy⟨ Φ ( x ) , Φ ( y) ⟩FW∗
W∗= ∑i ∈ SVhEuyEuΦ ( xEu)
e, portanto,
⟨ w∗, Φ ( x ) ⟩ = ∑i ∈ SVhEuyEu⟨ & Phi; ( xEu) , Φ ( x ) ⟩
Da mesma forma,
b∗= 1| SV|∑i ∈ SV( yEu- ∑j = 1N( hjyj⟨ & Phi; ( xj) , Φ ( xEu) ⟩ ) )
e sua regra de classificação se parece com: .cx= Sinal ( ⟨ w , Φ ( x ) ⟩ + b )
Até aí tudo bem, não há nada de novo, pois simplesmente aplicamos o SVM linear normal a apenas um espaço diferente. No entanto, a parte mágica é esta -
Digamos que exista uma função tal que . Em seguida, podemos substituir todos os produtos de pontos acima por . Tal é chamado de função do kernel. k ( x i , x j ) = ⟨ Φ ( x i ) , Φ ( x j ) ⟩ k ( x i , x j ) kk : X× X→ Rk ( xEu, xj) = ⟨ & Phi ( xEu) , Φ ( xj) ⟩k ( xEu, xj)k
Portanto, e parecem,
b * ⟨ w * , Φ ( x ) ⟩ = Σ i ∈ S V H i y i k ( x i , x ) b * = 1W∗b∗
⟨ w∗, Φ ( x ) ⟩ = ∑i ∈ SVhEuyEuk ( xEu, X )
b∗= 1| SV|∑i ∈ SV( yEu- ∑j = 1N( hjyjk ( xj, xEu) ) )
Para quais funções do kernel a substituição acima é válida? Bem, essa é uma pergunta um pouco envolvente e você pode querer usar material de leitura adequado para entender essas implicações. No entanto, apenas acrescentarei que o acima é válido para o RBF Kernel.
Para responder sua pergunta: "A situação é necessária para que todos os vetores de suporte sejam necessários para a classificação?" Sim. Como você pode notar acima, calculamos o produto interno de com vez de calcular explicitamente. Isso exige que retenhamos todos os vetores de suporte para classificação.x wWxW
Nota: Os na seção final aqui são solução para o dual do SVM no espaço e não . Isso significa que precisamos conhecer a função explicitamente? Felizmente não. Se você observar o objetivo duplo, ele consiste apenas em produto interno e, como temos que permite calcular diretamente o produto interno, não precisamos conhecer explicitamente. O objetivo duplo simplesmente se parece com:
F X Φ k Φ max ∑ i h i - ∑ i , j y i y j h i h j k ( x i , x j )hEuFXΦkΦ
max∑ihi−∑i,jyiyjhihjk(xi,xj)subject to : ∑iyihi=0,hi≥0