Spiegazione: in che modo la regolarizzazione L1 seleziona automaticamente le feature?
Comprendere il processo di selezione automatica delle funzionalità eseguito dalla regolarizzazione L1 (LASSO).
La selezione delle caratteristiche è il processo di selezione di un sottoinsieme ottimale di caratteristiche da un dato insieme di caratteristiche; il sottoinsieme ottimale è quello che massimizza le prestazioni del modello nell'attività data.
La selezione delle caratteristiche può essere un processo manuale o, più precisamente, esplicito, se eseguita utilizzando metodi di filtraggio o di avvolgimento . In questi metodi, le caratteristiche vengono ripetutamente aggiunte o rimosse in base a un valore metrico fisso, che determina l'importanza della caratteristica per effettuare le previsioni. Queste metriche possono essere il guadagno di informazione, la varianza o la statistica del chi-quadrato, e l'algoritmo deciderà se accettare o rifiutare una caratteristica in base a una soglia fissa sulla metrica. È importante notare che questi metodi non fanno parte della fase di addestramento del modello e vengono eseguiti in precedenza.

I metodi integrati identificano implicitamente le caratteristiche senza utilizzare criteri di selezione predefiniti ed estraggono le stesse dalle informazioni di addestramento. Questo processo di identificazione delle caratteristiche intrinseche fa parte della fase di addestramento del modello. Il modello impara a identificare le caratteristiche e a fare previsioni correlate simultaneamente. Nelle sezioni successive, descriveremo il ruolo della regolarizzazione in questo processo di identificazione delle caratteristiche intrinseche, concentrandoci sulla regolarizzazione L1 e sul suo ruolo nel miglioramento dei modelli di apprendimento automatico.
Normalizzazione e complessità del modello: strategie avanzate per migliorare le prestazioni
La regolarizzazione è il processo di penalizzazione della complessità del modello per evitare l'overfitting e ottenere la generalizzazione al compito.
In questo contesto, la complessità del modello è analoga alla sua capacità di adattarsi ai pattern presenti nei dati di addestramento. Ipotizzando un semplice modello polinomiale in ' x ' con grado ' d ', maggiore è il grado ' d ' del polinomio, maggiore è la flessibilità del modello nel catturare i pattern presenti nei dati osservati. Questa maggiore flessibilità può portare il modello a memorizzare i dati di addestramento anziché apprendere i pattern reali, riducendo così la sua capacità di generalizzare a nuovi dati.
Sovraadattamento e sottoadattamento
Quando si tenta di adattare un modello polinomiale di grado d = 2 a un insieme di campioni di addestramento derivati da un polinomio di terzo grado con del rumore, il modello non riesce a catturare adeguatamente la distribuzione del campione. Il modello semplicemente non possiede la flessibilità o la complessità necessarie per modellare i dati generati da polinomi di terzo grado (o superiori). Si dice che questo modello è sottodimensionato sui dati di addestramento. Il sottodimensionamento indica che il modello è troppo semplicistico e non è in grado di catturare i pattern sottostanti nei dati.
Riprendendo lo stesso esempio, supponiamo ora di avere un modello con grado d = 6. Con l'aumento della complessità, il modello dovrebbe essere in grado di stimare facilmente il polinomio cubico originale utilizzato per generare i dati (ad esempio, impostando a 0 i coefficienti di tutti i termini con esponenti > 3). Se il processo di addestramento non viene interrotto in tempo, il modello continuerà a sfruttare la sua maggiore flessibilità per ridurre ulteriormente l'errore e inizierà a raccogliere anche campioni di rumore. Questo ridurrà significativamente l'errore di addestramento, ma il modello soffrirà di sovraccarico dei dati di addestramento. Il rumore cambierà nelle condizioni reali (o durante la fase di test) e qualsiasi conoscenza basata sulle previsioni verrà compromessa, con conseguente elevato errore di test. Il sovraccarico significa che il modello è troppo complesso e sta apprendendo il rumore anziché il segnale reale.
Come determinare la complessità ottimale del modello?
In contesti pratici, spesso abbiamo una comprensione limitata o nulla del processo di generazione dei dati o della loro reale distribuzione. Trovare il modello ottimale con la complessità appropriata, in modo che non si sovrapponga o non si adatti, è una sfida significativa. Ciò richiede l'utilizzo di metodi efficaci per valutare le prestazioni del modello e determinare la complessità appropriata che consenta di raggiungere il miglior equilibrio tra accuratezza e generalità. Utilizzando metriche di valutazione e tecniche appropriate come la convalida incrociata, i professionisti possono identificare il modello che offre le migliori prestazioni su dati non visibili, evitando così problemi di sovraadattamento o sottoadattamento.
Una possibile tecnica è quella di partire da un modello sufficientemente robusto e poi ridurne la complessità selezionando le caratteristiche. Minore è il numero di caratteristiche, minore è la complessità del modello.
Come discusso nella sezione precedente, la selezione delle feature può essere esplicita (metodi di filtraggio, metodi di convoluzione) o implicita. Le feature ridondanti che non sono critiche per determinare il valore della variabile target devono essere eliminate per impedire al modello di apprendere pattern non correlati. Anche la regolarizzazione svolge un compito simile. Quindi, in che modo la regolarizzazione e la selezione delle feature si relazionano al raggiungimento di un obiettivo comune di complessità ottimale del modello? Ridurre la complessità nei modelli di apprendimento automatico è fondamentale per migliorare le prestazioni ed evitare l'overfitting, che è ciò su cui si concentrano sia la regolarizzazione che la selezione delle feature.
Regolarizzazione L1 come determinante delle caratteristiche
Proseguendo con il nostro modello polinomiale, lo rappresentiamo come una funzione di f, con input x , coefficienti θ e grado d ,
![]()
Per il modello polinomiale, ogni potenza dell'input x_i può essere considerata una caratteristica, formando un vettore come segue:
![]()
Definiamo inoltre una funzione obiettivo, la cui riduzione porta ai parametri ideali θ* e include il termine di regolarizzazione , che penalizza la complessità del modello.

Per trovare il minimo di questa funzione, dobbiamo analizzare tutti i punti critici, cioè i punti in cui la derivata è zero o indefinita.
La derivata parziale rispetto a uno dei parametri, θj , può essere scritta come segue:

La funzione sgn è definita come segue:

Nota : la derivata di una funzione assoluta differisce dalla funzione segno (sgn) definita sopra. La derivata originale non è definita in x = 0. Estendiamo la definizione per rimuovere il punto di flesso in x = 0 e per rendere la funzione derivabile su tutto il suo dominio. Inoltre, i framework di apprendimento automatico (ML) utilizzano queste funzioni estese quando le operazioni aritmetiche di base coinvolgono la funzione assoluta. Consulta questo link nel forum di PyTorch.
Calcolando la derivata parziale della funzione obiettivo rispetto a un singolo coefficiente θj e ponendola uguale a zero, possiamo costruire un'equazione che mette in relazione il valore ottimale di θj con previsioni, obiettivi e caratteristiche.


Esaminiamo l'equazione precedente. Se assumiamo che gli input e i target siano centrati attorno alla media (ovvero, che i dati siano stati standardizzati nella fase di preelaborazione), allora il termine a sinistra (LHS) rappresenta effettivamente la varianza tra la caratteristica numero j e la differenza tra i valori attesi e i valori target.
La covarianza statistica tra due variabili determina l'entità dell'influenza di una variabile sul valore della seconda variabile (e viceversa).
La funzione segno sul lato destro impone alla varianza sul lato sinistro di assumere solo tre valori (poiché la funzione segno restituisce solo -1, 0 e 1). Se la caratteristica j non è necessaria e non influenza le previsioni, la varianza sarà vicina a zero, il che rende nullo il coefficiente corrispondente θj* . Questo comporta la rimozione della caratteristica dal modello. Questo processo contribuisce a ridurre la complessità e a migliorare le prestazioni del modello.
Si pensi alla funzione segnale come a un canyon scavato dall'acqua. Si può camminare lungo il canyon (ovvero il letto del fiume), ma per uscirne si incontrano enormi barriere o pendii ripidi. La regolarizzazione L1 crea un effetto "soglia" simile al gradiente della funzione di perdita. Il gradiente deve essere sufficientemente forte da superare le barriere o diventare nullo, determinando infine l'azzeramento del valore del parametro.
Per fornire un esempio più realistico, si consideri un set di dati contenente campioni derivati da una linea retta (modello a due parametri) con un po' di rumore aggiunto. Un modello ottimale non dovrebbe avere più di due parametri, altrimenti si adatterà al rumore presente nei dati (con l'aggiunta della libertà/potenza del polinomio). La modifica dei parametri di potenza più elevata in un modello polinomiale non influisce sulla differenza tra i target e le previsioni del modello, riducendone quindi la varianza rispetto alla feature.
Durante il processo di addestramento, un passo fisso viene aggiunto/sottratto al gradiente della funzione di perdita. Se il gradiente della funzione di perdita (MSE – errore quadratico medio) è inferiore al passo fisso, il coefficiente alla fine raggiungerà 0. Si noti l'equazione seguente, che illustra come i coefficienti vengono aggiornati utilizzando la discesa del gradiente:


Se la parte blu sopra è minore di λα , che è di per sé un numero molto piccolo, allora Δθj è approssimativamente un passo costante di λα . Il segno di questo passo (la parte rossa) dipende da sgn(θj) , il cui output dipende da θj . Se il valore di θj è positivo, cioè maggiore di ε , allora sgn(θj) è uguale a 1, rendendo così Δθj approssimativamente uguale a -λα , spingendolo verso zero.
Per sopprimere un passo costante (parte rossa) che azzeri il parametro, il gradiente della funzione di perdita (parte blu) deve essere maggiore della dimensione del passo. Per ottenere un gradiente maggiore della funzione di perdita, il valore della caratteristica deve influenzare significativamente l'output del modello.
In questo modo la caratteristica, o più precisamente il suo parametro corrispondente, il cui valore non è correlato all'output del modello, viene azzerata dalla regolarizzazione L1 durante l'addestramento.
Ulteriori letture e conclusione
- Per avere maggiori informazioni su questo argomento, ho pubblicato una domanda su reddit r/MachineLearning eAzione supplementare Contiene diverse interpretazioni che potresti voler leggere.
- Madiyar Aitbayev ha anche blog interessante Riguarda la stessa domanda, ma con una spiegazione ingegneristica.
- Blog Brian King spiega l'organizzazione da una prospettiva probabilistica.
- questo Discussione Sul sito web CrossValidated spiega perché il criterio L1 incoraggia modelli sparsi. Blog Un articolo dettagliato di Mukul Ranjan spiega perché la norma L1 incoraggia le transazioni a diventare zero, mentre la norma L2 no.
"La regolarizzazione L1 seleziona le caratteristiche" è un'affermazione semplice con cui la maggior parte degli studenti di machine learning concorda, senza però approfondire il suo funzionamento interno. Questo blog si propone di condividere con i lettori la mia comprensione e il mio modello mentale per rispondere alla domanda in modo intuitivo. Per suggerimenti e domande, potete trovare il mio indirizzo email sul mio sito web . Continuate ad imparare e buona giornata!
I commenti sono chiusi.