Квадратичне програмування та Лассо


11

Я намагаюся виконати регресію ласо, яка має таку форму:

Мінімізуйте вw(YXw)(YXw)+λ|w|1

З огляду на , мені порадили знайти оптимальне за допомогою квадратичного програмування, яке приймає таку форму:λw

Мінімізуйте in , відповідно доx12xQx+cxAxb.

Тепер я усвідомлюю, що термін повинен бути перетворений в обмежувальний термін , який досить прямолінійний. Однак я якось просто не бачу, як я міг би перенести перший додаток першого рівняння в перший додаток другого. Я не зміг знайти багато про це в мережі, тому вирішив попросити тут.λAxb

Відповіді:


10

Маючи на увазі, що ми працюємо зі як змінною ' ' у стандартній формі, розгорніть і збирайте терміни в і в і , і константи.x ( Y - X w ) ( Y - X w ) w wx(YXw)(YXw)w ww[something]www

Поясніть, чому ви можете ігнорувати константи.

Поясніть, чому ви можете комбінувати терміни і . www


Оскільки BananaCode вже розібрався з деякими ведучими по шляху, ви можете написати і або простіше, ви можете просто написати і (оскільки і мають однаковий аргмін для будь-якого ).c = - 2 X Y Q = X X c = - X Y f ( x ) k f ( x ) k > 0Q=2XXc=2XY Q=XXc=XYf(x)kf(x)k>0


Константи можна ігнорувати, тому що якщо x_ є мінімальним f (x), то x_ + c - мінімум f (x) + c, отже, ми можемо ігнорувати постійну c. Я відредагую своє запитання, щоб показати, де я застряг.
шпора

BananaCode ваше пояснення має кілька недоліків. Якщо під "є мінімум до " ви маєте на увазі "аргумент, при якому мінімізований", ви говорите щось на кшталт " є of ". Але ваш висновок там неправильний. Якщо ви додасте до , ви не додасте до аргміна. f ( x ) x argmin f c f cf(x)f(x)xargminfcfc
Glen_b -Встановити Моніку

Подивіться, де я написав у своїй відповіді? Що - то тепер у вас є між а в нижній частині вашого питання ?? w ww[something]www
Glen_b -Встановити Моніку

Так, я мав в виду є з . Чи можете ви навести приклад, коли мій висновок невірний? є матриці Я намагаюся сформувати. Якщо я я отримую . Перша частина буде представляти собою форму матриці , проте я не можу позбутися другого члена . xargminf[something]Qw(XXwXY)wXXwwXYQwXY
шпора

1
@ AD.Net Обмеження в основному охоплені в іншій відповіді.
Glen_b -Встановіть Моніку

11

Я хотів додати, як вирішити перетворення обмежень у використаній формі для квадратичного програмування, оскільки це не так просто, як я думав. Неможливо знайти справжню матрицю таку, що .|wi|sAAws|wi|s

Я використовував підхід, щоб розділити елементи вектора на і , так що . Якщо , у вас є і , інакше у васі . Або, більш математично, іІ і - це негативні числа. Ідея розподілу чисел вгору полягає в тому, що тепер у вас єwiwwi+wiwi=wi+wiwi0wi+=wiwi=0wi=|wi|wi+=0wi+=|wi|+wi2wi=|wi|wi2.wiwi+|wi|=wi++wi, ефективно позбувшись абсолютних значень.

Функція оптимізації перетворюється на: , предмет до 12(w+w)TQ(w+w)+cT(w+w)wi++wis,wi+,wi0

Де і задані, як зазначено вище Glen_bQc

Це потрібно перетворити на зручну форму, тобто нам потрібен один вектор. Це робиться наступним чином:

12[w+w]T[QQQQ][w+w]+[cTcT][w+w]

на тему

[IDIDI2D][w+w][sD02D]

Де - одинична матриця, - -вимірний вектор, що складається лише зі значення і a -вимірний нульовий вектор. Перша половина забезпечує , другий Тепер це у використаній формі використовувати квадратичне програмування для пошуку і , заданих . Після цього ваш оптимальний параметр відносно - . D s D D s 0 D 2 D | w i | = w + i + w - is w + i , w - i0 w + w - s s w = w + - w -IDDsDDs0D2D|wi|=wi++wiswi+,wi0w+wssw=w+w

Джерело та подальше читання: Розв’язування задачі квадратичного програмування лінійними обмеженнями, що містять абсолютні значення


Припустимо, що ми знайшли оптимальний розмірний вектор . Що забезпечує, що і насправді позитивні частини та негативні частини деякого вектора , тобто їх вхідних позицій збігаються? ( w + , w - ) w + w - w 02D(w+,w)w+ww0
Myath

Матриця і вектор в остаточному вираженні можуть бути більш простими, а насправді більш правильними. Замість [Id Id] [w + w−] '≤ Sd ви можете просто поставити [1 1 .... 1] [w + w-]' ≤ s. Це буквально еквівалентно ∑ | wi | = ∑ (wi + + wi−) ≤ s.
Марко
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.