Come capire l'effetto di RBF SVM


17

Come posso capire cosa fa il kernel RBF in SVM? Voglio dire, capisco la matematica, ma c'è un modo per avere un'idea di quando questo kernel sarà utile?

I risultati di kNN sarebbero correlati a SVM / RBF poiché l'RBF contiene distanze vettoriali?

C'è un modo per avere un'idea del kernel polinomiale? So che più è alta la dimensione, più è piccola. Ma mi piacerebbe avere un'intuizione su cosa fanno i kernel piuttosto che provare tutti i kernel possibili e scegliere il maggior successo.

Risposte:


29

Puoi iniziare guardando una delle mie risposte qui:
Classificazione SVM non lineare con kernel RBF

In quella risposta, provo a spiegare cosa sta tentando di fare una funzione del kernel. Una volta capito cosa tenta di fare, come follow-up, puoi leggere la mia risposta a una domanda su Quora: https://www.quora.com/Machine-Learning/Why-does-the-RBF- radiale-base-funzione-kernel-map-in-infinito-dimensionale-spazio / risposta / Arun-Iyer-1

Riproduzione del contenuto della risposta su Quora, nel caso in cui non si disponga di un account Quora.

Domanda: Perché il kernel RBF (funzione base radiale) esegue la mappatura nello spazio dimensionale infinito? Risposta: Considera il kernel polinomiale di grado 2 definito da, dove x , y R 2 e x =

k(x,y)=(xTy)2
x,yR2 .X=(X1,X2),y=(y1,y2)

Pertanto, la funzione del kernel può essere scritta come, Ora, proviamo a trovare una mappa delle caratteristiche Φ in modotale che la funzione del kernel possa essere scritta come k(x,

k(x,y)=(x1y1+x2y2)2=x12y12+2x1x2y1y2+x22y22
Φ .k(x,y)=Φ(x)TΦ(y)

Considera la seguente mappa delle caratteristiche, Fondamentalmente, questa mappa caratteristica sta mappando i punti in R 2ai punti in R 3. Inoltre, nota cheΦ(x)TΦ(y)=x 2 1 y 2 1 +2x1x2y1y2+x 2 2 y 2 2 che è essenzialmente la nostra funzione del kernel.

Φ(x)=(x12,2x1x2,x22)
R2R3
Φ(x)TΦ(y)=x12y12+2x1x2y1y2+x22y22

Ciò significa che la nostra funzione del kernel sta effettivamente calcolando il prodotto interno / punto dei punti in . Cioè, sta implicitamente mappando i nostri punti da R 2 a R 3 .R3R2R3

Domanda di esercizio : Se i tuoi punti sono in , un kernel polinomiale di grado 2 lo mapperà implicitamente su uno spazio vettoriale F. Qual è la dimensione di questo spazio vettoriale F? Suggerimento: tutto ciò che ho fatto sopra è un indizio.Rn

Ora, venendo a RBF.

R2

k(x,y)=exp(xy2)=exp((x1y1)2(x2y2)2)
=exp(x12+2x1y1y12x22+2x2y2y22)
=exp(x2)exp(y2)exp(2xTy)
k(x,y)=exp(x2)exp(y2)n=0(2xTy)nn!
ΦR2

Domanda di esercizio : ottenere i primi pochi elementi vettoriali della mappa delle caratteristiche per RBF per il caso precedente?

Ora, dalla risposta sopra, possiamo concludere qualcosa:

  • Φ
  • ΦR2Φ(x)=(x12,2x1x2,x22)
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.