ЛАРС проти координатного спуску для ласо


13

Які плюси та мінуси використання LARS [1] проти використання координатного спуску для встановлення L1-регульованої лінійної регресії?

Мене в основному цікавлять аспекти ефективності (мої проблеми мають, як правило, Nсотні тисяч і p<20). Однак, будь-які інші дані також будуть оцінені.

редагувати: Оскільки я розмістив запитання, chl люб'язно вказав на статтю [2] Friedman et al., де показано, що спуск координат значно швидший, ніж інші методи. Якщо це так, я повинен як практикуючий просто забути про ЛАРС на користь координатного спуску?

[1] Ефрон, Бредлі; Хасті, Тревор; Johnstone, Iain and Tibshirani, Robert (2004). "Найменший кут регресії". Анали статистики 32 (2): С. 407–499.
[2] Джером Х. Фрідман, Тревор Хасті, Роб Тібширані, «Шляхи регуляризації узагальнених лінійних моделей через координатний спуск», Journal of Statistics Software, Vol. 33, випуск 1, лютий 2010 року.

Відповіді:


13

У науковому режимі реалізація Lasso з координатним спуском має тенденцію бути швидшою, ніж наша реалізація LARS, хоча для малих p (таких як у вашому випадку) вони приблизно еквівалентні (LARS може бути навіть трохи швидшим, коли останні оптимізації доступні в майстер-репо). Крім того, координатний спуск дозволяє ефективно реалізовувати задачі з регулюванням еластичної сітки. Це не стосується ЛАРС (це вирішує лише Лассо, він же L1 пеніалізовані проблеми).

Еластична чиста пеналізація має тенденцію до кращого узагальнення, ніж Лассо (ближче до рішення регресії хребта), зберігаючи приємні лазерні риси Лассо (контрольований вибір функції).

Для великих N (і великих p, розріджених чи ні) ви також можете спробувати стохастичний градієнтний спуск (з L1 або пружною сіткою) (спробувати також у scikit-learn).

Редагувати : ось декілька орієнтирів, що порівнюють LassoLARS та впровадження координатного спуску в scikit-learn


(+1) @ogrisel Дякую велике! Оскільки я, мабуть, мені доведеться сам кодувати це (потрібен він на Java і ще не бачив жодних реалізацій Java з відкритим кодом), який алгоритм, на вашу думку, простіший у застосуванні?
NPE

1
і координатний спуск, і SGD легко здійснити (ознайомтеся з веб-сторінкою Леона Ботто на приємне вступ до SGD). LARS, ймовірно, складніше, щоб отримати право.
ogrisel

Чудово, дякую! Я перевірю сайт Леона Ботто.
NPE

@ogrisel (+1) Приємно бачити вас там.
chl

2
@aix Я відредагував свою відповідь, щоб додати деякі орієнтири щодо поточних реалізацій в scikit-learn. Ознайомтесь також з версією java-лінійної версії Java перед тим, як здійснити власний координатний спуск, оскільки це може бути досить добре для вас (хоча ви не можете мати одночасно і L1, і L2 reg).
ogrisel
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.