close
Vai al contenuto

Arresto anticipato

Da Wikipedia, l'enciclopedia libera.

Nell'apprendimento automatico, l'arresto anticipato è una forma di regolarizzazione utilizzata per evitare il sovradattamento nell'addestramento di un modello con un metodo iterativo, come la discesa del gradiente. Tali metodi aggiornano il modello per adattarlo meglio ai dati di addestramento a ogni iterazione. Fino a un certo punto, questo migliora le prestazioni del modello misurate su dati esterni al set di addestramento (ad esempio, il set di validazione). Oltre tale livello, tuttavia, il miglioramento dell'adattamento del modello ai dati di addestramento comporta un aumento dell'}errore di generalizzazione. Le regole di arresto anticipato forniscono indicazioni sul numero di iterazioni che possono essere eseguite prima che il learner inizi a sovradattarsi. Regole di arresto anticipato sono impiegate in molti tipi metodi di apprendimento automatico, con diversi fondamenti teorici.

In questa sezione sono richiamati alcuni dei concetti di base dell'apprendimento automatico necessari per una descrizione dei metodi di arresto anticipato.

Sovradattamento

[modifica | modifica wikitesto]
BERJAYA
Figura 1. La linea verde rappresenta un modello sovradattato e la linea nera rappresenta un modello regolarizzato. Sebbene la linea verde segua meglio i dati di training, è troppo dipendente da tali dati ed è probabile che presenti un tasso di errore più elevato sui nuovi dati non visualizzati, i punti con contorno nero, rispetto alla linea nera.

Gli algoritmi di apprendimento automatico addestrano un modello basato su un insieme finito di dati di training. Durante questa fase, il modello viene valutato in base alla sua accuratezza nel predire le osservazioni contenute nel set di training. In generale, tuttavia, l'obiettivo di un algoritmo di apprendimento automatico è produrre un modello che generalizzi, ovvero che sia capace di fare predizioni su osservazioni mai viste prima. Il sovradattamento si verifica quando un modello si adatta bene ai dati del set di training, incorrendo tuttavia in un errore di generalizzazione maggiore.

Regolarizzazione

[modifica | modifica wikitesto]

La regolarizzazione, nel contesto dell'apprendimento automatico, si riferisce al processo di modifica di un algoritmo di apprendimento in modo da prevenire l'overfitting. Ciò generalmente comporta l'imposizione di una sorta di vincolo di uniformità sul modello appreso.[1] Questa uniformità può essere imposta esplicitamente, fissando il numero di parametri nel modello o aumentando la funzione di costo come nella regolarizzazione di Tikhonov. Questa, insieme alla regressione delle componenti principali e a molti altri schemi di regolarizzazione, rientrano nella regolarizzazione spettrale, caratterizzata dall'applicazione di un filtro. Anche l'arresto anticipato appartiene a questa classe di metodi.

Metodi di discesa del gradiente

[modifica | modifica wikitesto]

I metodi di discesa del gradiente sono metodi di ottimizzazione iterativi del primo ordine. Ogni iterazione aggiorna una soluzione approssimata del problema di ottimizzazione compiendo un passo nella direzione del gradiente negativo della funzione obiettivo. Scegliendo opportunamente la lunghezza del passo, tale metodo può convergere a un minimo locale della funzione obiettivo. La discesa del gradiente viene utilizzata nell'apprendimento automatico definendo una funzione di perdita che riflette l'errore del modello sul training set la quale viene in seguito minimizzata.

Arresto anticipato basato su risultati analitici

[modifica | modifica wikitesto]

Arresto precoce nella teoria dell'apprendimento statistico

[modifica | modifica wikitesto]

L'arresto anticipato può essere utilizzato per regolarizzare i problemi di regressione non parametrici tipici dell'apprendimento automatico. Dato uno spazio di input , uno spazio di output e un insieme di campioni estratti da una distribuzione di probabilità sconosciuta su , l'obiettivo in tali problemi è approssimare una funzione di regressione , data da

dove è la distribuzione condizionata da indotta da [2]. Una scelta comune per approssimare la funzione di regressione è quella di utilizzare funzioni da uno spazio di Hilbert a kernel riproducente.[2] Questi spazi possono essere a dimensioni infinite, cosicché possono fornire soluzioni che si sovradattano a insiemi di addestramento di dimensione arbitraria. La regolarizzazione è, quindi, particolarmente importante per tali metodi. Un modo per regolarizzare i problemi di regressione non parametrica è applicare una regola di arresto anticipato a una procedura iterativa come la discesa del gradiente.

Le regole di arresto anticipato proposte per questi problemi si basano sull'analisi dei limiti superiori dell'errore di generalizzazione in funzione del numero di iterazioni. Esse forniscono indicazioni sul numero di iterazioni da eseguire che possono essere calcolate prima di avviare il processo risolutivo.[3][4]

Esempio: perdita dei minimi quadrati

[modifica | modifica wikitesto]

[Adattamento da [3]]

Siano e Dato un insieme di campioni

estratto in maniera indipendente da , si voglia minimizzare il funzionale

dove, è un membro dello spazio di Hilbert a nucleo riproducente . Cioè, minimizzare il rischio atteso per una funzione di perdita dei minimi quadrati. Poiché dipende dalla distribuzione di probabilità sconosciuta , non può essere utilizzato per il calcolo. Si consideri, invece, il seguente rischio empirico

Siano e le t -esime iterazioni della discesa di gradiente applicate, rispettivamente, ai rischi attesi ed empirici, dove entrambe le iterazioni sono inizializzate all'origine ed entrambe utilizzano una dimensione del passo pari . Le costituiscono l'iterazione della popolazione, che converge a , ma non possono essere utilizzato nel calcolo, mentre le costituiscono l'iterazione del campione che solitamente converge verso una soluzione di sovradattamento.

Si deve tenere sotto controllo la differenza tra il rischio atteso dell'iterazione del campione e il rischio atteso minimo, ovvero il rischio atteso della funzione di regressione:

Tale differenza può essere riscritta come somma di due termini: la differenza nel rischio atteso tra le iterazioni del campione e della popolazione e quella tra l'iterazione della popolazione e la funzione di regressione:

Questa equazione presenta un compromesso tra bias e varianza, che viene poi risolto per fornire una regola di arresto ottimale che può dipendere dalla distribuzione di probabilità sconosciuta. Per tale regola esistono limiti probabilistici associati all'errore di generalizzazione. Per un'analisi che porta alla regola di arresto anticipato e ai limiti, si rimanda il lettore all'articolo originale.[3] In pratica, si possono utilizzare metodi basati sui dati, ad esempio la convalida incrociata, per ottenere una regola di arresto adattiva.

Arresto anticipato nel boosting

[modifica | modifica wikitesto]

Il boosting è una famiglia di algoritmi in cui un insieme di modelli deboli (learner che sono solo leggermente correlati con il processo reale) vengono combinati per produrre un modello forte. È stato dimostrato, per diversi algoritmi di boosting (fra i quali AdaBoost), che la regolarizzazione tramite arresto anticipato può fornire garanzie di consistenza, ovvero far sì che il risultato dell'algoritmo tenda ad avvicinarsi alla soluzione reale all'aumentare del numero di campioni [5][6][7][8]

I metodi di boosting hanno stretti legami con i metodi di discesa del gradiente descritti in precedenza e possono essere considerati un metodo di basato su una funzione di perdita : L2Boost .[3]

Arresto anticipato basato sulla convalida

[modifica | modifica wikitesto]

Tali regole di arresto anticipato funzionano suddividendo l'insieme di addestramento originale in un nuovo set di addestramento e un insieme di convalida. L'errore sull'insieme convalida viene utilizzato come approssimazione dell'errore di generalizzazione nel determinare quando è iniziato il sovradattamento. Questi metodi sono impiegati nell'addestramento di molti algoritmi iterativi, comprese quelli per le reti neurali. Prechelt fornisce il seguente schema per un'implementazione ingenua dell'arresto anticipato basato su holdout nel modo seguente:[9]

  • Suddividere i dati di training in un training set e uno di validazione, ad es. in proporzioni 2-a-1.
  • Addestrare solo sul training set e, ogni tanto, valutare l'errore sui singoli esempi del set di validazione, ad es. ogni 5 epoche.
  • Arrestare l'addestramento non appena l'errore sul set di validazione sia diventato più alto rispetto al controllo precedente.
  • Usare i pesi della rete al passo precedente come risultato dell'addestramento.

''Early Stopping – But When?''—Lutz Prechelt

La validazione incrociata è un'alternativa applicabile a scenari non basati su serie temporali. Essa prevede la suddivisione in più partizioni dei dati del training set e un insieme di convalida – invece di una singola partizione in un training set e un insieme di convalida. Pur essendo semplice, nella pratica la procedura è complicata dal fatto che l'errore di convalida può variare molto durante l'addestramento, producendo molteplici minimi locali. Questa complicazione ha portato alla creazione di numerose regole ad hoc per decidere quando l'overfitting è realmente iniziato.[9]

  1. Girosi, Federico; Michael Jones; Tomaso Poggio, Regularization Theory and Neural Networks Architectures, in Neural Computation, vol. 7, 1º marzo 1995, pp. 219–269, DOI:10.1162/neco.1995.7.2.219, ISSN 0899-7667 (WC · ACNP).
  2. 1 2 Smale, Steve; Ding-Xuan Zhou, Learning Theory Estimates via Integral Operators and Their Approximations, in Constructive Approximation, vol. 26, 1º agosto 2007, pp. 153–172, DOI:10.1007/s00365-006-0659-y, ISSN 0176-4276 (WC · ACNP).
  3. 1 2 3 4 Yao, Yuan; Lorenzo Rosasco; Andrea Caponnetto, On Early Stopping in Gradient Descent Learning, in Constructive Approximation, vol. 26, 1º agosto 2007, pp. 289–315, DOI:10.1007/s00365-006-0663-2, ISSN 0176-4276 (WC · ACNP).
  4. Garvesh Raskutti, Martin J. Wainwright e Bin Yu, Early stopping for non-parametric regression: An optimal data-dependent stopping rule, in 2011 49th Annual Allerton Conference on Communication, Control, and Computing (Allerton), 2011-09, pp. 1318–1325, DOI:10.1109/Allerton.2011.6120320.
  5. Wenxin Jiang, Process consistency for AdaBoost, in The Annals of Statistics, vol. 32, n. 1, 1º febbraio 2004, DOI:10.1214/aos/1079120128.
  6. Bühlmann, Boosting with the L₂ Loss: Regression and Classification, in Journal of the American Statistical Association, vol. 98, 1º giugno 2003, pp. 324–339, DOI:10.1198/016214503000125, ISSN 0162-1459 (WC · ACNP).
  7. Tong Zhang; Bin Yu, Boosting with Early Stopping: Convergence and Consistency, in The Annals of Statistics, vol. 33, 1º agosto 2005, pp. 1538–1579, Bibcode:2005math......8276Z, DOI:10.1214/009053605000000255, ISSN 0090-5364 (WC · ACNP), arXiv:math/0508276.
  8. Stankewitz, Bernhard, Early stopping for L2-boosting in high-dimensional linear models, in The Annals of Statistics, vol. 52, 1º aprile 2024, pp. 491–518, DOI:10.1214/24-AOS2356, arXiv:2210.07850.
  9. 1 2 Lutz Prechelt e Geneviève B. Orr, Neural Networks: Tricks of the Trade, Lecture Notes in Computer Science, Springer Berlin Heidelberg, 1º gennaio 2012, pp. 53–67, DOI:10.1007/978-3-642-35289-8_5, ISBN 978-3-642-35289-8.

Voci correlate

[modifica | modifica wikitesto]