Що таке інтуїтивне пояснення того, як PCA перетворюється з геометричної задачі (з відстанями) в задачу лінійної алгебри (з власними векторами)?


54

Я багато читав про PCA, включаючи різні підручники та запитання (такі як цей , цей , цей і цей ).

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

введіть тут опис зображення

Коли я вперше прочитав це, я одразу придумав щось на зразок лінійної регресії; можливо, ви можете вирішити це за допомогою градієнтного спуску при необхідності.

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

Отже, моє питання: Як PCA може перетворитись із задачі геометричної оптимізації на задачу лінійної алгебри? Чи може хтось надати інтуїтивне пояснення?

Я не шукав відповідь , як цей , який говорить : «Коли ви вирішити задачку PCA, він закінчує тим , що еквівалентно знаходженням власних значень і власних векторів матриці коваріації.» Поясніть, будь ласка, чому власні вектори стають головними компонентами і чому власне значення виходять різницею даних, прогнозованих на них

Я, до речі, інженер програмного забезпечення, а не математик.

Примітка: наведена вище цифра була взята та змінена з цього посібника з PCA .


2
У довгій нитці позаду вашого першого ланки, є @ амеба відповіді з анімацією, яка пояснює основну річ. PCA - це обертання осей даних (стовпців) до тих пір, поки вони не стануть некоррельованими у вигляді векторів даних (змінних). Така матриця обертання знаходить за допомогою ейгендекомпозиції або розкладання сингулярного значення і називається матрицею власного вектора.
ttnphns

2
Крім того, навіть якщо ви не математик (я не надто) ви, напевно, чули про те, що лінійна алгебра та евклідова геометрія є дуже тісно пов'язаними полями математики; їх навіть вивчають разом як дисципліну, яку називають аналітичною геометрією.
ttnphns

1
optimization problemТак, проблема PCA може бути вирішена за допомогою (ітеративного, конвергентного) підходу до оптимізації, я вважаю. Але оскільки він має рішення закритої форми за допомогою математики, чому б не використати це простіше, ефективне рішення?
ttnphns

Ви просите provide an intuitive explanation. Цікаво, чому інтуїтивно зрозумілий і зрозумілий відповідь амеби, з яким я пов’язаний, вам не підійде. Ви запитаєте, _why_ eigenvectors come out to be the principal components...чому? За визначенням! Власні вектори - це основні напрямки хмари даних.
ttnphns

6
@ttnphns: Я фактично вважаю, що питання є розумним. Ось як я це розумію. PCA хоче знайти напрямок максимальної дисперсії проекції. Цей напрямок називається (за визначенням) першим головним напрямком. З іншого боку, власний вектор матриці коваріації (за визначенням) такий вектор що . То чому ж перше головне напрямок задається власним вектором з найбільшим власним значенням? Яка тут інтуїція? Це, безумовно, не за визначенням. Я думав про це, і знаю, як це довести, але інтуїтивно важко пояснити. CwCw=λw
амеба каже, що повернеться до Моніки

Відповіді:


54

Постановка проблеми

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

Це вірно. Я пояснюю зв’язок між цими двома формулюваннями у своїй відповіді тут (без математики) або тут (з математикою).

Візьмемо друге формулювання: PCA намагається знайти напрямок таким, щоб проекція даних на нього мала максимально можливу дисперсію. Цей напрямок за визначенням називають першим головним напрямком. Ми можемо формалізувати його наступним чином: задавши матрицю коваріації , ми шукаємо вектор має одиницю довжини, , такий що є максимальним.Cww=1wCw

(Про всяк випадок це не зрозуміло: якщо - центрована матриця даних, то проекція задається а її дисперсія - .)XXw1n1(Xw)Xw=w(1n1XX)w=wCw

З іншого боку, власним вектором є, за визначенням, будь-який вектор такий, що .CvCv=λv

Виявляється, перше головне напрямок задається власним вектором з найбільшим власним значенням. Це нетривіальне і дивне твердження.


Докази

Якщо ви відкриєте будь-яку книгу чи підручник на PCA, там можна знайти наступне майже однорядне підтвердження твердження вище. Ми хочемо максимізувати під обмеженням, що ; це можна зробити, ввівши множник Лагранжа та максимізуючи ; диференціюючи, отримуємо , що є рівнянням власного вектора. Ми бачимо, що насправді є найбільшим власним значенням, замінюючи це рішення об'єктивною функцією, яка даєwCww=ww=1wCwλ(ww1)Cwλw=0λwCwλ(ww1)=wCw=λww=λ . В силу того, що цю цільову функцію слід домогтися, має бути найбільшим власним значенням, QED.λ

Це, як правило, не дуже інтуїтивно зрозуміло для більшості людей.

Кращий доказ (див., Наприклад, цю акуратну відповідь @cardinal ) говорить, що оскільки - симетрична матриця, вона є діагональною у своїй основі власного вектора. (Це насправді називається спектральною теоремою .) Отже, ми можемо вибрати ортогональну основу, а саме ту, задану власними векторами, де діагональна і має власне значення по діагоналі. Виходячи з цього, спрощується до , або іншими словами дисперсія задається зваженою сумою власних значень. Майже негайно, щоб максимально використовувати цей вираз, слід просто взятиCCλiwCwλiwi2w=(1,0,0,,0), тобто перший власний вектор, даючи дисперсію (дійсно, відхилення від цього рішення та "торгування" частинами найбільшого власного значення для частин менших лише призведе до меншої загальної дисперсії). Зауважте, що значення не залежить від основи! Зміна основи власного вектора означає обертання, тому в 2D можна уявити просто обертання аркуша паперу розсипом; очевидно, це не може змінити жодних відхилень.λ1wCw

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


Спектральна теорема

Візьмемо симетричну матрицю . Візьміть його власний вектор з найбільшим власним значенням . Зробіть цей власний вектор першим базовим вектором та виберіть інші вектори бази випадковим чином (таким, щоб усі вони були ортонормальними). Як виглядати на цій основі?Cw1λ1C

У верхньому лівому куті буде , тому що в цій основі і має дорівнювати .λ1w1=(1,0,00)Cw1=(C11,C21,Cp1)λ1w1=(λ1,0,00)

За тим же аргументом у першому стовпці під він матиме нулі .λ1

Але оскільки він симетричний, він також матиме нулі в першому ряду і після . Так буде виглядати так:λ1

C=(λ10000),

де порожній простір означає, що там знаходиться блок деяких елементів. Оскільки матриця симетрична, і цей блок буде симетричним. Таким чином, ми можемо застосувати до нього такий самий аргумент, ефективно використовуючи другий власний вектор як другий базовий вектор і отримуючи та по діагоналі. Це може тривати, поки буде діагональним. Це по суті спектральна теорема. (Зверніть увагу, як це працює лише тому, що симетричний.)λ1λ2CC


Ось більш абстрактне переформулювання точно такого ж аргументу.

Ми знаємо, що , тому перший власний вектор визначає 1-мірний підпростір, де діє як скалярне множення. Візьмемо тепер будь-який вектор ортогональний до . Тоді майже негайно також є ортогональним до . Дійсно:Cw1=λ1w1Cvw1Cvw1

w1Cv=(w1Cv)=vCw1=vCw1=λ1vw1=λ10=0.

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


"Мультиплікатор Лагранжа" для мене дійсно зрозумілий. Однак ви могли б сказати мені, навіщо нам потрібне обмеження довжини одиниці? Спасибі
Хайтао Ду

2
@ hxd1011 Тут вже є саме це питання , але коротко: це тому, що в іншому випадку ви можете помножити на будь-яке число, а збільшиться на квадрат цього числа. Тож проблема стає нечітко визначеною: максимум цього вираження нескінченний. Фактично, дисперсія проекції на напрям є лише якщо - одиниця довжини. wwCwwwCww
Амеба каже, що повернеться Моніці

Я думаю, що може бути трохи більш знайомим більшості читачів; Я замінив його тут. Дякую. n1
амеба каже, що поверніть Моніку

@amoeba: Дякую за відповідь. Мене бентежить деякі ваші позначення. Ви використовуєте w для позначення вектора одиниці довжини, який виявляється першим власним вектором (головним компонентом). Коли я запускаю PCA в R (наприклад prcomp(iris[,1:4], center=T, scale=T)), я бачу власні вектори одиниці довжини з купою поплавків (0.521, -0.269, 0.580, 0.564). Однак у своїй відповіді в розділі "Докази" ви пишете, що для отримання максимуму цього виразу майже відразу слід взяти w = (1,0,0, ..., 0), тобто перший власний вектор . Чому власний вектор у вашому доказі виглядає так добре сформованим?
stackoverflowuser2010

1
Привіт @ user58865, дякую за натиск: я просто забув відповісти вперше. - - скаляр - це просто число. Будь-яке число "симетричне" :) і дорівнює його транспозиції. Чи є сенс? w1Cv
Амеба каже: Відновити Моніку

5

Є результат з 1936 року Еккарта і Янга ( https://ccrma.stanford.edu/~dattorro/eckart%26young.1936.pdf ), де зазначено наступне

1rdkukvkT=argminX^ϵM(r)||XX^||F2

де M (r) - сукупність матриць рангових r, що в основному означає, що перші r компоненти SVD X дають найкраще наближення матриці низького рангу X, а найкраще визначається з точки зору квадратичної норми Фробеніуса - суми квадрата елементи матриці.

Це загальний результат для матриць і на перший погляд не має нічого спільного з наборами даних або зменшенням розмірності.

Однак якщо ви не вважаєте матрицею, а швидше думаєте про стовпці матриці представляють вектори точок даних, то є наближенням до мінімальної помилки представлення з точки зору різниці помилок у квадраті.XXX^


4

Це мій погляд на лінійну алгебру позаду PCA. У лінійній алгебрі однією з ключових теорем є . У ньому зазначено, що якщо S - будь-яка симетрична n по n матриця з реальними коефіцієнтами, то S має n власних векторів, коли всі власні значення є реальними. Це означає, що ми можемо записати з D діагональною матрицею з позитивними записами. Це і немає шкоди в припущенні . A - зміна базової матриці. Тобто, якщо наша початкова основа була , то стосовно основи, заданоїSpectral TheoremS=ADA1D=diag(λ1,λ2,,λn)λ1λ2λnx1,x2,,xnA(x1),A(x2),A(xn), дія S діагональна. Це також означає, що можна розглядати як ортогональну основу з Якби наша матриця коваріації була для n спостережень за n змінними, ми би зробили це. Основою, наданою є основа PCA. Це випливає з фактів лінійної алгебри. По суті це правда, тому що основа PCA є основою власних векторів і існує щонайменше n власних векторів квадратної матриці розміру n. Звичайно, більшість матриць даних не є квадратними. Якщо X - матриця даних з n спостереженнями p змінних, то X має розмір n на p. Я буду вважати, що (більше спостережень, ніж змінних) і щоA(xi)||A(xi)||=λiA(xi)
n>prk(X)=p(всі змінні лінійно незалежні). Жодне припущення не потрібно, але воно допоможе з інтуїцією. Лінійна алгебра має узагальнення з теореми спектра, що називається сингулярним розкладанням значення. Для такого X зазначено, що з U, V ортонормальними (квадратними) матрицями розмірів n і p та реальною діагональною матрицею з лише негативною записи по діагоналі. Знову ми можемо переставити основу V, щоб У матричному виразі це означає, що якщо і якщо . X=UΣVtΣ=(sij)s11s22spp>0X(vi)=siiuiipsii=0i>nviдають розкладання PCA. Точніше - розкладання PCA. Чому? Знову ж, лінійна алгебра говорить про те, що існувати можуть лише p власні вектори. SVD дає нові змінні (задані стовпцями V), які є ортогональними та мають норму зменшення. ΣVt


4

"що одночасно максимізує дисперсію прогнозованих даних." Ви чули про коефіцієнт Релея ? Можливо, це один із способів бачити це. А саме коефіцієнт рілле в матриці коваріації дає вам дисперсію прогнозованих даних. (і на сторінці вікі пояснюється, чому власні вектори максимізують коефіцієнт Релея)


1

@amoeba дає чітку формалізацію та підтвердження:

Ми можемо формалізувати його наступним чином: враховуючи матрицю коваріації C, ми шукаємо вектор w, що має одиничну довжину, ‖w‖ = 1, такий, що w T Cw є максимальним.

Але я думаю, що є один інтуїтивний доказ:

Виявляється, перше головне напрямок задається власним вектором з найбільшим власним значенням. Це нетривіальне і дивне твердження.

Ми можемо інтерпретувати w T Cw як крапковий добуток між вектором w і Cw, який отримуємо шляхом переходу через перетворення C:

w T Cw = ‖w‖ * ‖Cw‖ * cos (w, Cw)

Оскільки w має довжину виправлення, щоб максимізувати w T Cw, нам потрібно:

  1. максимізувати ‖Cw‖
  2. максимізувати cos (w, Cw)

Виявляється, якщо ми будемо w власним вектором C з найбільшим власним значенням, ми можемо архівувати обидва одночасно:

  1. ‖Cw‖ - max, (якщо w відхилиться від цього власного вектора, розкладемо його уздовж ортогональних власних векторів, ви побачите зменшення ‖Cw‖.)
  2. w і Cw в одному напрямку, cos (w, Cw) = 1, макс

Оскільки власні вектори є ортогональними, то разом з іншими власними векторами С вони утворюють набір основних компонентів до X.


доказ 1

декомпозитний w на ортогональний первинний та вторинний власний вектори v1 та v2 , припустимо, їх довжина відповідно v1 та v2. ми хочемо довести

1 w) 2 > ((λ 1 v1) 2 + (λ 2 v2) 2 )

оскільки λ 1 > λ 2 , маємо

((λ 1 v1) 2 + (λ 2 v2) 2 )

<((λ 1 v1) 2 + (λ 1 v2) 2 )

= (λ 1 ) 2 * (v1 2 + v2 2 )

= (λ 1 ) 2 * w 2

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