Чому моє отримання рішення ласо для закритої форми є неправильним?


28

Проблема з ласою має рішення закритої форми: \ beta_j ^ {\ текст {lasso}} = \ mathrm {sgn} (\ beta ^ {\ текст {LS}} _ j) (| \ beta_j ^ {\ текст {LS }} | - \ alpha) ^ + якщо X має ортонормальні стовпці. Це було показано в цій темі: Виведення розчину ласо закритої форми .

βlasso=argminβyXβ22+αβ1
βjlasso=sgn(βjLS)(|βjLS|α)+
X

Однак я не розумію, чому взагалі немає рішення закритої форми. За допомогою піддіфференціалів я отримав наступне.

( X - матриця n×p )

f(β)=yXβ22+αβ1
=i=1n(yiXiβ)2+αj=1p|βj|
( Xi - i-й рядок X )
=i=1nyi22i=1nyiXiβ+i=1nβTXiTXiβ+αj=1p|βj|
fβj=2i=1nyiXij+2i=1nXij2βj+βj(α|βj|)
= \ початок {випадків} -2 \ sum_ {i = 1} ^ ny_i X_ {ij} + 2 \ sum_ {i = 1} ^ n X_ {ij} ^ 2 \ beta_j + \ alpha \ текст {for} \ beta_j > 0 \\ -2 \ sum_ {i = 1} ^ ny_i X_ {ij} + 2 \ sum_ {i = 1} ^ n X_ {ij} ^ 2 \ beta_j - \ alpha \ текст {for} \ beta_j <0 \\ [-2 \ sum_ {i = 1} ^ ny_i X_ {ij} - \ alpha, -2 \ sum_ {i = 1} ^ ny_i X_ {ij} + \ alpha] \ текст {for} \ beta_j = 0 \ end { случаи}
={2i=1nyiXij+2i=1nXij2βj+α for βj>02i=1nyiXij+2i=1nXij2βjα for βj<0[2i=1nyiXijα,2i=1nyiXij+α] for βj=0
З fβj=0 отримаємо

βj={(2(i=1nyiXij)α)/2i=1nXij2for i=1nyiXij>α(2(i=1nyiXij)+α)/2i=1nXij2for i=1nyiXij<α0 for i=1nyiXij[α,α]

Хтось бачить, де я пішов не так?

Відповідь:

Якщо ми запишемо задачу за допомогою матриць, ми можемо легко зрозуміти, чому рішення закритої форми існує лише в ортонормальному випадку з XTX=I :

f(β)=yXβ22+αβ1
=yTy2βTXTy+βTXTXβ+αβ1
f(β)=2XTy+2XTXβ+(α|β1)
(тут я зробив відразу багато кроків. Однак, до цього моменту це повністю аналог виведенню рішення з найменшими квадратами. Тому ви повинні мати змогу знайти пропущені кроки там.)
fβj=2XjTy+2(XTX)jβ+βj(α|βj|)

З fβj=0 отримаємо

2(XTX)jβ=2XjTyβj(α|βj|)
2(XTX)jjβj=2XjTyβj(α|βj|)2i=1,ijp(XTX)jiβi

Зараз ми можемо бачити, що наше рішення для однієї залежить від усіх інших тому не зрозуміло, як діяти звідси. Якщо є ортонормальним, у нас є тож у цьому випадку, безумовно, існує рішення закритої форми.βjβijX2(XTX)jβ=2(I)jβ=2βj

Дякую Гурмундуру Ейнарссону за його відповідь, про яку я детально розповів тут. Я сподіваюся, що цього разу це правильно :-)


3
Ласкаво просимо в CrossValidated і вітаємо з дуже приємним першим повідомленням!
S. Kolassa - Відновити Моніку

Відповіді:


16

Зазвичай це робиться з найменшим кутом регресії, ви можете знайти тут папір .

Вибачте за мою плутанину на початку, я збираюся зробити ще одну спробу в цьому.

Тож після розширення вашої функції ви отримаєтеf(β)

f(β)=i=1nyi22i=1nyiXiβ+i=1nβTXiTXiβ+αj=1p|βj|

Тоді ви обчислюєте часткову похідну відносно . Моє занепокоєння полягає у вашому обчисленні часткової похідної останнього члена перед 1-нормою, тобто квадратичним терміном. Розберемося далі. У нас це є:βj

Xiβ=βTXiT=(β1Xi1+β2Xi2++βpXip)
Отже, ви можете переписати свій квадратичний термін як: Тепер ми можемо використовувати ланцюгове правило для обчислення похідної цієї wrt :
i=1nβTXiTXiβ=i=1n(Xiβ)2
βj
βji=1n(Xiβ)2=i=1nβj(Xiβ)2=i=1n2(Xiβ)Xij

Тож тепер ваша проблема не спрощується так легко, оскільки у вас є всі коефіцієнти у кожному рівнянні.β

Це не відповідає на ваше запитання про те, чому немає ласового рішення закритої форми, я можу додати щось пізніше.


1
Дуже дякую. Я фактично зараз бачу, чому немає закритого рішення (див. Мою редакцію).
Норберт

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