Sovrapposizione con classificatori lineari


10

Oggi il nostro professore ha dichiarato in classe che "non è possibile un overfitting con classificatori lineari". Ritengo che sia sbagliato, dal momento che anche i classificatori lineari possono essere sensibili agli outlier nel set di training - prendiamo ad esempio un margine duro. Support Vector Machine: un singolo punto dati rumoroso può alterare quale hyperplane verrà utilizzato per separare set di dati. O mi sbaglio? Ovviamente, la linearità probabilmente eviterà piuttosto un overfitting dovuto alla minore complessità del modello, ma non vedo perché il overfitting dovrebbe essere impossibile. Un altro punto è che quando ho cercato di pensare a questo problema mi sono reso conto che il "sovradimensionamento" non sembra essere definito formalmente. Perché? Una certa misura di distanza tra allenamento e prestazioni del set di test non consentirebbe una tale formalizzazione? Grazie


4
Perché dici classificatore lineare? La maggior parte dei modelli lineari sono per la previsione, non per la classificazione. E hai ragione: i modelli lineari possono essere molto inclini al sovradimensionamento. Non tanto quanto i metodi di apprendimento automatico, ma il sovradimensionamento può essere un problema.
Frank Harrell,

5
È molto facile equipaggiare troppo il classificatore lineare. Adatta semplicemente il modello ad un set di dati (rumoroso, reale) e non usa alcuna regolarizzazione.
Vladislavs Dovgalecs,

2
Attenzione alla classificazione: di solito non è necessario impostare gli obiettivi così bassi.
Frank Harrell,

2
@FrankHarrell ... e perché?
Pugl

1
Sì, se era originariamente binario. Se Y era originariamente continuo, la classificazione è ancora più problematica. YY
Frank Harrell,

Risposte:


12

Un regresso / classificatore lineare può assolutamente essere sovrautilizzato se usato senza cura adeguata.

Ecco un piccolo esempio. Creiamo due vettori, il primo è semplicemente gettoni casuali:5000

set.seed(154)
N <- 5000
y <- rbinom(N, 1, .5)

Il secondo vettore è osservazioni, ciascuna assegnata casualmente a una delle 500 classi casuali:5000500

N.classes <- 500
rand.class <- factor(sample(1:N.classes, N, replace=TRUE))

Non ci dovrebbero essere relazioni tra i nostri lanci ye le nostre classi casuali rand.class, sono stati determinati in modo completamente indipendente.

Tuttavia, se proviamo a prevedere il capovolgimento casuale con la classe casuale usando la regressione logistica (un classificatore lineare), sicuramente pensa che ci sia una relazione

M <- glm(y ~ rand.class, family="binomial")
hist(coef(M), breaks=50)

inserisci qui la descrizione dell'immagine

Il vero valore di ognuno di questi coefficienti è zero. Ma come puoi vedere, abbiamo abbastanza diffusione. Questo classificatore lineare è sicuramente troppo adatto.

-1515y == 1y == 015

"overfitting" non sembra essere definito formalmente. Perché?

L'overfitting può essere meglio compreso nel contesto di una classe di modelli che presenta alcuni parametri di complessità. In questo caso, si potrebbe dire che un modello sia troppo adatto quando si riduce leggermente la complessità, si ottiene una migliore performance fuori dal campione.

Sarebbe molto difficile definire con precisione il concetto in modo indipendente dal modello. Un singolo modello è semplicemente adatto, hai bisogno di qualcosa con cui confrontarlo perché sia ​​sopra o sotto. Nel mio esempio sopra questo confronto era con la verità, ma di solito non si conosce la verità, quindi il modello!

Una certa misura di distanza tra allenamento e prestazioni del set di test non consentirebbe una tale formalizzazione?

C'è un tale concetto, si chiama ottimismo. È definito da:

ω=Etest-Etreno

E

Tuttavia, non si ottiene l'essenza del sovradimensionamento, perché le prestazioni su un set di prova possono essere leggermente peggiori rispetto al treno, anche se un modello di maggiore complessità riduce entrambi .


wow, che bella risposta, molte grazie. una domanda: gli SVM lineari sono meno inclini a un overfitting rispetto ad esempio al log. regressione che hai citato (a causa dei diversi modi di ottimizzazione per il confine di decisione lineare)?
Pugl

1
Devo ammettere che non sono un esperto di SVM e non ho esperienza pratica nel loro utilizzo. Non voglio davvero avventurarmi in una risposta e rischiare di sbagliarmi molto. Se riesci a formularlo con precisione, probabilmente merita una domanda a parte.
Matthew Drury,

Le SVM sono regolarizzate e quindi meno soggette a sovralimentazione. Per rendersi conto che devi solo guardare la funzione che stai minimizzando: include la norma l1 o la norma l2 dei pesi, riducendoli nell'ottimizzazione e quindi preferendo modelli "semplici" a modelli "complessi". Il parametro che controlla questo è il parametro Iper C. Nel caso limite (C = infinito), l'SVM si adatta "perfettamente" al set di allenamento e quindi è probabilmente troppo adatto (nota che ho detto probabilmente, hai bisogno di un set di test per essere sicuro!). Nota anche che ho usato molte citazioni, ma questo può essere definito correttamente.
skd

2

Negli anni '70, esperimenti con algoritmi di riconoscimento di schemi su set di dati di grandi dimensioni hanno rivelato che l'aggiunta di funzionalità extra in alcuni casi ha aumentato i tassi di errore del set di test. Ciò è controintuitivo perché ci si aspetterebbe che l'aggiunta di una funzione aggiuntiva aumenti sempre le prestazioni del classificatore, o nel caso in cui la funzionalità aggiunta sia "rumore bianco", la sua aggiunta non influenza affatto le prestazioni del classificatore. L'effetto dell'aggiunta di ulteriori funzionalità extra a un classificatore, che alla fine ha portato a una riduzione delle prestazioni del set di test, è diventato noto come fenomeno di picco [1].

Il picco di funzionalità è causato da un'eccessiva generalizzazione durante l'apprendimento. Le funzionalità extra causano l'inclusione di così tanti parametri aggiuntivi che il classificatore inizia a sovrautilizzare i dati. Quindi, il punto di picco è passato.

In generale, ci si imbatte in un compromesso di bias varianza durante l'addestramento dei classificatori. Più variabili-funzione usiamo, migliore sarà il meccanismo ( sconosciuto ) del classificatore sottostante eventualmente modellato dal nostro classificatore. Pertanto, la deviazione sistematica tra il modello adattato e la "verità" diminuirà, vale a dire un risultato di distorsione minore. D'altro canto, aumentare lo spazio delle funzionalità del classificatore implica necessariamente l'aggiunta di parametri (quelli che si adattano alle funzionalità aggiunte). Pertanto, aumenta anche la varianza del classificatore montato.

Quindi il classificatore che supera il punto di picco è solo una realizzazione stocastica di un problema di classificazione ad alta dimensione, e un nuovo adattamento si tradurrà in un vettore di parametri molto diverso. Questo fatto riflette la maggiore varianza.

[1. GV Trunk, "Un problema di dimensionalità: un semplice esempio", in Transazioni IEEE su Pattern Analysis e Machine Intelligence, vol. PAMI-1, n. 3, pagg. 306-307, luglio 1979]


1

Penso che il sovradimensionamento si riferisca alla complessità del modello piuttosto che alla capacità di generalizzazione. Capisco la citazione "un classificatore lineare non può essere adattato" poiché la sua complessità è piccola e non esiste un altro classificatore più semplice che offra prestazioni migliori.

L'esempio è collegato alla capacità di generalizzazione dei classificatori lineari (e di quelli complessi). Anche in questa seconda parte, i classificatori lineari di solito forniscono una varianza minore rispetto a quelli complessi, quindi anche il valore di "overfitting" per i classificatori lineari, seguendo questo concetto, è più piccolo (sebbene il rischio empirico di essi possa essere così grande). ATB


0

Come ha detto @ match-maker-ee, i classificatori lineari possono sovrapporsi a seconda delle funzionalità di input.

Il seguente modello f è lineare nei suoi parametri una , B e C , ma può essere montato su una curva quadratica nello spazio delle caratteristiche di x :

f(X)=un'X2+BX+c

Gli SVM possono anche sovrapporsi, ad esempio quando usano il trucco del kernel, nonostante siano sostanzialmente un modello lineare in uno spazio di funzionalità aumentato.

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.