Ні, звичайні рецептури PCA не є опуклими проблемами. Але вони можуть бути перетворені на проблему опуклої оптимізації.
Розуміння і задоволення від цього - це слідування та візуалізація послідовності перетворень, а не просто отримання відповіді: вона лежить у подорожі, а не в пункті призначення. Основні кроки у цій мандрівці - це
Отримайте просте вираження для цільової функції.
Збільшити його домен, який не є опуклим, на той, який є.
Змініть ціль, яка не є опуклою, на ту, яка є, таким чином, що очевидно не змінює точки, в яких вона досягає своїх оптимальних значень.
Якщо ви будете пильно стежити, ви можете бачити мультиплікатори SVD та Lagrange, які ховаються - але вони просто бічні покази, для цікавого сценографії, і я більше не буду їх коментувати.
Стандартна формула, що максимізує дисперсію PCA (або принаймні її ключовий крок)
Maximize f(x)= x′Ax subject to x′x=1(*)
де матриця - симетрична, позитивно-напівдефінітна матриця, побудована з даних (зазвичай її сума квадратів і матриця продуктів, її матриця коваріації або її кореляційна матриця).An×nA
(Еквівалентно, ми можемо спробувати домогтися максимальної необмеженої мети . Це не лише виразний вираз - це вже не квадратична функція, - але і графічні особливі випадки швидко покажіть, що це не випукла функція. Зазвичай, зауважуємо, що ця функція є інваріантною за шкалою а потім зводить її до обмеженої рецептури .)x → λ x ( ∗ )x′Ax/x′xx→λx(∗)
Будь-яка проблема оптимізації може бути абстрактно сформульована як
Знайдіть хоча б один який робить функцію якомога більшою. f : X → Rx∈Xf:X→R
Нагадаємо, що проблема оптимізації випукла, коли вона має дві окремі властивості:
Домен опукла. X⊂Rn Це можна сформулювати багатьма способами. Одне полягає в тому, що коли і і , також . Геометрично: всякий раз , коли дві кінцеві точки відрізка лінії лежать в , весь відрізок лежить в . y∈ X 0≤λ≤1λx+(1-λ)y∈ X X Xx∈Xy∈X0≤λ≤1λx+(1−λ)y∈XXX
Функція опукла. f Це також можна сформулювати багатьма способами. Одне полягає в тому, що коли і і ,(Потрібно було, щоб був опуклим, щоб ця умова мала будь-який сенс.) Геометрично: коли - будь-який відрізок рядка в , графік (як обмежено цим сегментом) лежить вище або на відрізку, що з'єднує і в . y ∈ X 0 ≤ λ ≤ 1 f ( λ x + ( 1 - λ ) y ) ≥ λ f ( x ) + ( 1 - λ ) f ( y ) . X ¯ x y X f ( x , f ( x ) ) ( y , f ( y)x∈Xy∈X0≤λ≤1
f(λx+(1−λ)y)≥λf(x)+(1−λ)f(y).
Xxy¯Xf(x,f(x))R n + 1(y,f(y))Rn+1
Архетип опуклої функції локально скрізь параболічний з непозитивним провідним коефіцієнтом: на будь-якому відрізку лінії він може бути виражений у вигляді зy→ay2+by+ca≤0.
Складність полягає в тому, що - це одинична сфера , яка, очевидно, не опукла. (∗)XSn−1⊂Rn Однак ми можемо змінити цю проблему, включивши менші вектори. Це тому, що коли ми масштабуємо на коефіцієнт , множимо на . Коли , ми можемо масштабувати до одиниці довжини, помноживши його на , тим самим збільшуючи але залишаючись у межах одинична куля .xλfλ20<x′x<1xλ=1/x′x−−−√>1f Dn={x∈Rn∣x′x≤1} Тому давайте переформулюємо як(∗)
Maximize f(x)= x′Ax subject to x′x≤1(**)
Його домен що явно опуклий, тому ми там на півдорозі. Залишається розглянути опуклість графа .X=Dnf
Хороший спосіб подумати над проблемою навіть якщо ви не маєте наміру проводити відповідні обчислення - це з точки зору спектральної теореми. (∗∗) Це говорить про те, що за допомогою ортогонального перетворення ви можете знайти принаймні одну основу в якій є діагональною: тобтоPRnA
A=P′ΣP
де всі позадіагональні записи дорівнюють нулю. Такий вибір можна вважати таким, що взагалі нічого не змінює , а просто змінює те, як ви його описуєте : коли ви обертаєте свою точку зору, осі рівня гіперповерхні функції (які завжди були еліпсоїдами) узгоджуються з осями координат.ΣPAx→x′Ax
Оскільки є позитивним-напіввизначеним, всі діагональні записи повинні бути невід'ємними. Ми можемо надалі переставляти осі (що є лише черговим ортогональним перетворенням, і тому ми можемо бути поглинені в ), щоб переконатися, щоAΣP
σ1≥σ2≥⋯≥σn≥0.
Якщо дозволити - нові координати (що позначає ), функцією єx=P′yxy=Pxf
f(y)=y′Ay=x′P′APx=x′Σx=σ1x21+σ2x22+⋯+σnx2n.
Ця функція, очевидно, не опукла! Його графік виглядає як частина гіперпараболоїда: у кожній точці факт, що всі невід'ємні, змушує скручуватися вгору, а не вниз . Xσi
Однак ми можемо перетворити в опуклу проблему однією дуже корисною технікою. (∗∗) Знаючи, що максимум виникне там, де , віднімемо константу від , принаймні для точок на межі . Це не змінить розташування будь-яких точок на тій межі, в якій оптимізовано , оскільки воно знижує всі значення на межі на те саме значення . Це говорить про вивчення функціїx′x=1σ1fXffσ1
g(y)=f(y)−σ1y′y.
Це дійсно віднімає константу від у граничних точках, а у внутрішніх точках віднімає менші значення. Це буде гарантувати , що , по порівнянні з , не має ніякого нового глобального максимуму на внутрішній частині .σ1fgfX
Давайте розглянемо, що сталося з цією хитрою рукою заміни на . Оскільки є ортогональним, . (Це практично визначення ортогонального перетворення.) Тому з точки зору координат можна записати−σ1−σ1y′yPy′y=x′xxg
g(y)=σ1x21+⋯+σnx2n−σ1(x21+⋯+x2n)=(σ2−σ1)x22+⋯+(σn−σ1)x2n.
Оскільки для всіх , кожен з коефіцієнтів дорівнює нулю або від'ємному. Отже, (a) опуклий і (b) оптимізований, коли . ( тоді означає а оптимум досягається, коли , який є - до знак - перший стовпець )σ1≥σiiggx2=x3=⋯=xn=0x′x=1x1=±1y=P(±1,0,…,0)′P
Давайте переформулюємо логіку. Оскільки оптимізовано на межі де , тому що відрізняється від просто постійною на цій межі і тому, що значення ще ближче до значень на внутрішній частині , максимуми повинні збігатися з максимумами .g∂Dn=Sn−1y′y=1fgσ1gfDnfg