Дисперсия главного компонента, задаваемая собственным значением для главного собственного вектора

В принципе компонентный анализ

Мне было интересно, почему данные, проецируемые на основной компонент, имеют дисперсию по собственному значению, соответствующему главному собственному вектору?

Я не могу найти объяснение в моем учебнике.

3 ответа

Решение

В анализе главных компонентов (PCA) вы вычисляете поворот исходной системы координат таким образом, чтобы все недиагональные элементы новой ковариационной матрицы становились равными нулю (т.е. новые координаты некоррелированы). Собственные векторы определяют направления новых координатных осей, а собственные значения соответствуют диагональным элементам новой ковариационной матрицы (дисперсия вдоль новых осей). Таким образом, собственные значения по определению определяют дисперсию вдоль соответствующих собственных векторов.

Обратите внимание, что если бы вы умножили все исходные значения данных на некоторую константу (со значением больше единицы), это привело бы к увеличению дисперсии (и ковариации) данных. Если вы затем выполните PCA для измененных данных, собственные векторы, которые вы вычисляете, будут такими же (вам все еще нужно такое же вращение, чтобы не коррелировать ваши координаты), но собственные значения будут увеличиваться, потому что дисперсия данных вдоль новых осей координат будет увеличиваться.

Хороший вопрос. Пожалуйста, прочитайте 36350 лекций CMU. Короче говоря, способ постановки задачи оптимизации PCA приводит к собственной задаче оптимизации лагранжевых ограничений (стр. 2-5), которая решается путем выбора собственных векторов выборочной ковариационной матрицы.

Принципиальный анализ компонентов заключается в том, что вы "диагонализируете ковариационную матрицу", и что в базисе координат, который диагонализирует ковариацию, вы можете просто считать дисперсию каждого компонента.

Чтобы действительно понять это, нужно изучить линейную алгебру, лежащую в основе проблемы собственных значений; такие вещи, как "собственные значения эрмитовой матрицы инвариантны относительно ортогональных преобразований" и т. д., но вы можете попробовать следующее:

  1. Генерировать некоторые x-значения как гауссианы с нулевым средним с дисперсией sigma_x2
  2. Генерировать независимые y значения как гауссианы с нулевым средним с дисперсией sigma_y2<sigma_x2,
  3. Визуализируйте это как двумерный набор данных. Обратите внимание, что он построен так, что матрица корреляции является диагональной, а дисперсия данных в каждом направлении (x,y) - соответствующий элемент ковариационной матрицы. Также обратите внимание, что два собственных значения этой матрицы sigma_x2,sigma_x1 и собственные векторы [1,0] а также [0,1],
  4. Теперь создайте коррелированный набор данных, просто вращая всю картинку. Математически выберите ортогональную матрицу Oи создать повернутую версию каждого [x,y] образец. Вы обнаружите, что матрица корреляции этого преобразованного набора данных имеет недиагональные элементы, то есть корреляцию между x а также y, Но если вы выполните разложение по собственным значениям, собственные векторы - это просто столбцы ортогональной матрицы, используемые для поворота данных в первую очередь, а собственные значения - это исходные собственные значения.

Анализ основных компонентов, то есть разложение по собственным значениям ковариационной матрицы, запускает этот процесс в обратном порядке: начиная с коррелированного набора данных, а затем извлекая базис координат, который диагонализует ковариационную матрицу.

Чтобы разобраться в этом, вам, вероятно, понадобится изучить как формальную математику, так и некоторый опыт, возможно, пробуя ее (и визуализируя) на 2 или 3-мерных задачах, вы почувствуете это.

Другие вопросы по тегам