Sto leggendo i libri sulla regressione lineare. Ci sono alcune frasi sulla norma L1 e L2. Li conosco, ma non capisco perché la norma L1 per i modelli sparsi. Qualcuno può dare una spiegazione semplice?
Sto leggendo i libri sulla regressione lineare. Ci sono alcune frasi sulla norma L1 e L2. Li conosco, ma non capisco perché la norma L1 per i modelli sparsi. Qualcuno può dare una spiegazione semplice?
Risposte:
Considera il vettore dove è piccolo. Le norme e di , rispettivamente, sono date daε>0l1l2 → x
Ora dite che, come parte di una procedura di regolarizzazione, ridurremo la grandezza di uno degli elementi di di . Se cambiamo in , le norme risultanti sono δ≤εx11-δ
D'altra parte, ridurre di dà delle norme δ
La cosa da notare qui è che, per una penalità , la regolarizzazione del termine più grande comporta una riduzione della norma molto maggiore rispetto al termine più piccolo . Per la penalità , tuttavia, la riduzione è la stessa. Pertanto, quando si penalizza un modello usando la norma , è altamente improbabile che nulla venga mai impostato a zero, poiché la riduzione della norma va da a è quasi inesistente quando è piccolo. D'altra parte, la riduzione della norma è sempre uguale ax 1 x 2 ≈ 0 l 1 l 2 l 2 ε 0 ε l 1 δ, indipendentemente dalla quantità penalizzata.
Un altro modo di pensarci: non è tanto che le penalità incoraggiano la scarsità, ma che le penalità in un certo senso scoraggiano la scarsità producendo rendimenti decrescenti man mano che gli elementi si avvicinano allo zero.l 2
Con un modello scarno, pensiamo a un modello in cui molti dei pesi sono 0. Pensiamo quindi a come è più probabile che la regolarizzazione L1 crei pesi 0.
Considera un modello costituito dai pesi .
Con la regolarizzazione L1, si penalizza il modello con una funzione di perdita =.
Con la regolarizzazione L2, si penalizza il modello con una funzione di perdita =1
Se si utilizza la discesa gradiente, si modificheranno ripetutamente i pesi nella direzione opposta al gradiente con una dimensione del passo moltiplicata per il gradiente. Ciò significa che un gradiente più ripido ci farà fare un passo più grande, mentre un gradiente più piatto ci farà fare un passo più piccolo. Esaminiamo i gradienti (sottogradiente nel caso di L1):
sign(w)=(w1 , dove
Se tracciamo la funzione di perdita ed è derivata per un modello costituito da un solo parametro, è simile a questo per L1:
E così per L2:
Si noti che per , il gradiente è 1 o -1, tranne quando . Ciò significa che la regolarizzazione L1 sposta qualsiasi peso verso 0 con la stessa dimensione del gradino, indipendentemente dal valore del peso. Al contrario, puoi vedere che il gradiente sta diminuendo linearmente verso 0 mentre il peso si avvicina a 0. Pertanto, la regolarizzazione L2 sposta anche qualsiasi peso verso 0, ma farà passi sempre più piccoli man mano che il peso si avvicina a 0.w 1 = 0 L 2
Prova a immaginare di iniziare con un modello con e utilizzando . Nell'immagine seguente, puoi vedere come la discesa gradiente usando la regolarizzazione L1 fa 10 degli aggiornamenti , fino a raggiungere un modello con :η = 1 w1:=w1-η⋅dL1(w)w1=0
In constrast, con la regolarizzazione L2 dove , il gradiente è , facendo sì che ogni passo sia solo a metà strada verso 0. Ossia, facciamo l'aggiornamento Pertanto, il modello non raggiunge mai un peso pari a 0, indipendentemente da quanti passaggi adottiamo: w1w1:=w1-η⋅dL2(w)
Si noti che la regolarizzazione L2 può fare in modo che un peso raggiunga lo zero se la dimensione del passo è così alta da raggiungere lo zero in un singolo passo. Anche se la regolarizzazione L2 da sola sovrasta o abbassa 0, può comunque raggiungere un peso di 0 se usato insieme a una funzione obiettiva che cerca di minimizzare l'errore del modello rispetto ai pesi. In tal caso, trovare i pesi migliori del modello è un compromesso tra regolarizzazione (con pesi piccoli) e riduzione al minimo delle perdite (adattamento dei dati di allenamento), e il risultato di tale compromesso può essere che il valore migliore per alcuni pesi sono 0.
dL2(w)/dw
'module' e non solo lineare?
dL2(w)/dw
può essere letto come la variazione di L2(w)
ogni variazione di peso. Dal momento che la regolarizzazione L2 quadra i pesi, L2(w)
cambierà molto di più per lo stesso cambio di pesi quando abbiamo pesi più alti. Questo è il motivo per cui la funzione è convessa quando la traccia. Per L1, tuttavia, il cambio di L1(w)
per cambio di pesi è lo stesso indipendentemente da quali siano i tuoi pesi - questo porta ad una funzione lineare.
La Figura 3.11 di Elements of Statistical Learning di Hastie, Tibshirani e Friedman è molto illustrativa:
) regressione rispettivamente. Euristicamente, per ogni metodo, stiamo cercando l'intersezione delle ellissi rosse e della regione blu poiché l'obiettivo è minimizzare la funzione di errore mantenendo la fattibilità.
Più in generale, questo libro è un buon riferimento su questo argomento: sia rigorose che ben illustrate, ottime spiegazioni.
Una semplice risposta non matematica sarà:
Per L2: il termine penalità è quadrato , quindi quadrare un valore piccolo lo renderà più piccolo. Non dobbiamo raggiungere lo zero per raggiungere il nostro obiettivo di ottenere un errore quadratico minimo, lo otterremo prima.
Per L1: il termine di penalità è assoluto , potremmo aver bisogno di andare a zero poiché non ci sono catalizzatori per ridurre le dimensioni .
Questo è il mio punto di vista.
L'immagine mostra le forme dell'area occupata dalle norme L1 e L2. La seconda immagine è composta da vari contorni di discesa a gradiente per vari problemi di regressione. In tutti i grafici di contorno, osservare il cerchio rosso che interseca la cresta o la norma L2. l'intersezione non è sugli assi. Il cerchio nero in tutti i contorni rappresenta quello che intercetta la norma L1 o Lazo. Si interseca relativamente vicino agli assi. Ciò si traduce in coefficienti a 0 e quindi nella selezione delle caratteristiche. Quindi la norma L1 rende il modello scarno.
Spiegazione più dettagliata al seguente link: Fare clic su Pubblica su Verso Data Science