Анализ основных компонентов PCA

сбор данных

Анализ основных компонентов PCA

1. Основная идея

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


Рисунок 1.1 Линейная корреляция данных

На картинке выше,x1,x2x_{1},x_{2}представляет собой линейную корреляцию, т.x1x_{1}Когда уверен,x2x_{2}распределены не случайным образом. Так же, как рост и вес человека, двумерные данные влияют друг на друга. В настоящее время мы надеемся == сформировать новый базисный вектор посредством линейной комбинации исходного базисного вектора и представить данные в виде нового базисного вектора, чтобы информация могла быть сосредоточена впереди.KKРазмерность, чтобы достичь цели уменьшения размерности ==.

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


Рисунок 1.2 Схематическая диаграмма анализа главных компонентов

​ При вращении осей переменные в данныхy1,y2y_{1},y_{2}Можно сказать, что она линейно независима, устраняя избыточность данных, и интуитивно мы думаем, что информация сосредоточена вy1y_{1}измерение, с данными вy1y_{1}Проекция на него заменяет исходные данные для анализа данных с целью уменьшения размерности.

Итак, пока проблему можно разделить на два этапа:

  • Представление данных и преобразование базиса
  • Выбор оптимального базисного вектора

2. Представление данных и преобразование базиса

2.1 Умножение матриц

Матрица обеспечивает представление для систем линейных уравнений

{k11x1+k12x2=y1k21x1+k22x2=y2(k11k12k21k22)(x1x2)=(y1y2)\left\{\begin{matrix}k_{11}x_{1} + k_{12}x_{2} = y_{1} \\k_{21}x_{1} + k_{22}x_{2} = y_{2}\end{matrix}\right.\\\begin{pmatrix}k_{11} & k_{12} \\k_{21} & k_{22}\end{pmatrix}\begin{pmatrix}x_{1} \\x_{2} \end{pmatrix}= \begin{pmatrix}y_{1} \\y_{2} \end{pmatrix}

Это также является источником правила умножения матриц «первая матрица умножается на строку, а вторая матрица умножается на столбец по порядку».

2.2 Представление данных и представление базисного вектора

По соглашению базисный вектор представляется в виде вектора-строки, например:

p1=(p11p2p3)p_{1} = \begin{pmatrix}p_{11} & p_{2} & p_{3} \end{pmatrix}

Данные обычно记录существуют в виде:

{ "身高": 180, "体重":180, "年龄": 18 }

По привычке данные представляются в виде вектора-столбца, например:

a1=(a11a12a13)a_{1} = \begin{pmatrix} a_{11} \\ a_{12} \\ a_{13} \end{pmatrix}

При этом, чтобы упростить последующий расчет дисперсии, данные обычно сначала деусредняются.

a1=(a11aˉ1a12aˉ1a13aˉ1)a_{1} = \begin{pmatrix} a_{11} - \bar{a}_{1} \\ a_{12}- \bar{a}_{1} \\ a_{13}- \bar{a}_{1} \end{pmatrix}

Необработанные данные, о которых мы поговорим позже, относятся к результату после деусреднения данных.

2.3 Базовое преобразование

Представление данных связано с используемым базовым вектором.Например, базовый вектор исходных данных в двух измерениях равен(1,0),(0,1)(1,0),(0,1), при использовании других базисных векторов важные свойства векторного скалярного произведения: A与B的内积 = A到B的投影长度 × |B|。Когда модуль базисного вектора равен 1, исходные данные и базисный вектор перемножаются для получения координат после преобразования данных. как

(12121212)(32)=(5212)\begin{pmatrix} \frac{1}{\sqrt{2} } & \frac{1}{\sqrt{2} } \\ - \frac{1}{\sqrt{2} } & \frac{1}{\sqrt{2} } \end{pmatrix} \begin{pmatrix} 3 \\ 2 \end{pmatrix} = \begin{pmatrix} \frac{5}{\sqrt{2} } \\ - \frac{1}{\sqrt{2} } \end{pmatrix}

представлять данные(3,2)(3,2)в базисном векторе(12,12),(12,12)(\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}}),(-\frac{1}{\sqrt{2} },\frac{1}{\sqrt{2} })Новые координаты(52,12)(\frac{5}{\sqrt{2}},- \frac{1}{\sqrt{2} })

== с вектором-строкойpip_{i}представляет базисный вектор, вектор-столбецaia_{i}Представляя одни данные, базисное преобразование для нескольких наборов данных может быть выражено единообразно путем матричного умножения ==.

(p1p2pr)(a1a2am)=(p1a1p1a2p1amp2a1p2a2p2ampra1pra2pram)\begin{pmatrix} p_{1} \\ p_{2} \\ \vdots \\ p_{r} \end{pmatrix} \begin{pmatrix} a_{1} & a_{2} & \dots & a_{m} \end{pmatrix} = \begin{pmatrix} p_{1}a_{1} & p_{1}a_{2} & \dots & p_{1}a_{m} \\ p_{2}a_{1} & p_{2}a_{2} & \dots & p_{2}a_{m} \\ \vdots & \vdots & \ddots & \vdots \\ p_{r}a_{1} & p_{r}a_{2} & \dots & p_{r}a_{m} \\ \end{pmatrix}

​ Новые координаты: (Примечаниеpi,aiр_ {я}, а_ {я}все матрицы)

(p1a1p2a1pra1),(p1a2p2a2pra2),,(p1amp2ampram)\begin{pmatrix} p_{1}a_{1}\\ p_{2}a_{1}\\ \vdots\\ p_{r}a_{1}\\ \end{pmatrix} , \begin{pmatrix} p_{1}a_{2}\\ p_{2}a_{2}\\ \vdots\\ p_{r}a_{2}\\ \end{pmatrix} , \dots , \begin{pmatrix} p_{1}a_{m}\\ p_{2}a_{m}\\ \vdots\\ p_{r}a_{m}\\ \end{pmatrix}

Теперь, когда мы нашли метод получения соответствующего представления данных во время преобразования базиса, следующим шагом является анализ группы базисных векторов.pT=(p1,p2,,pr)p^{T} = (p_{1},p_{2},\dots,p_{r} )Оцените, чтобы найти оптимальный набор базисных векторов.

3. Оценка базового вектора

Мы надеемся использовать раньшеKKизмерения представляют данные и сохраняют информацию, необходимоKKПредставление размеров максимально приближено к исходному представлению данных.


Рисунок 3.1 Представление данных

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


Рисунок 3.2 Представление данных

3.1 Дисперсия

​ Согласно теореме Пифагора расстояние от точки до начала координат постоянно (гипотенуза остается неизменной), одна из двух других прямоугольных сторон увеличивается, а другая уменьшается.Можно использовать степень разделения креста , то есть расстояние одной из прямоугольных сторон Длина измеряет наш базисный вектор. Таким образом, мы берем среднее значение суммы дисперсий данных (помните, что мы усреднили данные) в качестве стандарта, то есть для первогоjjразмер, надеюсь максимизировать

Var(aj)=1mi=1maij2Var(a_{j}) =\frac{1}{m} \sum^{m}_{i=1} a_{ij}^{2}

из которыхaija_{ij}- координаты после преобразования базы.

3.2 Ковариация

Мы используем дисперсию для представления степени дисперсии нескольких наборов данных в одном измерении и количества информации об удержании данных.Для многомерных данных мы используем ковариацию для представления корреляции между измерениями данных и измерениями. Чтобы сделать связь между переменными линейной, наша цель состоит в том, чтобы сделатьCov=0Cov = 0, то есть дляxxРазмер и Диyyизмерения, мы хотим сделать следующее уравнение равным00

Cov(ax,ay)=1mi=1maxiayiCov(a_{x},a_{y}) = \frac{1}{m} \sum^{m}_{i=1} a_{xi}a_{yi}

из которыхa1,a2a_{1},a_{2}Указывает 1-е измерение, 2-е измерение.

3.3 Ковариационная матрица

Мы хотим объединить3.1,3.23.1,3.2Предлагаемая цель оптимизации, этим инструментом является ковариационная матрица. в соответствии с2.32.3в виде матрицы данных. заmmКусокnnразмерные данные

ai=(ai1ai2ain),X=(a1,a2,,am),1mXXT=(Cov(1,1)Cov(1,2)Cov(1,n)Cov(2,1)Cov(2,2)Cov(2,n)Cov(n,1)Cov(n,2)Cov(n,n))a_{i} = \begin{pmatrix} a_{i1} \\ a_{i2} \\ \vdots \\ a_{in} \end{pmatrix} , \\ X = (a_{1},a_{2}, \dots , a_{m}) , \\ \frac{1}{m}XX^{T} = \begin{pmatrix} Cov(1,1) & Cov(1,2) & \dots & Cov(1,n) \\ Cov(2,1) & Cov(2,2) & \dots & Cov(2,n) \\ \vdots & \vdots & \ddots & \vdots \\ Cov(n,1) & Cov(n,2) & \dots & Cov(n,n) \\ \end{pmatrix}

Например, 3 2D-данные


Рисунок 3.3 Ковариационная матрица

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

Пусть == исходная матрица данныхXXСоответствующая ковариационная матрицаCC==,PPпредставляет собой набор матриц, составленных из строк по базису, пустьY=PXY = PX,СейчасYYзаXXправильноPPВыполните базовое преобразование данных. ПредполагатьYYКовариационная матрицаDD, имеет следующую связь

D=1mYYT=1m(PX)(PX)T=1mPXXTPT=P(1mXXT)PT=PCPTD = \frac{1}{m} YY^{T} \\ \quad \quad \quad \quad = \frac{1}{m}(PX)(PX)^{T} \\ \quad \quad \quad = \frac{1}{m}PXX^{T}P^{T} \\ \quad \quad \quad \quad = P( \frac{1}{m}XX^{T})P^{T} \\ \quad = PCP^{T}

Целью оптимизации становится == найти матрицуPP, удовлетворятьPCPTPCP^{T}— диагональная матрица, а диагональные элементы расположены в порядке убывания, тоPPпервыйKKРяд — это база для поиска, используйтеPPпервыйKKматрица строк, умноженная наXXсделатьXXотNNразмер внизKKразмерность и удовлетворяют приведенным выше условиям оптимизации. ==

Это видно из вышеизложенногоCCзаnnРядnnстолбец вещественной симметричной матрицы, с помощью линейной алгебры он может найтиnnединичные ортогональные собственные векторы, пусть этоnnСобственные векторыe1,e2,,ene_{1},e_{2},\dots,e_{n}, образуя матрицуE=(e1,e2,,en)E = (e_{1},e_{2},\dots,e_{n}). но

ETCE=Λ=(λ1λ2λn)E^{T}CE =\Lambda = \begin{pmatrix} \lambda_{1} & & & \\ & \lambda _{2} & & \\ & & \ddots & \\ & & & \lambda _{n} \end{pmatrix}

из которыхΛ\Lambda— диагональная матрица, диагональными элементами которой являются соответствующие собственные значения каждого собственного вектора (могут быть повторения).

На этом этапе мы обнаруживаем, что нашли искомую матрицуP=ET P = E^{T}.

PP— матрица собственных векторов ковариационной матрицы, расположенных по строкам после нормализации, где каждая строкаCCвектор признаков . Если установленоPPв соответствии сΛ\LambdaСобственные значения располагаются от большего к меньшему, а собственные векторы располагаются сверху вниз, затем используйтеPPпервыйKKМатрица строк умножается на исходную матрицу данныхXX, получаем нужную нам матрицу данных уменьшенной размерностиYY.