Quando la regolarizzazione di L1 funzionerà meglio di L2 e viceversa?


30

Nota: so che L1 ha proprietà di selezione delle caratteristiche. Sto cercando di capire quale scegliere quando la selezione delle funzionalità è completamente irrilevante.

  1. Come decidere quale regolarizzazione (L1 o L2) usare?
  2. Quali sono i pro e i contro di ciascuna delle regolarizzazioni L1 / L2?
  3. Si consiglia di fare prima la selezione delle funzioni usando L1 e quindi applicare L2 su queste variabili selezionate?

2
Si noti che "Selezione funzionalità L1" dovrebbe essere piuttosto chiamato regolarizzazione dello spazio delle funzionalità; ci sono molti modi migliori per fare la selezione delle caratteristiche inteso come ottenere informazioni rilevanti per il problema modellato.

@mbq: sono curioso di sapere quali "metodi molto migliori" intendevi qui?
ameba dice Ripristina Monica il

1
Come quelli elencati qui .

Risposte:


31

Come decidere quale regolarizzazione (L1 o L2) usare?

Qual è il tuo obiettivo? Entrambi possono migliorare la generalizzazione del modello penalizzando i coefficienti, poiché le caratteristiche con relazione opposta al risultato possono "compensarsi" reciprocamente (un grande valore positivo è controbilanciato da un grande valore negativo). Ciò può verificarsi in presenza di funzioni collineari. Piccoli cambiamenti nei dati possono comportare stime di parametri notevolmente diverse (stime di varianza elevata). La penalizzazione può contenere entrambi i coefficienti per essere più piccoli. (Hastie et al, Elements of Statistical Learning , 2nd edition, p. 63)

Quali sono i pro e i contro di ciascuna delle regolarizzazioni L1 / L2?

La regolarizzazione L1 può affrontare il problema della multicollinearità vincolando la norma del coefficiente e fissando alcuni valori di coefficiente a 0. Computazionalmente, la regressione del lasso (regressione con una penalità L1) è un programma quadratico che richiede alcuni strumenti speciali per risolvere. Quando hai più funzioni delle osservazioni N , il lazo manterrà al massimo N coefficienti diversi da zero . A seconda del contesto, potrebbe non essere quello che desideri.

La regolarizzazione L1 viene talvolta utilizzata come metodo di selezione delle funzionalità. Supponiamo di avere una sorta di limite massimo al numero di funzionalità che è possibile utilizzare (poiché la raccolta di dati per tutte le funzionalità è costosa o si hanno vincoli tecnici severi su quanti valori è possibile memorizzare, ecc.). Puoi provare a mettere a punto la penalità L1 per raggiungere il numero desiderato di funzioni diverse da zero.

La regolarizzazione L2 può affrontare il problema della multicollinearità vincolando la norma del coefficiente e mantenendo tutte le variabili. È improbabile stimare che un coefficiente sia esattamente 0. Questo non è necessariamente uno svantaggio, a meno che un vettore di coefficiente rado sia importante per qualche motivo.

Nell'impostazione della regressione, è la soluzione "classica" al problema di stimare una regressione con più funzioni rispetto alle osservazioni. La regolarizzazione L2 può stimare un coefficiente per ogni caratteristica anche se ci sono più caratteristiche che osservazioni (in effetti, questa era la motivazione originale per la "regressione della cresta").

In alternativa, rete elastica consente la regolarizzazione L1 e L2 come casi speciali. Un tipico caso d'uso per uno scienziato di dati nel settore è che vuoi solo scegliere il modello migliore, ma non ti importa necessariamente se viene penalizzato usando L1, L2 o entrambi. La rete elastica è piacevole in situazioni come queste.

Si consiglia di fare prima la selezione delle funzioni usando L1 e quindi applicare L2 su queste variabili selezionate?

Non ho familiarità con una pubblicazione che propone una pipeline L1-then-L2, ma probabilmente questa è solo ignoranza da parte mia. Non sembra esserci nulla di sbagliato in questo. Condurrei una revisione della letteratura.

Esistono alcuni esempi di condotte "graduali" simili. Uno è il "lazo rilassato", che applica due volte la regressione del lazo , una volta per selezionare verso il basso da un grande gruppo a un piccolo gruppo di caratteristiche, e in secondo luogo per stimare i coefficienti per l'uso in un modello. Questo utilizza la validazione incrociata ad ogni passaggio per scegliere l'entità della penalità. Il ragionamento è che nel primo passaggio si convalida in modo incrociato e si sceglierà probabilmente una penalità elevata per escludere i predittori irrilevanti; nel secondo passaggio, convalidi incrociati e probabilmente sceglierai una penalità minore (e quindi coefficienti più grandi). Questo è menzionato brevemente in Elements of Statistical Learning con una citazione a Nicolai Meinshausen ("Lazo rilassato". Statistiche computazionali e analisi dei dati Volume 52, numero 1, 15 settembre 2007, pagg. 374-393).

L'utente @amoeba suggerisce anche una pipeline L1-then-OLS; questo potrebbe essere utile perché ha solo 1 iperparametro per l'entità della penalità L1, quindi sarebbe necessario meno giocherellare.

Un problema che può sorgere con qualsiasi pipeline di analisi "graduale" che esegue alcuni passaggi e quindi alcuni altri passaggi separatamente è che non esiste "visibilità" tra questi diversi algoritmi, quindi un processo eredita qualsiasi snooping di dati che si è verificato nei passaggi precedenti. Questo effetto non è trascurabile; la modellazione mal concepita può provocare modelli di immondizia.

Un modo per proteggersi dagli effetti collaterali dello snooping dei dati è la convalida incrociata di tutte le tue scelte. Tuttavia, l'aumento dei costi di calcolo può rivelarsi proibitivo.


Mi dispiace non aver seguito la risposta al mio terzo punto. Puoi spiegare?
GeorgeOfTheRF,

1
Si tratta di rendere correttamente conto dell'ottimismo. Per lo stesso motivo per cui misuriamo le prestazioni su dati fuori campione, è necessario eseguire tutte le fasi di filtraggio / pre-elaborazione in modo da non consentire la perdita di informazioni tra le fasi. Se si esegue la selezione delle funzionalità sull'intero set di dati e quindi si esegue un'analisi, si troverà il segnale nel rumore.
Sycorax dice di reintegrare Monica il

Ok. Quindi qual è l'approccio raccomandato per la selezione delle funzionalità prima di eseguire un modello ML?
GeorgeOfTheRF,

3
La mia raccomandazione è "non farlo". Vedi qui un esempio di come può andare storto: stats.stackexchange.com/questions/164048/… Ma questo è sufficientemente distinto dalla tua domanda iniziale che dovresti semplicemente fare una nuova domanda. (Questo è a tuo vantaggio, poiché sarai in grado di accumulare un rappresentante aggiuntivo sulla nuova domanda.)
Sycorax dice Reinstate Monica il

3
(+1) Non ho visto L1-seguito-da-L2 discusso in letteratura, ma per me ha senso. Ci sono L1-seguito-da-OLS (aka "ibrido LARS-OLS") e L1-seguito-da-L1 (lazo rilassato), quindi si potrebbe anche considerare L1-seguito-da-L2. Finché entrambi gli iperparametri sono validati in modo incrociato, dovrebbe essere una strategia di regolarizzazione praticabile.
ameba dice Reinstate Monica il

19

In generale, se si desidera una previsione ottimale, utilizzare L2. Se vuoi parsimonia per un sacrificio di discriminazione predittiva, usa L1. Ma si noti che la parsimonia può essere illusoria, ad esempio ripetere il processo di lazo usando il bootstrap rivelerà spesso una significativa instabilità nell'elenco delle caratteristiche "selezionate", specialmente quando i predittori sono correlati tra loro.


"Previsione ottimale" - Vuoi dire che L2 in generale offre una maggiore precisione sui dati invisibili?
GeorgeOfTheRF,

3
Sì, soprattutto per quanto riguarda la discriminazione predittiva.
Frank Harrell,

1
L2L1

2
L2L1

Bene, grazie per il chiarimento. Ha senso. (Sì, hai ragione; associo il PD a misure relative alla probabilità di una corretta classificazione e / o ordinazione dei soggetti in termini di rischio, quindi sono stato rapido nel dire "compiti di classificazione"; mio male, dovrei stare più attento.)
usεr11852 dice Reinstate Monic il
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.