Постановка проблеми
Геометрична проблема, яку PCA намагається оптимізувати, для мене зрозуміла: PCA намагається знайти перший головний компонент, зводячи до мінімуму помилку реконструкції (проекції), що одночасно максимізує дисперсію прогнозованих даних.
Це вірно. Я пояснюю зв’язок між цими двома формулюваннями у своїй відповіді тут (без математики) або тут (з математикою).
Візьмемо друге формулювання: PCA намагається знайти напрямок таким, щоб проекція даних на нього мала максимально можливу дисперсію. Цей напрямок за визначенням називають першим головним напрямком. Ми можемо формалізувати його наступним чином: задавши матрицю коваріації , ми шукаємо вектор має одиницю довжини, , такий що є максимальним.Cw∥w∥=1w⊤Cw
(Про всяк випадок це не зрозуміло: якщо - центрована матриця даних, то проекція задається а її дисперсія - .)XXw1n−1(Xw)⊤⋅Xw=w⊤⋅(1n−1X⊤X)⋅w=w⊤Cw
З іншого боку, власним вектором є, за визначенням, будь-який вектор такий, що .CvCv=λv
Виявляється, перше головне напрямок задається власним вектором з найбільшим власним значенням. Це нетривіальне і дивне твердження.
Докази
Якщо ви відкриєте будь-яку книгу чи підручник на PCA, там можна знайти наступне майже однорядне підтвердження твердження вище. Ми хочемо максимізувати під обмеженням, що ; це можна зробити, ввівши множник Лагранжа та максимізуючи ; диференціюючи, отримуємо , що є рівнянням власного вектора. Ми бачимо, що насправді є найбільшим власним значенням, замінюючи це рішення об'єктивною функцією, яка даєw⊤Cw∥w∥=w⊤w=1w⊤Cw−λ(w⊤w−1)Cw−λw=0λw⊤Cw−λ(w⊤w−1)=w⊤Cw=λw⊤w=λ . В силу того, що цю цільову функцію слід домогтися, має бути найбільшим власним значенням, QED.λ
Це, як правило, не дуже інтуїтивно зрозуміло для більшості людей.
Кращий доказ (див., Наприклад, цю акуратну відповідь @cardinal ) говорить, що оскільки - симетрична матриця, вона є діагональною у своїй основі власного вектора. (Це насправді називається спектральною теоремою .) Отже, ми можемо вибрати ортогональну основу, а саме ту, задану власними векторами, де діагональна і має власне значення по діагоналі. Виходячи з цього, спрощується до , або іншими словами дисперсія задається зваженою сумою власних значень. Майже негайно, щоб максимально використовувати цей вираз, слід просто взятиCCλiw⊤Cw∑λiw2iw=(1,0,0,…,0), тобто перший власний вектор, даючи дисперсію (дійсно, відхилення від цього рішення та "торгування" частинами найбільшого власного значення для частин менших лише призведе до меншої загальної дисперсії). Зауважте, що значення не залежить від основи! Зміна основи власного вектора означає обертання, тому в 2D можна уявити просто обертання аркуша паперу розсипом; очевидно, це не може змінити жодних відхилень.λ1w⊤Cw
Я думаю, що це дуже інтуїтивний і дуже корисний аргумент, але він спирається на спектральну теорему. Отже, справжня проблема, на яку я думаю, полягає в тому: яка інтуїція за спектральною теоремою?
Спектральна теорема
Візьмемо симетричну матрицю . Візьміть його власний вектор з найбільшим власним значенням . Зробіть цей власний вектор першим базовим вектором та виберіть інші вектори бази випадковим чином (таким, щоб усі вони були ортонормальними). Як виглядати на цій основі?Cw1λ1C
У верхньому лівому куті буде , тому що в цій основі і має дорівнювати .λ1w1=(1,0,0…0)Cw1=(C11,C21,…Cp1)λ1w1=(λ1,0,0…0)
За тим же аргументом у першому стовпці під він матиме нулі .λ1
Але оскільки він симетричний, він також матиме нулі в першому ряду і після . Так буде виглядати так:λ1
C=⎛⎝⎜⎜⎜⎜λ10⋮00…0⎞⎠⎟⎟⎟⎟,
де порожній простір означає, що там знаходиться блок деяких елементів. Оскільки матриця симетрична, і цей блок буде симетричним. Таким чином, ми можемо застосувати до нього такий самий аргумент, ефективно використовуючи другий власний вектор як другий базовий вектор і отримуючи та по діагоналі. Це може тривати, поки буде діагональним. Це по суті спектральна теорема. (Зверніть увагу, як це працює лише тому, що симетричний.)λ1λ2CC
Ось більш абстрактне переформулювання точно такого ж аргументу.
Ми знаємо, що , тому перший власний вектор визначає 1-мірний підпростір, де діє як скалярне множення. Візьмемо тепер будь-який вектор ортогональний до . Тоді майже негайно також є ортогональним до . Дійсно:Cw1=λ1w1Cvw1Cvw1
w⊤1Cv=(w⊤1Cv)⊤=v⊤C⊤w1=v⊤Cw1=λ1v⊤w1=λ1⋅0=0.
Це означає, що діє на весь ортогональний підпростір, що залишився таким чином, що він залишається окремим від . Це вирішальна властивість симетричних матриць. Таким чином, ми можемо знайти найбільшого власного вектора там і продовжувати таким же чином, зрештою будуючи ортонормальну основу власних векторів.Cw1w1w2