올가미에 대한 LARS 대 좌표 하강


13

L1 정규 선형 회귀 피팅에 LARS [1] 사용과 좌표 하강 사용의 장단점은 무엇입니까?

나는 주로 퍼포먼스 측면에 관심이있다 (내 문제는 N수십만에서 p20 이하인 경향이있다 ). 그러나 다른 통찰력도 인정 될 것이다.

편집 : 내가 질문을 게시 한 후 chl은 Friedman 등의 논문 [2]에 좌표 하강이 다른 방법보다 상당히 빠른 것으로 나타났습니다. 이 경우, 실무자로서 단순히 좌표 강하를 선호하는 LARS를 잊어야합니까?

[1] 에프론, 브래들리; Hastie, Trevor; Johnstone, Iain and Tibshirani, Robert (2004). "최소 각 회귀". 통계의 해석 32 (2) : 407-499 쪽.
[2] Jerome H. Friedman, Trevor Hastie, Rob Tibshirani, "좌표 하강을 통한 일반 선형 모형의 정규화 경로", 통계 소프트웨어 저널, Vol. 33, Issue 1, 2010 년 2 월.

답변:


13

scikit-learn에서 좌표 하강을 사용한 Lasso 의 구현은 LARS 구현보다 빠르지 만 작은 p (예 : 귀하의 경우)는 거의 동일하지만 (LARS는 최신 최적화로 조금 더 빠를 수도 있습니다. 마스터 레포). 또한 좌표 하강은 탄성 그물 정규화 문제를 효율적으로 구현할 수 있습니다. LARS의 경우에는 해당되지 않습니다 (일명 L1 처벌 문제인 Lasso 만 해결).

Elastic Net Penalization은 Lasso (리지 능형 회귀 솔루션에 더 가까운)보다 Lasso (일반적인 피처 선택)를 유발하는 희소성을 유지하면서 더 나은 일반화를 제공하는 경향이 있습니다.

큰 N (및 큰 p, 희소 여부)의 경우 확률 적 그라디언트 하강 (L1 또는 탄성 순 페널티)을 시도해 볼 수도 있습니다 (scikit-learn에서도 구현 됨).

편집 : LassoLARS와 scikit-learn 의 좌표 하강 구현비교 하는 벤치 마크 가 있습니다.


(+1) @ogrisel 감사합니다! 아마 이것을 직접 코딩해야 할 것이므로 (Java에서 필요하고 아직 오픈 소스 Java 구현을 보지 못했음), 구현하기 쉬운 알고리즘은 무엇입니까?
NPE

1
좌표 하강 및 SGD는 모두 구현하기 쉽습니다 (Leon Bottou의 웹 페이지에서 SGD에 대한 좋은 소개를 확인하십시오). LARS는 아마도 더 까다로울 수 있습니다.
ogrisel

감사합니다! Léon Bottou의 사이트를 확인하겠습니다.
NPE

@ogrisel (+1) 만나서 반가워요.
chl

2
@ aix scikit-learn의 현재 구현에 대한 벤치 마크를 추가하기 위해 답변을 편집했습니다. 또한 자신의 좌표 강하를 구현하기 전에 liblinearJava 버전을 확인하십시오 .L1 과 L2 reg를 동시에 가질 수는 없지만 충분합니다.
ogrisel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.