Чи оптимізація PCA опукла?


13

Цільова функція аналізу головних компонент (PCA) є мінімізація похибки відновлення в нормі L2 (дивіться розділ 2.12 тут Інший вид намагається максимізувати дисперсію на проекції У нас також є відмінний пост тут: .. Яка цільова функція PCA ? ).

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


3
Ні. Ви максимізуєте опуклу функцію (за обмежень).
user603

5
Я думаю, вам потрібно бути конкретним щодо того, що ви маєте на увазі під оптимізацією PCA. Одним із стандартних формулювань є максимізація умови . Проблема полягає в тому, що опуклість навіть не має сенсу: область - це сфера, а не евклідовий простір. xAxxx=1xx=1
whuber

1
@whuber дякую за ваш коментар, я не можу пояснити це питання через обмежені знання. Можливо, я зачекаю, коли деякі відповіді можуть допомогти мені з’ясувати питання одночасно.
Haitao Du

3
Я б посилав вас на будь-яке означення "опукла", яке вам знайоме. Чи не всі вони включають поняття точок в області функції, що лежить "між" іншими точками? Це варто пам’ятати, оскільки воно нагадує вам врахувати геометрію області функції, а також будь-які алгебраїчні чи аналітичні властивості значень функції. У цьому світлі мені здається, що формулювання, що збільшує дисперсію, можна трохи змінити, щоб зробити домен опуклим: просто потрібно а не . Рішення те саме - і відповідь стає цілком зрозумілою. x x = 1xx1xx=1
whuber

Відповіді:


18

Ні, звичайні рецептури PCA не є опуклими проблемами. Але вони можуть бути перетворені на проблему опуклої оптимізації.

Розуміння і задоволення від цього - це слідування та візуалізація послідовності перетворень, а не просто отримання відповіді: вона лежить у подорожі, а не в пункті призначення. Основні кроки у цій мандрівці - це

  1. Отримайте просте вираження для цільової функції.

  2. Збільшити його домен, який не є опуклим, на той, який є.

  3. Змініть ціль, яка не є опуклою, на ту, яка є, таким чином, що очевидно не змінює точки, в яких вона досягає своїх оптимальних значень.

Якщо ви будете пильно стежити, ви можете бачити мультиплікатори SVD та Lagrange, які ховаються - але вони просто бічні покази, для цікавого сценографії, і я більше не буду їх коментувати.


Стандартна формула, що максимізує дисперсію PCA (або принаймні її ключовий крок)

(*)Maximize f(x)= xAx  subject to  xx=1

де матриця - симетрична, позитивно-напівдефінітна матриця, побудована з даних (зазвичай її сума квадратів і матриця продуктів, її матриця коваріації або її кореляційна матриця).An×nA

(Еквівалентно, ми можемо спробувати домогтися максимальної необмеженої мети . Це не лише виразний вираз - це вже не квадратична функція, - але і графічні особливі випадки швидко покажіть, що це не випукла функція. Зазвичай, зауважуємо, що ця функція є інваріантною за шкалою а потім зводить її до обмеженої рецептури .)x λ x ( )xAx/xxxλx()

Будь-яка проблема оптимізації може бути абстрактно сформульована як

Знайдіть хоча б один який робить функцію якомога більшою. f : XRxXf:XR

Нагадаємо, що проблема оптимізації випукла, коли вона має дві окремі властивості:

  1. Домен опукла. XRn Це можна сформулювати багатьма способами. Одне полягає в тому, що коли і і , також . Геометрично: всякий раз , коли дві кінцеві точки відрізка лінії лежать в , весь відрізок лежить в . y X 0λ1λx+(1-λ)y X X XxXyX0λ1λx+(1λ)yXXX

  2. Функція опукла. 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)xXyX0λ1

    f(λx+(1λ)y)λf(x)+(1λ)f(y).
    Xxy¯Xf(x,f(x))R n + 1(y,f(y))Rn+1

    Архетип опуклої функції локально скрізь параболічний з непозитивним провідним коефіцієнтом: на будь-якому відрізку лінії він може бути виражений у вигляді зyay2+by+ca0.

Складність полягає в тому, що - це одинична сфера , яка, очевидно, не опукла. ()XSn1Rn Однак ми можемо змінити цю проблему, включивши менші вектори. Це тому, що коли ми масштабуємо на коефіцієнт , множимо на . Коли , ми можемо масштабувати до одиниці довжини, помноживши його на , тим самим збільшуючи але залишаючись у межах одинична куля .xλfλ20<xx<1xλ=1/xx>1f Dn={xRnxx1} Тому давайте переформулюємо як()

(**)Maximize f(x)= xAx  subject to  xx1

Його домен що явно опуклий, тому ми там на півдорозі. Залишається розглянути опуклість графа .X=Dnf

Хороший спосіб подумати над проблемою навіть якщо ви не маєте наміру проводити відповідні обчислення - це з точки зору спектральної теореми. () Це говорить про те, що за допомогою ортогонального перетворення ви можете знайти принаймні одну основу в якій є діагональною: тобтоPRnA

A=PΣP

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

Оскільки є позитивним-напіввизначеним, всі діагональні записи повинні бути невід'ємними. Ми можемо надалі переставляти осі (що є лише черговим ортогональним перетворенням, і тому ми можемо бути поглинені в ), щоб переконатися, щоAΣP

σ1σ2σn0.

Якщо дозволити - нові координати (що позначає ), функцією єx=Pyxy=Pxf

f(y)=yAy=xPAPx=xΣx=σ1x12+σ2x22++σnxn2.

Ця функція, очевидно, не опукла! Його графік виглядає як частина гіперпараболоїда: у кожній точці факт, що всі невід'ємні, змушує скручуватися вгору, а не вниз . Xσi

Однак ми можемо перетворити в опуклу проблему однією дуже корисною технікою. () Знаючи, що максимум виникне там, де , віднімемо константу від , принаймні для точок на межі . Це не змінить розташування будь-яких точок на тій межі, в якій оптимізовано , оскільки воно знижує всі значення на межі на те саме значення . Це говорить про вивчення функціїxx=1σ1fXffσ1

g(y)=f(y)σ1yy.

Це дійсно віднімає константу від у граничних точках, а у внутрішніх точках віднімає менші значення. Це буде гарантувати , що , по порівнянні з , не має ніякого нового глобального максимуму на внутрішній частині .σ1fgfX

Давайте розглянемо, що сталося з цією хитрою рукою заміни на . Оскільки є ортогональним, . (Це практично визначення ортогонального перетворення.) Тому з точки зору координат можна записатиσ1σ1yyPyy=xxxg

g(y)=σ1x12++σnxn2σ1(x12++xn2)=(σ2σ1)x22++(σnσ1)xn2.

Оскільки для всіх , кожен з коефіцієнтів дорівнює нулю або від'ємному. Отже, (a) опуклий і (b) оптимізований, коли . ( тоді означає а оптимум досягається, коли , який є - до знак - перший стовпець )σ1σiiggx2=x3==xn=0xx=1x1=±1y=P(±1,0,,0)P

Давайте переформулюємо логіку. Оскільки оптимізовано на межі де , тому що відрізняється від просто постійною на цій межі і тому, що значення ще ближче до значень на внутрішній частині , максимуми повинні збігатися з максимумами .gDn=Sn1yy=1fgσ1gfDnfg


4
+1 Дуже приємно. Я змінив, щоб виправити одну формулу до того, що, на вашу думку, ви планували (але будь ласка, перевірте). Крім того, я знайшов фразу «Це не буде змінювати будь-які граничні значення , при яких е оптимізовано» , щоб ввести в оману при першому, так як граничні значення роблять зміна: ви відніманням . Може, є сенс трохи переформулювати? σ1
амеба каже: Відновити Моніку

@amoeba Правильно за всіма пунктами; Дякую. Я посилив обговорення цього питання.
whuber

3
(+1) У своїй відповіді ви, здається, визначаєте опуклу функцію такою, якою більшість людей вважають увігнуту функцію (можливо, оскільки проблема оптимізації опуклості має опуклий домен та увігнуту функцію, над якою обчислюється максимум (або опукла функція над якою мінімальною обчислюються))
user795305

2
@amoeba Це тонкий аргумент. Однак зауважте, що нові максими - - виявляються лише на кордоні. Це виключає ваші контрприклади. Ще один момент, який варто зауважити, - це, що врешті-решт нас не хвилює, чи з’являться нові локальні (чи навіть глобальні) максимуми в інтер'єрі , оскільки нас спочатку турбують лише локальні максимуми на його межі. Тому ми вільні змінювати будь-яким способом, який не змусить жодного з цих локальних граничних максимумів рухатися чи зникати. gXf
whuber

2
Так, я згоден. Не має значення, як змінено зсередини, якщо отриманий "опуклий" і, мабуть, має максимуми на межі. У вашому дійсно максимуми на кордоні, і це змушує весь аргумент працювати. Має сенс. fgg
амеба каже, що поверніть Моніку

6

Немає.

Ранг PCA матриці можна сформулювати якkM

X^=argminrank(X)kMXF2

( - норма Фробеніуса ). Для виведення див теорему Еккарта-Юнга .F

Хоча норма є опуклою, множина, над якою вона оптимізована, є невипуклою.


Опуклим релаксації завдання РПЖ, називається Опуклі Низький ранг Апроксимація

X^=argminXcMXF2

( - це ядерна норма . це опукле релаксацію рангу - так само, як - це опукле розслаблення кількості ненульових елементів для векторів)11

Для детальної інформації ви можете ознайомитись зі статистичним навчанням із розрідженням , гл 6 (матричні декомпозиції).

Якщо вас цікавлять більш загальні проблеми та їх відношення до опуклості, див. Узагальнені моделі низького рангу .


1

Відмова від відповідальності: Попередні відповіді досить добре пояснюють, як PCA у своїй оригінальній рецептурі не випуклий, але може бути перетворений на проблему оптимізації опуклості. Моя відповідь призначена лише для тих бідних душ (таких як я), які не так добре знайомі з жаргоном Unit Spheres і SVD - що, до речі, добре знати.

Моє джерело - це конспекти лекцій проф. Тібшірані

Щоб проблема оптимізації була вирішена за допомогою опуклої методики оптимізації, є дві передумови.

  1. Цільова функція повинна бути опуклою.
  2. Функції обмеження також повинні бути опуклими.

Більшість рецептур PCA передбачають обмеження на ранг матриці.

У таких типах рецептур PCA, умова 2 порушується. Тому що, обмеження, що не є опуклим. Наприклад, нехай , буде 2 × 2 нульовими матрицями з одиничною 1 у верхньому лівому куті та в правому нижньому куті відповідно. Тоді кожен з них має ранг 1, але їх середнє значення має 2 ранг.J 11 J 22rank(X)=k,J11J22


Чи можете ви пояснити, на що посилається " ", і чому є обмеження в його ранзі? Це не відповідає моєму розумінню PCA, але, можливо, ви думаєте про більш спеціалізовану версію, в якій шукаються лише основних компонентів. кXk
whuber

Так, - перетворена (обертається) матриця даних. У цій постановці ми шукаємо матриці, що мають принаймні ранг . Ви можете посилатися на посилання у моїй відповіді для більш точного опису. кXk
медоносій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.