Постановка задачи
Геометрическая проблема, которую пытается оптимизировать 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
Вот более абстрактная переформулировка того же аргумента.
Мы знаем, что , поэтому первый собственный вектор определяет одномерное подпространство, где действует как скалярное умножение. Теперь возьмем любой вектор ортогональный . Тогда почти сразу же также ортогонален . На самом деле:Cw1=λ1w1Cvw1Cvw1
w⊤1Cv=(w⊤1Cv)⊤=v⊤C⊤w1=v⊤Cw1=λ1v⊤w1=λ1⋅0=0.
Это означает, что действует на всем оставшемся подпространстве, ортогональном , так что он остается отделенным от . Это важнейшее свойство симметричных матриц. Таким образом, мы можем найти самый большой собственный вектор там, , и действовать аналогичным образом, в конечном итоге построив ортонормированный базис собственных векторов.Cw1w1w2