Come sapere se una curva di apprendimento del modello SVM soffre di parzialità o varianza?


Risposte:


13

Parte 1: Come leggere la curva di apprendimento

In primo luogo, dovremmo concentrarci sul lato destro della trama, dove ci sono dati sufficienti per la valutazione.

  • Se due curve sono "vicine tra loro" ed entrambe ma hanno un punteggio basso. Il modello soffre di un problema insufficiente (High Bias)

  • Se la curva di allenamento ha un punteggio molto migliore ma la curva di test ha un punteggio più basso, cioè ci sono ampi spazi tra due curve. Quindi il modello soffre di un problema di adattamento eccessivo (alta varianza)

Parte 2: la mia valutazione per la trama che hai fornito

Dalla trama è difficile dire se il modello è buono o no. È possibile che tu abbia davvero un "problema facile", un buon modello può raggiungere il 90%. D'altra parte, è possibile che tu abbia davvero un "problema difficile" che la cosa migliore che possiamo fare è raggiungere il 70%. (Tieni presente che potresti non aspettarti di avere un modello perfetto, ad esempio il punteggio è 1. Quanto puoi ottenere dipende dalla quantità di rumore nei tuoi dati. Supponi che i tuoi dati abbiano molti punti di dati con funzionalità ESATTA ma etichette diverse, non importa quello che fai, non puoi ottenere 1 in punteggio.)

Un altro problema nel tuo esempio è che 350 esempi sembrano essere troppo piccoli in un'applicazione del mondo reale.

Parte 3: Altri suggerimenti

Per capire meglio, puoi fare i seguenti esperimenti per sperimentare un adattamento eccessivo e osservare cosa accadrà nella curva di apprendimento.

  • Selezionare un dato molto complicato, ad esempio i dati MNIST, e adattarsi a un modello semplice, ad esempio un modello lineare con una funzione.

  • Selezionare un dato semplice, ad esempio i dati dell'iride, adattarsi a un modello di complessità, ad esempio SVM.


Parte 4: altri esempi

Inoltre, fornirò due esempi relativi a under fitting e over fitting. Nota che questa non è una curva di apprendimento, ma le prestazioni rispetto al numero di iterazioni nel modello di incremento gradiente , dove più iterazioni avranno maggiori possibilità di adattamento eccessivo. L'asse x mostra il numero di iterazioni e l'asse y mostra le prestazioni, che è Area negativa sotto ROC (più bassa è, meglio è).

La sottotrama sinistra non soffre di eccesso di adattamento (anche se non è insufficiente poiché le prestazioni sono ragionevolmente buone), ma quella destra soffre di eccesso di adattamento quando il numero di iterazioni è elevato.

inserisci qui la descrizione dell'immagine


Grazie hxd1011! Sei d'accordo con me se dico che il mio modello soffre di una piccola varianza e un po 'di pregiudizio (poiché il punteggio non è 1)?
Afke,

@Papie Penso che la tua modella vada bene ... L'80% del punteggio non è male e due curve sono vicine. L'unico problema è che gli esempi sono fino a 350 che potrebbero essere troppo piccoli in un'applicazione del mondo reale.
Haitao Du,

@Papie Inoltre, potresti non aspettarti di avere un modello perfetto, ad esempio il punteggio è 1. Quanto puoi ottenere dipende da quanto rumore nei tuoi dati. Supponiamo che i tuoi dati abbiano molti punti dati dotati della funzione ESATTA ma etichette diverse, indipendentemente da ciò che fai, non puoi ottenere 1 in base al punteggio.
Haitao Du,

11
Penso che il suo "80% sul punteggio non sia male" non è un buon modo di pensare alle cose. Non esiste un punteggio globale che sia buono, dipende fortemente dal problema che viene risolto, più specificamente, dal rapporto segnale-rumore nel processo e dai dati disponibili. Lo fai notare nella tua risposta, quindi rimuoverei il commento "non male".
Matthew Drury,

1
@MatthewDrury Grazie per i suggerimenti, risposta rivista!
Haitao Du,
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.