La regolarizzazione nel contesto dell'apprendimento automatico è una tecnica importante utilizzata per migliorare le prestazioni di generalizzazione dei modelli, in particolare quando si ha a che fare con dati ad alta dimensionalità o modelli complessi che sono inclini al sovraadattamento. Il sovraadattamento si verifica quando un modello apprende non solo i pattern sottostanti nei dati di training ma anche il rumore, con conseguenti scarse prestazioni su dati non visti. La regolarizzazione introduce informazioni o vincoli aggiuntivi a un modello per prevenire il sovraadattamento penalizzando i modelli eccessivamente complessi.
L'idea fondamentale alla base della regolarizzazione è quella di incorporare un termine di penalità nella funzione di perdita che il modello sta cercando di minimizzare. Questo termine di penalità scoraggia il modello dall'adattare il rumore nei dati di training imponendo un costo sulla complessità, in genere misurato dalla grandezza dei parametri del modello. In questo modo, la regolarizzazione aiuta a raggiungere un equilibrio tra l'adattamento corretto dei dati di training e il mantenimento della capacità del modello di generalizzare a nuovi dati.
Esistono diversi tipi di tecniche di regolarizzazione comunemente utilizzate nell'apprendimento automatico, con le più diffuse che sono la regolarizzazione L1, la regolarizzazione L2 e il dropout. Ognuna di queste tecniche ha le sue caratteristiche e applicazioni.
1. Regolarizzazione L1 (regressione Lazo): La regolarizzazione L1 aggiunge una penalità pari al valore assoluto della grandezza dei coefficienti alla funzione di perdita. Matematicamente, può essere rappresentata come:
where è la funzione di perdita originale, è il parametro di regolarizzazione, e sono i parametri del modello. L'effetto della regolarizzazione L1 è che tende a produrre modelli sparsi, il che significa che porta alcuni dei coefficienti a zero, eseguendo di fatto la selezione delle feature. Ciò può essere particolarmente utile quando si ha a che fare con dati ad alta dimensionalità in cui molte feature potrebbero essere irrilevanti.
2. Regolarizzazione L2 (regressione Ridge): La regolarizzazione L2 aggiunge una penalità pari al quadrato della grandezza dei coefficienti alla funzione di perdita. È espressa matematicamente come:
La regolarizzazione L2 scoraggia i coefficienti grandi penalizzandone i valori quadratici, portando a un set di pesi più uniformemente distribuito. A differenza di L1, la regolarizzazione L2 non produce modelli sparsi, poiché non forza i coefficienti a essere esattamente zero, ma piuttosto li mantiene piccoli. Ciò è particolarmente utile per evitare l'overfitting quando tutte le feature hanno una certa rilevanza.
3. Regolarizzazione rete elastica: Elastic Net combina sia la regolarizzazione L1 che L2. È particolarmente utile in situazioni in cui ci sono più funzionalità correlate. La penalità Elastic Net è una combinazione lineare delle penalità L1 e L2:
Regolando i parametri e Elastic Net è in grado di bilanciare i vantaggi della regolarizzazione L1 e L2.
4. Ritirarsi: Dropout è una tecnica di regolarizzazione specificamente progettata per reti neurali. Durante l'addestramento, dropout imposta casualmente una frazione dei nodi (neuroni) in un layer su zero a ogni iterazione. Ciò impedisce alla rete di fare troppo affidamento su un singolo nodo e incoraggia la rete ad apprendere funzionalità più robuste. Dropout è particolarmente efficace nei modelli di deep learning in cui l'overfitting è un problema comune a causa del gran numero di parametri.
5. Arresto anticipato: Sebbene non sia una tecnica di regolarizzazione nel senso tradizionale, l'arresto anticipato è una strategia per prevenire l'overfitting interrompendo il processo di training una volta che le prestazioni su un set di convalida iniziano a degradarsi. Ciò è particolarmente utile nei metodi iterativi come la discesa del gradiente in cui il modello viene aggiornato continuamente.
La regolarizzazione è essenziale nell'apprendimento automatico perché consente ai modelli di funzionare bene su dati invisibili controllandone la complessità. La scelta della tecnica di regolarizzazione e la messa a punto dei suoi parametri ( per L1 e L2, tasso di abbandono per abbandono) sono importanti e spesso richiedono sperimentazione e convalida incrociata per ottenere risultati ottimali.
Ad esempio, si consideri un modello di regressione lineare addestrato su un set di dati con molte caratteristiche. Senza regolarizzazione, il modello potrebbe assegnare pesi elevati ad alcune caratteristiche, adattando molto da vicino i dati di training ma ottenendo prestazioni scadenti sui dati di test a causa del sovraadattamento. Applicando la regolarizzazione L2, il modello è incoraggiato a distribuire i pesi in modo più uniforme, portando potenzialmente a una migliore generalizzazione su nuovi dati.
In un altro scenario, una rete neurale addestrata su dati di immagini potrebbe sovraadattarsi memorizzando pattern specifici nelle immagini di addestramento. Applicando il dropout, la rete è costretta ad apprendere caratteristiche più generali che sono utili in diverse immagini, migliorando le sue prestazioni su dati non visti.
La regolarizzazione è un concetto fondamentale nell'apprendimento automatico che aiuta a prevenire l'overfitting aggiungendo una penalità per la complessità alla funzione di perdita del modello. Controllando la complessità del modello, tecniche di regolarizzazione come L1, L2, Elastic Net, dropout e early stops consentono una migliore generalizzazione a nuovi dati, rendendole strumenti indispensabili nel toolkit del professionista dell'apprendimento automatico.
Altre domande e risposte recenti riguardanti EITC/AI/GCML Google Cloud Machine Learning:
- Esiste un tipo di addestramento di un modello di intelligenza artificiale in cui vengono implementati contemporaneamente sia l'approccio di apprendimento supervisionato che quello non supervisionato?
- Come avviene l'apprendimento nei sistemi di apprendimento automatico non supervisionato?
- Come utilizzare il set di dati Fashion-MNIST nella piattaforma Google Cloud Machine Learning/AI?
- Quali tipi di algoritmi di apprendimento automatico esistono e come si selezionano?
- Quando un kernel viene forkato con dati e l'originale è privato, quello forkato può essere pubblico? In tal caso non si tratta di una violazione della privacy?
- La logica del modello NLG può essere utilizzata per scopi diversi da NLG, ad esempio per le previsioni di trading?
- Quali sono le fasi più dettagliate dell'apprendimento automatico?
- TensorBoard è lo strumento più consigliato per la visualizzazione dei modelli?
- Come si può garantire che i dati non siano distorti durante la pulizia?
- In che modo l'apprendimento automatico aiuta i clienti nell'acquisto di servizi e prodotti?
Visualizza altre domande e risposte in EITC/AI/GCML Google Cloud Machine Learning