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

Мы начнем с поиска одномерной проекции из двумерного пространства данных. Ниже представлен наш набор данных.

У нас есть бесконечное количество возможных одномерных проекций:

Из всех имеющихся у нас возможностей мы сосредоточимся на ортогональной проекции.

Причина того, что ортогональная проекция из всех возможных проекций представляет наши интересы, заключается в свойстве ближайшего вектора. Согласно свойству ближайшего вектора среди всех векторов в пространстве W, вектор, ближайший к u, является ортогональной проекцией u на W. In Другими словами, мы хотим получить проекцию, наиболее близкую к исходному набору данных, чтобы сохранить как можно больше информации после уменьшения размера. Вот доказательство ближайшего свойства вектора:

Теперь, когда мы знаем, в каком направлении должна двигаться проекция, давайте математически сформулируем ее. Для этого мы начнем с определения ортогональной проекции.

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

Важно видеть, что ортогональная проекция, которая является k-мерным подпространством исходного d-мерного пространства, представлена ​​исходными d-мерными координатами. Например, если k = 1, q транспонировать q равно (d x k * k x d = d x d). Похоже, что уменьшение размерности еще не было сделано, но это потому, что мы ссылаемся на проекцию с исходными координатами. Как показано на диаграмме ниже, данные одномерной проекции относятся к двухмерным координатам.

Имея это в виду, мы можем поставить задачу найти наилучшее линейное преобразование Pi (линейный оператор для преобразования наших данных для проецирования в более низкое измерение), которое минимизирует ошибку реконструкции:

Не путайте PCA с линейной регрессией. PCA сводит к минимуму расстояние до ортогональной проекции, а линейная регрессия - минимизирует расстояние по оси y.

В k -мерном подпространстве имеется k ортонормированных базисных векторов. Базисные векторы не обязательно должны быть ортонормированными, но каждый базисный вектор в подпространстве может быть заменен ортогональным базисом с помощью процесса Грама-Шмидта, и мы можем легко изменить длину базисного вектора на 1. Следовательно, наш Ограничениями этой задачи оптимизации будет то, что длина базисных векторов должна быть 1. Мы можем переформулировать нашу проблему:

Преобразование минимизации в максимизацию (K = 1 случай)

Мы начнем с самого простого случая, когда прогнозируемое измерение k = 1. Преимущество работы со случаем k = 1 состоит в том, что мы можем удалить внутреннее суммирование Pi или базисных векторов q, потому что здесь только один вектор.

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

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

Занимаясь алгеброй,

Теперь проблема становится,

Что означает проблема максимизации?

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

Обратите внимание, что приведенное выше уравнение представляет собой скаляр, умноженный на скалярное произведение самого вектора.

Почему мы превратили задачу минимизации в задачу максимизации?

Тогда что такое транспонирование X q? Чем он отличается от оригинального X?

Другими словами, вектор-столбец представляет собой расстояние в новом подпространстве k-мерности.

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

Общий случай K

Теперь преобразуем выражение k = 1 в выражение общего k случая. Исходное выражение минимизации

эквивалентно

когда у нас более одного q и q больше не вектор, а матрица.

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

Чтобы перевести проблему максимизации в общий случай k, нам нужно решить, что мы хотим максимизировать от матрицы. Начнем с определения следа. след квадратной матрицы n на n A определяется как сумма элементов на главной диагонали (диагональ от верхнего левого угла до нижнего правого) A . Поскольку наша матрица Q (транспонировать Q) является симметричной, будет применяться та же теорема о симметричных матрицах, упомянутая выше, что она может быть разложена на PD, транспонированную T. И мы также будем использовать свойство трассировки, которая трассирует (AB) = след (BA).

Если A диагонализуемая матрица, то след матрицы A равен сумме собственных значений матрицы A. Вот доказательство:

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

Мы также можем внести идею трассировки в задачу минимизации следующим образом:

Следовательно, максимизация следа матрицы

эквивалентно максимизации ковариационной матрицы, а также собственных значений, связанных с X транспонированием X. Обратите внимание, что размерность X транспонирования X равна dxd, но матрица, след которой максимизируемый имеет размерность kx k. Результатом операции трассировки является матрица суммы собственных значений kxk, а на выходе операции argmax - матрица (dxk) Q, где каждый столбец является собственным вектором. вектора X транспонировать X. Следовательно, мы получаем максимум k собственных векторов.

Данные проекции

Пока мы работали только над получением базисных векторов для нового измерения. Однако то, что нам действительно нужно, - это проекция исходных данных в новое измерение. Последний шаг PCA - нам нужно умножить Q-транспонирование Q на исходную матрицу данных, чтобы получить матрицу проекции. Мы переходим от матрицы Q (d x k), и Q, транспонируя Q, дает размерность d x d. После умножения матрицы (d x n) X матрица проекции будет d x n.

Заключение

Мы начали с ковариационной матрицы d x d и получили k собственных векторов путем минимизации ошибки восстановления, что аналогично максимизации следа матрицы. Таким образом, мы успешно уменьшили размерность. Возвращаясь к статистической точке зрения, на вопрос, почему мы хотим максимизировать дисперсию, был дан ответ, потому что мы хотим минимизировать ошибку реконструкции, которая дает тот же результат, что и максимизация дисперсии.