Blog.

Elastic Net e Early Stopping | ITA


Autore
Andrea Provino
Data
Tempo di lettura
2 minuti
Categoria
machine-learning

elastic-net-early-stopping-gradient-descent-batch-gradient-descent-machine-learning-data-science-guida-italiano-blog-data-science

Elastic Net è una versione regolarizzata della Linear Regression (Regressione Lineare), una via di mezzo tra Ridge Regression e Lasso Regression per caratteristiche.

Il termine di regolarizzazione è infatti dato dal rapporto tra la L1 penalty e L2 penalty:

  • Quando il valore è 0, Elastic Net è equivalente a Ridge Regression
  • Quando il valore è 1, Elastic Net è equivalente a LASSO Regression

Elastic Net: When?

Con questo ultimo modello abbiamo concluso l’esame delle versioni regolarizzate della Linear Regression:

Possiamo finalmente chiederci: quando dovremmo utilizzare l’uno o latro modello?

Ottimo.

Dunque iniziamo subito col dire che la Regressione Lineare quasi mai è impiegata sul campo, in applicazioni di applied AI, a causa della sua semplicità.

Ridge Regression diventa quindi la soluzione primaria.

Quando però il sospetto che siano poche le feature davvero importanti inizia a insediarsi nelle nostre menti da data scientist, il ricorso alla LASSO Regression è d’obbligo.

Possiamo tenere l‘Elastic Net quando il numero di feature cresce, o le correlazioni tra loro diventano particolarmente importanti.

Potremmo definirla una versione meno severa della LASSO, ma entrambi tendono ad azzerare il valore dei weight nella funzione.

Early Stopping

Un metodo alternativo alla regolarizzazione iterativa degli algoritmi di apprendimento è fermare il training non appena l‘errore di validazione (validation error) raggiunge il minimo: early stopping.

Perché è utile questa tecnica?

Procediamo con ordine.

In un modello complesso, come quello di regressione polinomiale (Polynomial Regression), durante il training l’errore di previsione (Root Mean Squared Error) sul training set naturalmente diminuisce, come quello sul validation set.

Progressivamente l’errore cessa di calare e inizia invece ad aumentare: un chiaro segnale di overfitting.

Stoppando l’allenamento al raggiungimento del valore minimo per il validation error massimizziamo le performance.

Geoffrey Hinton, esperto di reti neural artificiali, definisce questo metodo in modo semplice ed elegante: “beautiful free lunch“.

Quando l’optimization algorithm scelto è lo Stochastich Gradient Descent o Mini-batch Gradient Descent diventa difficile impiegare questa tecnica, a causa della loro curva di apprendimento frastagliata.

Quando l’errore rimane costante, al di sopra del minimo, per un tempo sufficiente, il training può essere sospeso.

Occorre quindi ripristinare i parametri al punto in cui l’errore di validazione fosse minimo.

Un caldo abbraccio, Andrea.

Taggeddata sciencedatasetmachine learningteoria


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum