2015-03-27 26 views
5

Vorrei chiedere informazioni sul kernel RBF su SVM.Gradi in Regressione vettore supporto - Kernel RBF

Nella documentazione di sklearn qui: http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html#sklearn.svm.SVR si afferma che "il grado di funzione del kernel è significativo solo in poly, rbf, sigmoid".

Posso capire il significato di gradi su un kernel polinomiale, ma per quanto riguarda il kernel gaussiano (rbf)? Come posso vedere, il valore predefinito è 3 nella libreria sklearn. Ho anche eseguito un GridSearch con alcuni numeri che ho trovato, che hanno valutato 3 come il miglior valore. È davvero significativo o è solo un errore? E se sì, qualcuno può spiegare il significato e il valore di esso?

grazie in anticipo

risposta

1

Un kernel è solo una funzione di base con cui si sceglie di implementare il proprio modello. Una funzione polinomiale di grado 3 è ax^3+bx^2+cx+d. Puoi usare polinomi di grado superiore, tuttavia potresti ottenere un sovradattamento, il che significa che il tuo modello non generalizza bene, che è esattamente quello che vuoi. Esistono diverse tecniche per prevenire il sovradattamento.

Un kernel RBF è basato su funzioni di gaussin, qualcosa come un exp (-b x). Se non sai nulla di apprendimento automatico ti consiglio di usare questi. Generalmente si adattano meglio.

Se si desiderano ulteriori informazioni sull'apprendimento automatico, Ng's course su coursera è molto buono per i principianti.