libsvm "raggiungendo il numero massimo di iterazioni" avvertimento e convalida incrociata


20

Sto usando libsvm in modalità C-SVC con un kernel polinomiale di grado 2 e mi viene richiesto di addestrare più SVM. Ogni set di allenamento ha 10 funzioni e 5000 vettori. Durante l'allenamento, ricevo questo avviso per la maggior parte degli SVM che alleno:

WARNING: reaching max number of iterations
optimization finished, #iter = 10000000

Qualcuno potrebbe spiegare cosa implica questo avviso e, forse, come evitarlo?

Voglio anche applicare la validazione incrociata per i miei modelli al fine di determinare le migliori scelte per gamma e C (regolarizzazione). Il mio piano è di provare tutte le combinazioni di questi 10 valori: 0,00001, 0,0001, 0,001, 0,01, 0,1, 1, 10, 100, 1000, 10000 per entrambi i parametri e vedere quale combinazione produce la migliore precisione durante la convalida incrociata. È abbastanza? Dovrei usare più valori in questo intervallo o dovrei scegliere un intervallo più ampio?


Prova la modalità NU_SVC dovrebbe risolvere il tuo problema.
Hosein Bitaraf,

Risposte:


20

wBww

Ci sono molte ragioni per cui questo può accadere, ti suggerisco di fare quanto segue:

  • Normalizza i tuoi dati.
  • Assicurati che le tue classi siano più o meno bilanciate (abbiano dimensioni simili). In caso contrario, utilizzare il parametro -w per assegnare loro pesi diversi.
  • Cγ
    γu'v+coeff0 grado

CC

Nota che il distributore LIBSVM per Windows dovrebbe contenere uno script Python chiamato grid.py, che può fare la selezione dei parametri per te (in base alla validazione incrociata e agli intervalli di ricerca specificati). Può anche produrre grafici di contorno per la precisione di SVM. Questo strumento può essere molto utile.

Anche la seguente domanda su StackOverflow e le relative domande potrebbero essere d'aiuto: libsvm Shrinking Heuristics


Grazie per la spiegazione dettagliata. Risolve definitivamente il mistero. Ho fatto più o meno la stessa domanda su SO (il link che hai fornito), ma la risposta che ho ricevuto lì si è concentrata principalmente sulla riduzione dell'euristica.
Mihai Todor,
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.