Fisher Scoring v / s Discesa coordinata per MLE in R


11

La funzione di base R glm()utilizza Fishers Scoring per MLE, mentre glmnetsembra utilizzare il metodo di discesa delle coordinate per risolvere la stessa equazione. La discesa coordinata è più efficiente in termini di tempo rispetto al punteggio Fisher, in quanto il punteggio Fisher calcola la matrice derivata del secondo ordine, oltre ad alcune altre operazioni con la matrice. il che rende costoso eseguire, mentre la discesa delle coordinate può fare la stessa attività in O (np) tempo.

Perché la funzione di base R dovrebbe utilizzare il punteggio Fisher? Questo metodo ha un vantaggio rispetto ad altri metodi di ottimizzazione? Come si confrontano la discesa delle coordinate e il punteggio Fisher? Sono relativamente nuovo per fare questo campo, quindi qualsiasi aiuto o risorsa sarà utile.

Risposte:


1

L'unico modo per essere sicuri è attraverso il benchmarking, ma per glm il punteggio Fisher dovrebbe essere più veloce della discesa coordinata. Il punteggio di Fisher è un caso speciale di Newton Raphson, che ha un tasso di convergenza più veloce rispetto alla discesa delle coordinate (Newton-Raphson è quadraticamente convergente, mentre la discesa delle coordinate è linearmente convergente.) Quindi, mentre il calcolo delle informazioni di seconda derivata significa che ogni passo richiede di più tempo, può richiedere molti meno passaggi rispetto alla coordinata di discesa.

Per il lazo, la forma speciale del termine di penalità lo rende un caso molto speciale (e in effetti il ​​valore assoluto non è comunque differenziabile, anche se a volte è possibile perfezionarlo). Per questo problema speciale, la discesa delle coordinate si rivela particolarmente veloce. Ci sono molti altri problemi di ottimizzazione in cui in pratica Newton-Raphson è più veloce.

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.