23-04 Example: Pathwise coordinate descent for lasso
이번 절에서는 Pathwise coordinate descent for lasso에 대한 개요를 간단히 소개하도록 한다 [Friedman et al. (2007)] [Friedman et al. (2009)].
Lasso regression problem:
07-03-03 Example: Lasso Optimality Condition에서 lasso regression 문제에 대한 optimality condition을 유도해 보았다. 위 문제에 대한 최적해는 다음의 조건을 만족한다.
Note:
여기서
이 optimality condition에 의해
Algorithm
Outer loop (pathwise strategy):
의 순서를 따라 최적해를 계산한다.- Tuning parameter
에서 계산된 결과를 에 대한 coordinate descent algorithm을 초기화하는데 사용한다. (warm start)
Inner loop (active set strategy):
- 하나 혹은 적은 수의 coordinate cycle을 시행한다. 그리고 0이 아닌
의 원소를 active set 에 기록한다. 에 기록된 원소들에 대해서만 수렴할 때까지 coordinate cycle을 시행한다. 의 모든 원소들에 대해 optimality condition을 확인한다. 조건을 만족하지 않는 원소가 있으면 에 추가하고 step 1으로 다시 돌아간다.
Notes
- 통상적으로 pathwise strategy는 문제에서 주어진
에 대한 해를 바로 구하는 것보다 훨씬 효율적으로 동작한다. - Active set strategy는 sparsity에 대해 이점이 있다. 이 때문에 coordinate descent는 ridge regression보다 lasso regression에서 훨씬 더 빠르게 동작한다. (참고: ridge regression과 lasso regression의 경향성 분석)
- Pathwise coordinate descent for lasso는 lasso regression 문제에 대해 가장 빠르다고 알려진 다른 알고리즘들에 비견될만큼 빠르게 동작한다.