Velocità, spese di calcolo di PCA, LASSO, rete elastica


18

Sto cercando di confrontare la complessità computazionale / la velocità di stima di tre gruppi di metodi per la regressione lineare, come distinto in Hastie et al. "Elements of Statistical Learning" (2a edizione), capitolo 3:

  1. Selezione del sottoinsieme
  2. Metodi di restringimento
  3. Metodi che utilizzano direzioni di input derivate (PCR, PLS)

Il confronto può essere molto approssimativo, solo per dare qualche idea. Ritengo che le risposte possano dipendere dalla dimensione del problema e da come si adatta all'architettura del computer, quindi per un esempio concreto si può considerare una dimensione del campione di 500 e 50 regressori candidati. Sono principalmente interessato alla motivazione alla base della complessità computazionale / della velocità di stima, ma non a quanto tempo impiegherebbe un certo processore per il dato esempio.


Quando si utilizza PCR o PLS, il numero di componenti è un parametro di ottimizzazione (simile a nella regressione della cresta). Quindi questi metodi dovranno anche essere validati per trovare il numero ottimale di componenti. LASSO ha anche un parametro di regolarizzazione, ma la rete elastica ne ha due (rete elastica = cresta + LASSO), quindi la validazione incrociata è più costosa. A parte questo, LASSO è probabilmente più lento da montare rispetto a tutti gli altri modelli, perché non ha una soluzione a forma chiusa. λ
ameba dice di reintegrare Monica il

Grazie! Il tuo commento sarebbe una bella risposta se includessi altri due dettagli: (1) quanto costa un'iterazione di PCR e PLS rispetto a una corsa OLS della regressione regolare; (2) quantificare la velocità di LASSO in modo più preciso per renderla comparabile alla velocità della regressione regolare (è polinomialmente, esponenzialmente o linearmente più costosa, e perché).
Richard Hardy,

Sfortunatamente, non ho una risposta pronta a questo, specialmente a (2). Ecco perché ho lasciato solo un commento. +1, a proposito, e congratulazioni con 5k rep!
ameba dice di reintegrare Monica il

1
@amoeba, grazie! Non avrei potuto aspettarmi di raggiungere 5k quando ho iniziato (molto lentamente) l'anno scorso. Ma è molto eccitante e gratificante essere un membro attivo qui a Cross Validated!
Richard Hardy,

@amoeba, penso di avere acquisito la complessità di LASSO se si utilizza l'algoritmo LARS; Ho aggiornato il mio post di conseguenza. Ma non ho letto attentamente il documento LARS, quindi non sono del tutto sicuro che sia corretto ...
Richard Hardy,

Risposte:


5

Gruppo 1 :
La complessità / velocità del gruppo 1. non sembra troppo difficile da capire se vengono utilizzati algoritmi a forza bruta (sebbene possano esserci alternative più efficienti come l'algoritmo "passi da gigante"). Ad esempio, la selezione completa del sottoinsieme richiederà l'adattamento di regressioni dato un pool di funzioni candidateUn adattamento OLS di una regressione lineare ha la complessità di (come per questo post ) dove è la dimensione del campione. Quindi, la complessità totale della selezione di sottogruppi completi a forza bruta dovrebbe essere . K O ( K 2 n ) n O ( 2 K K 2 n )2KKO(K2n)nO(2KK2n)

Gruppo 2 :
La complessità / velocità del gruppo 2. è discussa nelle sezioni 3.8 e 3.9 del libro. Ad esempio, la regressione della cresta con una determinata penalità ha la stessa complessità computazionale di una regressione regolare. Poiché deve essere trovato usando la validazione incrociata, il carico computazionale aumenta linearmente nel numero di suddivisioni dei dati utilizzate nella validazione incrociata (diciamo, ). Se la griglia ha punti, la complessità totale della regressione della cresta con l' ottimizzazione del parametro sarà . Si parla abbastanzaλ S λ L λ O ( L S K 2 n ) λ λ O ( L S K 2 n ) O ( A L S K 2 n ) A αλλSλLλO(LSK2n)
LASSO nel libro, ma non sono riuscito a trovare esattamente ciò di cui ho bisogno. Tuttavia, ho trovato a p. 443 di Efron et al. "Least Angle Regression" (2004) che la complessità di LASSO per un dato è la stessa della complessità di un adattamento OLS di regressione lineare se si utilizza il metodo LARS. Quindi la complessità totale di LASSO con l'ottimizzazione del parametro sarà . (Non ho letto attentamente quel foglio, quindi per favore correggimi se ho sbagliato questo.) La rete elastica combina la cresta e LASSO; i due hanno la stessa complessità computazionale; quindi, la complessità della rete elastica dovrebbe essere dove è la dimensione della griglia del parametro tuningλλO(LSK2n)
O(ALSK2n)Aα che equilibra i pesi della cresta rispetto a LASSO.

Gruppo 3 :
mi manca ancora qualsiasi nota sulla complessità / velocità per il gruppo 3. che consiste nella regressione dei componenti principali (PCR) e dei minimi quadrati parziali (PLS).


2

È solo per una parte della domanda 2 sul gruppo 3 sopra (vale a dire PLS), ma può essere comunque informativo: Srinivasan et al (2010, rapporto tecnico; vedi https://www.umiacs.umd.edu/~balajiv/Papers/ UMD_CS_TR_Pls_Gpu.pdf ) ha effettuato alcune misurazioni su PLS utilizzando l'algoritmo NIPALS - affermando che la complessità temporale (e spaziale) di questo algoritmo è O (dN) - per l'estrazione e includendoli in diversi modelli per a) rilevamento di esseri umani nelle immagini eb ) riconoscimento facciale. Le misurazioni sono state eseguite utilizzando la propria implementazione basata su GPU.

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.