Curva di apprendimento (apprendimento automatico)

rappresentazione grafica delle valutazioni relative all'addestramento e alla validazione di un modello al variare del numero di esempi di addestramento

Nell'apprendimento automatico una curva di apprendimento (o curva di addestramento) è una rappresentazione grafica che mostra come le prestazioni di un modello su un insieme di dati di addestramento (e solitamente un insieme di convalida) cambiano al crescere del numero di iterazioni di addestramento (epoche) o della quantità di dati di addestramento usati.[1] In genere, il numero di epoche di addestramento o la dimensione dell'insieme di addestramento viene tracciato sull'asse x e il valore della funzione di perdita (e possibilmente qualche altra metrica come il punteggio di convalida incrociata) sull'asse y.

Grafico della curva di apprendimento della dimensione dell'insieme di addestramento rispetto ai punteggi di addestramento (perdita) e di convalida incrociata

Fra i sinonimi sono ricompresi curva di errore, curva di esperienza, curva di miglioramento e curva di generalizzazione.[2]

In termini più astratti, le curve di apprendimento descrivono la differenza tra lo sforzo per apprendere e le prestazioni predittive, dove lo “sforzo per apprendere” è solitamente misurato in termini del numero di campioni di addestramento, mentre le “prestazioni predittive” in termini dell'accuratezza sui campioni di test.[3]

Le curve di apprendimento hanno molti usi interessanti nell'apprendimento automatico, fra i quali:[4][5][6]

  • scelta dei parametri del modello durante la progettazione,
  • ottimizzazione adeguata per migliorare la convergenza,
  • e diagnosticare problemi come il sovradattamento (o il suo opposto).

Le curve di apprendimento possono anche essere strumenti per determinare quanto un modello tragga vantaggio dall'aggiunta di più dati di addestramento e se il modello soffra maggiormente di un errore di varianza o bias. Se sia il punteggio di convalida che il punteggio di addestramento convergono verso un certo valore, il modello non beneficerà significativamente da una maggiore disponibilità di dati di addestramento.[7]

Definizione

modifica

Quando si costruisce una funzione per approssimare la distribuzione di alcuni dati, è necessario definire una funzione di perdita (loss)   per misurare la qualità dell'output del modello (ad esempio, l'accuratezza per le attività di classificazione o l'errore quadratico medio per la regressione). Si definisce quindi un processo di ottimizzazione che trova i parametri del modello   tale da minimizzare  , denominando il modello ottimale  .

Curva di addestramento rispetto alla quantità di dati

modifica

Se i dati di addestramento sono

 

e i dati di convalida sono

 ,

allora una curva di apprendimento corrisponde al grafico delle due curve

  1.  
  2.  

dove  

Curva di addestramento rispetto al numero di iterazioni

modifica

Molti algoritmi di ottimizzazione sono iterativi, ossia ripetono lo stesso passo (come la backpropagation) finché il processo non converge a un valore ottimale. La discesa del gradiente è uno di tali algoritmi. Se   rappresenta l'approssimazione ottimale di   trovata dopo   passi, una curva di apprendimento conterrà i grafici di

  1.  
  2.  

Voci correlate

modifica
  1. ^ Felix Mohr e Jan N. van Rijn, Learning Curves for Decision Making in Supervised Machine Learning: A Survey, 2022, DOI:10.48550/arXiv.2201.12150.
  2. ^ Tom Viering e Marco Loog, The Shape of Learning Curves: A Review, in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 45, n. 6, 1º giugno 2023, pp. 7799–7819, DOI:10.1109/TPAMI.2022.3220744.
  3. ^ (EN) Claudia Perlich, Learning Curves in Machine Learning, Springer, Boston, MA, 2011, pp. 577–580, DOI:10.1007/978-0-387-30164-8_452, ISBN 978-0-387-30164-8.
  4. ^ P.G. Madhavan, A New Recurrent Neural Network Learning Algorithm for Time Series Prediction (PDF), su jininnovation.com, vol. 7, 1997, p. 113 Fig. 3.
  5. ^ Machine Learning 102: Practical Advice, su astroml.github.com. URL consultato il 15 febbraio 2019.
  6. ^ Christopher Meek, Bo Thiesson e David Heckerman, The Learning-Curve Sampling Method Applied to Model-Based Clustering, in Journal of Machine Learning Research, vol. 2, Feb, 2002, pp. 397–418.
  7. ^ scikit-learn developers, Validation curves: plotting scores to evaluate models — scikit-learn 0.20.2 documentation, su scikit-learn.org. URL consultato il 15 febbraio 2019.