Modifica del lazo per LARS


12

Sto cercando di capire come l'algoritmo di Lars può essere modificato per generare Lazo. Mentre capisco LARS, non riesco a vedere la modifica del Lazo dall'articolo di Tibshirani et al. In particolare non vedo perché la condizione del segno in quanto il segno della coordinata diversa da zero deve concordare con il segno della correlazione corrente. Qualcuno può aiutarmi per favore con questo. Immagino che sto cercando una prova matematica usando la condizione KKT sul problema della norma L-1 originale, cioè il lazo. Grazie mille!


Ti riferisci a stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf di Efron et al ? Lo dimostra in Lemma 8 della sezione 5. O sto fraintendendo la tua domanda?
Peter Ellis,

1
Inoltre, non sono sicuro della domanda, ma in realtà il Lazo è una semplificazione dei Lars: per il Lazo, stai solo cercando correlazioni positive tra le funzioni di base residue e quelle rimanenti, poiché solo le correlazioni positive portano a positive coefficienti (~ non negativi).
Mr. White,

Risposte:


2

Sia (dimensione ) denota un insieme di input standardizzati, (dimensione ) risposte centrate, pesi di regressione (dimensione ) e coefficiente di penalizzazione a -norm.n × p y n × 1 β p × 1 λ > 0 l 1Xn×pyn×1βp×1λ>0l1

Il problema LASSO scrive quindi

β=argminβ L(β,λ)L(β,λ)=yXβ22+λβ1

Risolvendolo per tutti i valori di ottiene il cosiddetto percorso di regolarizzazione LASSO .λ>0β(λ)

Per un valore fisso del coefficiente di penalizzazione (ovvero numero fisso di predittori attivi = passo fisso dell'algoritmo LARS), è possibile mostrare che soddisfa (basta scrivere la condizione di stazionarietà KKT come in questo risposta )λβ

λ=2 sign(βa)XaT(yXβ),   aA

con rappresenta l'insieme di predittori attivi.A

Poiché deve essere positivo (è un coefficiente di penalizzazione), è chiaro che il segno di (peso di qualsiasi predittore diverso da zero quindi attivo) dovrebbe essere lo stesso di quello di cioè la correlazione con l'attuale regressione residua.λβaXaT(yXβ)=XaTr


1

@ Mr._White ha fornito una grande spiegazione intuitiva della principale differenza tra LARS e Lasso; l'unico punto che aggiungerei è che il lazo è (una specie di) come un approccio di selezione all'indietro, eliminando un termine ad ogni passo finché esiste un termine per il quale esistono quelle correlazioni ("normalizzate" su ). LARS mantiene tutto lì dentro - praticamente eseguendo il lazo in ogni ordine possibile. Ciò significa che in Lazo, ogni iterazione dipende da quali termini sono già stati rimossi. X×X

L'implementazione di Effron illustra bene le differenze: lars.R nella fonte pkg per lars . Notare il passaggio di aggiornamento delle matrici matrix e partire dalla riga 180 e l'eliminazione dei termini per i quali . Posso immaginare alcune strane situazioni derivanti da spazi cui i termini sono sbilanciati ( e sono molto correlati ma non con altri, con ma non con altri, ecc.) L'ordine di selezione potrebbe essere piuttosto distorto.X×Xζζmin<ζcurrentAx1x2x2x3

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.