In che modo la convalida incrociata può superare il problema di overfitting?


34

Perché una procedura di convalida incrociata risolve il problema del sovradimensionamento di un modello?


4
Guarda le opere di Alain Celisse . Il suo lavoro per quanto ho letto (troppo poco ahimè) riguarda i meriti della convalida incrociata.
mpiktas,

@mpiktas In effetti, e uno dei suoi lavori era già stato proposto per il CVJC, mendeley.com/groups/999241/crossvalidated-journal-club/papers .
chl

Risposte:


23

Non riesco a pensare a una spiegazione sufficientemente chiara al momento, quindi la lascerò a qualcun altro; tuttavia la convalida incrociata non risolve completamente il problema di sovra-adattamento nella selezione del modello, ma semplicemente lo riduce. L'errore di convalida incrociata non presenta una variazione trascurabile, soprattutto se la dimensione del set di dati è ridotta; in altre parole, ottieni un valore leggermente diverso a seconda del particolare campione di dati che usi. Ciò significa che se si dispone di molti gradi di libertà nella selezione del modello (ad es. Molte funzioni da cui selezionare un piccolo sottoinsieme, molti iperparametri da ottimizzare, molti modelli tra cui scegliere) è possibile sovrapporre il criterio di convalida incrociata poiché il modello è ottimizzato in modi che sfruttano questa variazione casuale piuttosto che in modi che migliorano davvero le prestazioni, e puoi finire con un modello che funziona male. Per una discussione di questo, vediCawley e Talbot "Sull'adattamento eccessivo nella selezione del modello e conseguente bias di selezione nella valutazione delle prestazioni", JMLR, vol. 11, pagg. 2079-2107, 2010

Purtroppo è molto probabile che la convalida incrociata ti deluda quando hai un piccolo set di dati, che è esattamente quando hai più bisogno della convalida incrociata. Tieni presente che la convalida incrociata k-fold è generalmente più affidabile della convalida incrociata one-out poiché presenta una varianza inferiore, ma può essere più costosa da calcolare per alcuni modelli (motivo per cui LOOCV viene talvolta utilizzato per la selezione dei modelli, anche se ha una varianza elevata).


1
Un pensiero che ho avuto è che la validazione incrociata sta semplicemente applicando un modello diverso (implicito) per i dati. Puoi certamente mostrarlo con il "cugino" di CV, il bootstrap non parametrico (che si basa su un modello di processo di Dirichlet con parametro di concentrazione pari a 0).
Probislogic,

Idea interessante. La mia opinione è che (per i modelli che mi interessano) la separazione in parametri e iperparametri è computazionale piuttosto che logica; gli iperparametri sono ancora parametri che devono essere adattati ai dati e che farlo indirettamente usando la validazione incrociata non lo cambia. Nel maggio scorso, ho studiato l'ottimizzazione di quelli che sono normalmente iperparametri di un modello del kernel usando il criterio di addestramento e aggiungendo un ulteriore termine di regolarizzazione per evitare di sovvertire il criterio di selezione del modello (LOOCV) e ha funzionato abbastanza bene.
Dikran Marsupial,

1
Perché il CV di k-fold è più costoso del congedo unico? La mia esperienza (e la mia intuizione) dice diversamente. Dato che in k-fold CV stiamo facendo k test, ovunque in L1O, stiamo facendo N (>> k) test e di solito la parte di addestramento impiega più tempo a causa di un'inversione di matrice, quindi L1O non è l'opzione costosa?
Jeff

1
Lasciarne fuori uno può essere eseguito (o approssimato) come sottoprodotto dell'adattamento del modello all'intero set di dati, a costi aggiuntivi molto bassi, per un'ampia gamma di modelli (ad es. Regressione lineare). Modificherò la risposta per renderlo più chiaro.
Dikran Marsupial,

La mia comprensione di Leave-one-out è che si tratta di k-fold CV - la forma migliore ma più computazionalmente costosa di k-fold CV, dove k = dimensione del set di dati.
Daniel Winterstein,

10

La mia risposta è più intuitiva che rigorosa, ma forse aiuterà ...

A quanto ho capito, l'overfitting è il risultato della selezione del modello basata sull'addestramento e il test utilizzando gli stessi dati, in cui si dispone di un meccanismo di adattamento flessibile: si adatta il campione di dati così strettamente che si adattano il rumore, i valori anomali e tutto l'altra varianza.

Dividere i dati in un set di addestramento e test ti impedisce di farlo. Ma una divisione statica non utilizza i dati in modo efficiente e la divisione stessa potrebbe essere un problema. La convalida incrociata mantiene il vantaggio di non ricompensa-un-esatto-adattamento-dei-dati-di-allenamento della suddivisione dei test di addestramento, usando anche i dati che hai nel modo più efficiente possibile (cioè tutti i tuoi dati vengono utilizzati come dati di addestramento e test, ma non nella stessa sequenza).

Se si dispone di un meccanismo di adattamento flessibile, è necessario limitare la selezione del modello in modo che non favorisca in qualche modo "perfetto" ma adattamenti complessi. Puoi farlo con AIC, BIC o altri metodi di penalizzazione che penalizzano direttamente la complessità dell'adattamento, oppure puoi farlo con CV. (Oppure puoi farlo usando un metodo di adattamento non molto flessibile, il che è uno dei motivi per cui i modelli lineari sono belli.)

Un altro modo di vederlo è che l'apprendimento riguarda la generalizzazione, e un adattamento troppo stretto non è, in un certo senso, generalizzante. Variando ciò su cui impari e ciò su cui sei testato, generalizzi meglio che se imparassi solo le risposte a una specifica serie di domande.


3

Dal punto di vista bayesiano, non sono così sicuro che la validazione incrociata faccia qualcosa che un'analisi bayesiana "corretta" non fa per confrontare i modelli. Ma non sono sicuro al 100% che lo faccia.

MAMBDI

P(MA|D,I)P(MB|D,I)=P(MA|I)P(MB|I)×P(D|MA,I)P(D|MB,I)

P(D|MA,I)

P(D|MA,I)=P(D,θA|MA,I)dθA=P(θA|MA,I)P(D|MA,θA,I)dθA

Che è chiamata la precedente distribuzione predittiva . Indica in sostanza quanto bene il modello ha previsto i dati effettivamente osservati, ed è esattamente ciò che fa la validazione incrociata, con il "precedente" sostituito dal modello "training" e i "dati" sostituiti dal "test" dati. Quindi, se il modello B prevede i dati meglio del modello A, la sua probabilità posteriore aumenta rispetto al modello A. Sembra da ciò che il teorema di Bayes effettuerà effettivamente la convalida incrociata usando tutti i dati, piuttosto che un sottoinsieme. Tuttavia, non ne sono pienamente convinto - sembra che abbiamo qualcosa per niente.

Un'altra caratteristica chiara di questo metodo è che ha un "rasoio occam" incorporato, dato dal rapporto delle costanti di normalizzazione delle distribuzioni precedenti per ciascun modello.

Tuttavia, la validazione incrociata sembra preziosa per il vecchio temuto "qualcos'altro" o per quello che a volte viene chiamato "errata specificazione del modello". Sono costantemente lacerato dal fatto che questo "qualcos'altro" sia importante o meno, perché sembra che dovrebbe importare - ma ti lascia paralizzato senza soluzione quando apparentemente importa. Solo qualcosa per farti venire il mal di testa, ma niente che tu possa fare al riguardo - tranne per pensare a cosa potrebbe essere quel "qualcos'altro" e provarlo nel tuo modello (in modo che non faccia più parte di "qualcos'altro") .

Inoltre, la validazione incrociata è un modo per fare effettivamente un'analisi bayesiana quando gli integrali sopra sono ridicolmente difficili. E la validazione incrociata "ha senso" praticamente per chiunque - è "meccanica" piuttosto che "matematica". Quindi è facile capire cosa sta succedendo. E sembra anche che ti concentri sulla parte importante dei modelli: fare buone previsioni.


2
Il problema di errata specificazione del modello è la chiave. I metodi bayesiani (in particolare le bayes di massimizzazione dell'evidenza "mansarda") possono comportarsi in modo molto scadente con un'errata specificazione del modello, mentre la convalida incrociata sembra funzionare abbastanza bene quasi sempre. Il guadagno quando le assunzioni (priori) sono "giuste" è generalmente molto più piccolo della penalità quando sono "sbagliate", quindi la convalida incrociata vince in media (poiché non fa quasi assunzioni). Non è altrettanto altrettanto intellettualmente soddisfacente! ; o)
Dikran Marsupial

1
@dikran - interessante. Non sono così sicuro di essere d'accordo con quello che dici. Quindi dici che se il modello non è stato specificato correttamente, la convalida incrociata con quello stesso modello è meglio dell'uso del teorema di Bayes? Vorrei vedere un esempio di questo.
probabilityislogic

@probabiltyislogic Non penso che sia un'osservazione particolarmente nuova, Rasmussen e Williams lo menzionano a pagina 118 del loro eccellente libro Gaussian Process (sebbene sia essenzialmente un riferimento a un commento simile nella monografia di Grace Wahba sulle spline). Sostanzialmente la probabilità marginale è la probabilità dei dati dati le ipotesi del modello, mentre la probabilità XVAL è una stima della probabilità dei dati, indipendentemente dalle ipotesi del modello, quindi più affidabile quando le ipotesi non sono valide. Sarebbe utile uno studio empirico adeguato.
Dikran Marsupial,

@probabilityislogic Dovrei aggiungere che mi piace l'approccio bayesiano alla selezione dei modelli, ma ho quasi sempre usato la validazione incrociata in pratica semplicemente perché in genere dà risultati (statisticamente) buoni o migliori degli approcci bayesiani.
Dikran Marsupial,

XiyiXip(yi|Xi,θy)p(Xi|θX). Il secondo termine ha un contributo molto più grande alla probabilità, quindi se un modello fa bene lì e lo morde sulla previsione, alla probabilità marginale non importerà.
JMS,
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.