Виведення розчину ласо в закритій формі


52

Для проблеми з ласо таким, що \ | \ beta \ | _1 \ leq t . Я часто бачу результат м'якого порогу \ beta_j ^ {\ text {lasso}} = \ mathrm {sgn} (\ beta ^ {\ text {LS}} _ j) (| \ beta_j ^ {\ text {LS}} | | - \ гамма) ^ + для ортонормального випадку X. Стверджується, що рішення може бути "легко показано" таким, але я ніколи не бачив відпрацьованого рішення. Хтось бачив один чи, можливо, зробив виведення?minβ(YXβ)T(YXβ)β1t

βjlasso=sgn(βjLS)(|βjLS|γ)+
X

Це здається трохи заплутаним. На початку ви припускаєте обмеження t а в рішення вводите параметр γ . Я здогадуюсь, що ви маєте намір пов'язати це двоє через подвійну проблему, але, можливо, ви зможете зрозуміти, що шукаєте.
кардинал

2
Частково реагуючи на @cardinal, пошук β який мінімізує (YXβ)(YXβ) умови β1t , еквівалентний знаходженню β що мінімізує (YXβ)(YXβ)+γj|βj|. Існує взаємозв'язок 1-1 між t і γ . Щоб "легко" зрозуміти, чому результат м'якого порогового значення такий, я рекомендую вирішити другий вираз (у моєму коментарі).

2
Ще одна примітка, коли знаходить β що мінімізує (YXβ)(YXβ)+γj|βj|, розділіть проблему на βj>0 , βj<0 і β=0 .

2
@cardinal А так, 1-1 невірно. Виправлення: для кожного t0 ви можете знайти γ0 .

3
Дякую за чудову дискусію! Я натрапив на це відео на курсі - Отримання оновлення спуску координат ласо , що дуже актуально для цієї дискусії, і проходить рішення дуже елегантно. Може бути корисним для майбутніх відвідувачів :-)
zorbar

Відповіді:


64

На це можна напасти різними способами, включаючи досить економічні підходи через умови Каруша – Куна – Таккера .

Нижче - досить елементарний альтернативний аргумент.

Рішення з найменшими квадратами для ортогональної конструкції

Припустимо, складається з ортогональних стовпців. Тоді рішення з найменшими квадратами - X

β^LS=(XTX)1XTy=XTy.

Деякі еквівалентні проблеми

Через форму зрозуміти, що еквівалентною проблемою, що розглядається у питанні, є

minβ12yXβ22+γβ1.

Розгортаючи перший доданок, отримуємо і оскільки не містить жодного цікавих змінних, ми можемо відмовитись від неї та розглянути ще одну еквівалентну проблему 12yTyyTXβ+12βTβyTy

minβ(yTXβ+12β2)+γβ1.

Зауваживши, що , попередню проблему можна переписати як β^LS=XTy

minβi=1pβ^iLSβi+12βi2+γ|βi|.

Наша цільова функція - це сукупність цілей, кожна з яких відповідає окремій змінній , тому кожне може вирішуватися індивідуально.βi

Ціле дорівнює сумі його частин

Зафіксуйте певне . Тоді ми хочемо мінімізувати i

Li=β^iLSβi+12βi2+γ|βi|.

Якщо , тоді ми повинні мати оскільки в іншому випадку ми можемо перевернути його знак і отримати меншу величину для цільової функції. Так само, якщо , тоді ми повинні вибрати .β^iLS>0βi0β^iLS<0βi0

Випадок 1 : . Оскільки , та диференціюючи це відносно та встановивши рівне нулю , ми отримуємо і це можливо лише в тому випадку, якщо правий бік невід'ємний, тож у цьому випадку фактичне рішення - β^iLS>0βi0

Li=β^iLSβi+12βi2+γβi,
βiβi=β^iLSγ
β^ilasso=(β^iLSγ)+=sgn(β^iLS)(|β^iLS|γ)+.

Випадок 2 : . Це означає, що ми повинні мати і так Диференціюючи відносно та встановивши рівне нулю, отримаємо . Але, знову ж таки, щоб переконатися, що це можливо, нам знадобиться , що досягається, приймаючи β^iLS0βi0

Li=β^iLSβi+12βi2γβi.
βiβi=β^iLS+γ=sgn(β^iLS)(|β^iLS|γ)βi0
β^ilasso=sgn(β^iLS)(|β^iLS|γ)+.

В обох випадках ми отримуємо бажану форму, і так ми закінчуємо.

Заключні зауваження

Зауважте, що як збільшується, то кожен зобов'язково зменшується, отже, і . Коли , ми відновимо рішення OLS, і для, отримуємо для всіх .γ|β^ilasso|β^lasso1γ=0γ>maxi|β^iLS|β^ilasso=0i


2
Чудова запис @cardinal!
Гері

9
+1 Всю другу половину можна замінити простим спостереженням , що цільова функція є об'єднання частин двох опуклих парабол з вершинами на , де негативний знак приймається за а позитивний в іншому випадку. Формула - це просто фантазійний спосіб вибору нижньої вершини. β12β2+(±γβ^)β±γβ^β<0
whuber

Якщо можливо, я хотів би побачити виводи, використовуючи умови оптимальності KKT. Які ще способи отримати цей результат?
користувач1137731

5
@Cardinal: дякую за приємне виведення. Одне спостереження. Якщо я пригадую, матриця з ортогональними стовпцями не є такою ж, як ортогональна (також ортонормальна) матриця. Тоді для деякої діагональної матриці (не обов'язково матриці тотожності). З припущенням ортогональної матриці (як це в оригінальному питанні), у нас є і все виглядає чудово :)XX=DDXX=I
Олег Мельников

@cardinal Я не розумію, чому ви говорите: "оскільки в іншому випадку ми можемо перевернути його знак і отримати меншу величину для цільової функції". Ми беремо похідну від цільової функції. То що робити, якщо цільова функція є вищою чи нижчою, кого це хвилює. Все, що нас цікавить, - це похідна, яка встановлена ​​на нуль, ми ставимося до екстремуму. Будь то вища чи нижча на постійну, це не впливає на аргмін.
user13985

7

Припустимо , що коваріат , стовпці , також стандартизовані , так що . Це просто для зручності пізніше: без цього позначення стає просто важчим, оскільки є лише діагональним. Далі припустимо, що . Це необхідне припущення для досягнення результату. Визначте оцінювач найменших квадратів . Потім, (лагранжева форма) ласо-оцінки xjXRn×pXTX=IXTXnpβ^OLS=argminβyXβ22

(defn.)β^λ=argminβ12nyXβ22+λβ1(OLS is projection)=argminβ12nXβ^OLSXβ22+λβ1(XTX=I)=argminβ12nβ^OLSβ22+λβ1(algebra)=argminβ12β^OLSβ22+nλβ1(defn.)=proxnλ1(β^OLS)(takes some work)=Snλ(β^OLS),
\ end {align *} де - проксимальний оператор функції та м'яких порогів на сумуproxffSαα.

Це виведення, яке пропускає детальну деривацію проксимального оператора, яку розробляє Кардинал, але, сподіваюся, уточнює основні кроки, які роблять можливою закриту форму.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.