Se bem entendi, o glmnet usa descida cíclica de coordenadas não apenas para redes de laço e elástico, mas também para regressão de Ridge.
Por que ele usa esse algoritmo, que às vezes fornece resultados ligeiramente imprecisos, quando existe de fato uma solução fácil de formulário fechado disponível?
Muito obrigado antecipadamente!
lasso
regularization
ridge-regression
glmnet
elastic-net
Benkyozamurai
fonte
fonte
Respostas:
Eu acho que isso é devido à velocidade. A descida cíclica de coordenadas não encontra a solução exata em tempo finito, mas é mais rápida, não apenas para uma grade de 's, mas também para uma única .λ λ
Considere a tarefa de resolver a regressão de crista para um único , com uma matriz de dados de tamanho . Eu acredito que o tempo de execução ideal para a regressão exata da crista é se e se . Consulte Murphy, Machine Learning , seção 7.5.2 para obter uma referência.λ n×p O(n2p) n<p O(np2) n>p
Com o algoritmo de descida cíclica de coordenadas, "um ciclo completo através de todas as variáveis custa operações " (p. 6, Friedman et al. 2010, https://www.jstatsoft.org/article/view/v033i01 ). Pode-se especificar um número de ciclos com para obter um tempo de execução grande-Oh mais rápido para um único . Para resolver muitos 's, o método deve gerar melhorias adicionais usando partidas quentes.p O(pN) c c≪min(n,p) λ λ
glmnet
fonte
Existem outros solucionadores para cume e o objetivo do solucionador glmnet é exatamente o de usar o CCD por razões de rastreabilidade e velocidade. Eles usam o mesmo código para todas as soluções elasticnet. O Elasticnet inclui cume e LASSO configurando ou como .λ1 λ2 0
fonte