Uso del parametro Gamma con macchine vettoriali di supporto


9

Quando si usa libsvm, il parametro è un parametro per la funzione kernel. Il suo valore predefinito è impostato comeγ

γ=1numero di funzionalità.

Esistono indicazioni teoriche per l'impostazione di questo parametro oltre ai metodi esistenti, ad esempio la ricerca della griglia?

Risposte:


8

Vorrei suggerire la seguente guida teorica. Quando si utilizza il kernel gaussiano RBF, la superficie di separazione sarà basata su una combinazione di superfici a campana centrate su ciascun vettore di supporto. La larghezza di ciascuna superficie a campana sarà inversamente proporzionale a . Se questa larghezza è inferiore alla distanza minima in coppia per i tuoi dati, hai essenzialmente un overfitting. Se questa larghezza è maggiore della distanza massima in coppia per i tuoi dati, tutti i tuoi punti rientrano in una classe e non hai nemmeno buone prestazioni. Quindi la larghezza ottimale dovrebbe essere da qualche parte tra questi due estremi.γ


pair-wise distance for your data= semplice distanza euclidea dopo il ridimensionamento?
ihadanny,

5

No, dipende essenzialmente dai dati. La ricerca della griglia (su iper-parametri trasformati in log) è un ottimo metodo se hai solo un piccolo numero di iperparametri da mettere a punto, ma non rendi la risoluzione della griglia troppo precisa o è probabile che tu riesca ad adattare troppo il tuning criterio. Per problemi con un numero maggiore di parametri del kernel, trovo che il metodo simplex Nelder-Mead funzioni bene.


Dikran, grazie per la risposta. Puoi approfondire di più sul "dipendente dai dati"? Qual è la relazione tra re un set di dati? O in altre parole, dato un insieme di dati, c'è un modo per definire r basato su questi dati?
user3269

1
Essenzialmente "dipendente dai dati" significa solo che le impostazioni migliori varieranno in base alla particolare struttura dei dati e generalmente non esiste un modo migliore per impostarli che ridurre al minimo l'errore di convalida incrociata. I metodi del kernel potrebbero davvero fare con un'analisi più teorica di come apprendere il kernel, ma sfortunatamente questo è matematicamente molto difficile.
Dikran Marsupial,
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.