Perché la norma L1 per i modelli sparsi


97

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?


4
Fondamentalmente, la scarsità è indotta da spigoli vivi che si trovano sull'asse di una superficie isosuperiore. La migliore spiegazione grafica che ho trovato finora è in questo video: youtube.com/watch?v=sO4ZirJh9ds
felipeduque

1
C'è un articolo di blog sullo stesso chioka.in/…
prashanth

Controlla il seguente post di Medium. Potrebbe essere utile medium.com/@vamsi149/…
solver149

Risposte:


111

Considera il vettore dove è piccolo. Le norme e di , rispettivamente, sono date daε>0l1l2xx=(1,ε)R2ε>0l1l2x

||x||1=1+ε,  ||x||22=1+ε2

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-δxδεx11δ

||X-(δ,0)||1=1-δ+ε,  ||X-(δ,0)||22=1-2δ+δ2+ε2

D'altra parte, ridurre di dà delle norme δX2δ

||X-(0,δ)||1=1-δ+ε,  ||X-(0,δ)||22=1-2εδ+δ2+ε2

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 20 l 1 l 2 l 2 ε 0 ε l 1 δl2X1X20l1l2l2ε0εl1δ, 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 2l1l2


3
Grazie per la tua risposta! Non sono convinto dall'ultimo punto, però. Se esegui una regressione lineare non penalizzata, difficilmente otterrai soluzioni sparse (mentre l'aggiunta di una penalità L1 ti darà spesso scarsità). Quindi le penalità L1 incoraggiano infatti la scarsità inviando coefficienti che iniziano esattamente da zero a zero.
Stefan Wager,

2
@StefanWager forse è un po 'un'esagerazione, ma penso sia vero che non c'è niente di speciale sulla penalità qui: una penalità per qualsiasi indurrà anche la scarsità, ma le vedi meno spesso in pratica (probabilmente perché non sono convessi). Se vuoi davvero solo la scarsità, allora una penalità (proporzionale al numero di voci diverse da zero) è la strada da percorrere, succede solo che è un po 'un incubo con cui lavorare. l α α 1 l 0l1lαα1l0
bnaul

1
Sì, è corretto. Ci sono molte norme che portano alla scarsità (ad esempio, come hai detto, qualsiasi norma Lp con p <= 1). In generale, qualsiasi norma con un angolo acuto a zero induce la scarsità. Quindi, tornando alla domanda originale - la norma L1 induce la scarsità avendo un gradiente discontinuo a zero (e qualsiasi altra penalità con questa proprietà lo farà anche).
Stefan Wager,

3
Nel caso in cui qualcuno voglia leggere di più, esiste una letteratura attiva sulle funzioni di penalità non convesse che sono alternative alla norma L1 (ad esempio, recentemente, papers.nips.cc/paper/… ).
Stefan Wager,

1
ottima risposta mi chiedo da un po 'di tempo fino a quando non ho trovato questo.
Hady Elsahar,

73

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 .(w1,w2,...,wm)

Con la regolarizzazione L1, si penalizza il modello con una funzione di perdita =.L1(w)Σio|wio|

Con la regolarizzazione L2, si penalizza il modello con una funzione di perdita =1L2(w)12Σiowio2

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)=(w1dL1(w)dw=Siogn(w) , doveSiogn(w)=(w1|w1|,w2|w2|,...,wm|wm|)

dL2(w)dw=w

Se tracciamo la funzione di perdita ed è derivata per un modello costituito da un solo parametro, è simile a questo per L1:

inserisci qui la descrizione dell'immagine

E così per L2:

inserisci qui la descrizione dell'immagine

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 2L1w1=0L2

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 :η = 1w1=5 w1:=w1-ηdL1(w)η=12w1=0w1: =w1-ηdL1(w)dw=w1-121w1=0

inserisci qui la descrizione dell'immagine

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)η=12w1w1: =w1-ηdL2(w)dw=w1-12w1

inserisci qui la descrizione dell'immagine

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.η


3
Qualcuno potrebbe spiegarmi, perché non entreremo in un ciclo infinito quando prendiamo il peso iniziale w1 = 5.1 invece di 5. Sia w = 0.1, w> 0 quindi la nostra derivata parziale è uguale a 1 quindi eseguire il secondo passaggio, ora w <0 => derivata = -1:Quindi oscilleremo senza fine vicino a 0.w f i r s t s t e p = 0.1 - 0.5 ( + 1 ) = > w = - 0.4 w s e c o n d s t e p = - 0.4 - 0.5 ( - 1 ) = 0.1.
η=0.5
wfiorSt Step=0.1-0.5*(+1)=>w=-0.4
wSecondStep=-0.4-0.5*(-1)=0.1.
Alex Yashin il

5
@AlexYashin è corretto: se aggiornassimo solo i pesi in base alla regolarizzazione L1, potremmo finire per avere pesi che oscillano vicino a 0. Ma non usiamo mai la regolarizzazione da soli per regolare i pesi. Usiamo la regolarizzazione in combinazione con l'ottimizzazione di una funzione di perdita. In questo modo, la regolarizzazione spinge i pesi verso lo zero mentre allo stesso tempo proviamo a spingere i pesi su un valore che ottimizzi le previsioni. Un secondo aspetto è il tasso di apprendimento. Con un tasso di apprendimento più piccolo, possiamo avvicinarci al valore che la regolarizzazione può oscillare attorno al punto da poterla trascurare
Kent Munthe Caspersen,

1
Perché dL2(w)/dw'module' e non solo lineare?
MrGloom,

1
@mrgloom dL2(w)/dwpuò 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.
Kent Munthe Caspersen,

1
@KentMuntheCaspersen Incredibile spiegazione! Grazie per i grafici e lo sforzo che hai investito per renderlo intuitivo!
Lascio

15

La Figura 3.11 di Elements of Statistical Learning di Hastie, Tibshirani e Friedman è molto illustrativa:inserisci qui la descrizione dell'immagine

β^β1β2β^L1L2) 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à.

L1


16
L'illustrazione non è molto convincente senza ulteriori informazioni. Ad esempio, perché i contorni dell'errore dovrebbero essere posizionati dove sono nella figura?
wabbit,

@HrishikeshGanu Alla fine ho avuto del tempo per modificare il post.
Zhanxiong,

Tutti i contorni avranno la stessa forma ...
kjetil b halvorsen,

1
β^β1β2β1=β2

13

β^β^1(β^)<t2(β^)<t

11{X:1(X)1}

Più in generale, questo libro è un buon riferimento su questo argomento: sia rigorose che ben illustrate, ottime spiegazioni.


3
Penso che il tuo secondo paragrafo sia una chiave ... almeno per la mia intuizione: una l1 "palla" è più simile a un diamante che è appuntito lungo gli assi, il che significa che un iperpiano costretto a colpirlo ha più probabilità di avere uno zero su gli assi.
Wayne,

2
β^1212β^

3
Il libro è buono, ma non spiega mai da dove viene e la matematica dietro di esso.
user13985,

2

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.


Non molto convincente per me.
Tyler 十三 将士 归 玉门

2

Norma L1 vs Norma L2

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


2β1=1β1=0L1
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.