Перейти к основному содержимому

Нахождение главных компонент

Дисперсия вдоль направления

Пусть данные {xn}n=1N\{\boldsymbol{x}_n\}_{n=1}^N имеют вектор среднего μ\boldsymbol{\mu} и ковариационную матрицу Σ\Sigma, которые по обучающей выборке вычисляются как выборочные оценки:

μ=1Nn=1Nxn\boldsymbol{\mu} = \frac{1}{N} \sum_{n=1}^N \boldsymbol{x}_n Σ=1Nn=1N(xnμ)(xnμ)T\Sigma = \frac{1}{N} \sum_{n=1}^N (\boldsymbol{x}_n - \boldsymbol{\mu})(\boldsymbol{x}_n - \boldsymbol{\mu})^T

Утверждение: дисперсия проекций

Дисперсия D\mathbb{D} проекций данных на вектор v\boldsymbol{v} единичной длины выражается как vTΣv\boldsymbol{v}^T \Sigma \boldsymbol{v}.

Доказательство:

Рассмотрим дисперсию скалярного произведения z=vTxz = \boldsymbol{v}^T \boldsymbol{x}:

D(z)=E[(zE[z])2]\mathbb{D}(z) = \mathbb{E}[(z - \mathbb{E}[z])^2]

Учитывая линейность математического ожидания E[z]=vTμ\mathbb{E}[z] = \boldsymbol{v}^T \boldsymbol{\mu}:

D(z)=E[(vTxvTμ)2]=E[(vT(xμ))2]\begin{aligned} \mathbb{D}(z) &= \mathbb{E}[(\boldsymbol{v}^T \boldsymbol{x} - \boldsymbol{v}^T \boldsymbol{\mu})^2] \\ &= \mathbb{E}[(\boldsymbol{v}^T (\boldsymbol{x} - \boldsymbol{\mu}))^2] \end{aligned}

Используя правила транспонирования (AB)T=BTAT(AB)^T = B^T A^T и свойство, что при транспонировании скаляра vT(xμ)\boldsymbol{v}^T (\boldsymbol{x} - \boldsymbol{\mu}) он не меняется, получим:

D(z)=E[(vT(xμ))2]=E[(vT(xμ))(vT(xμ))T]=E[vT(xμ)(xμ)Tv]=vTE[(xμ)(xμ)T]v\begin{aligned} \mathbb{D}(z) &= \mathbb{E}\left[ \left( \boldsymbol{v}^T (\boldsymbol{x} - \boldsymbol{\mu}) \right)^2 \right] \\ &= \mathbb{E}\left[ \left( \boldsymbol{v}^T (\boldsymbol{x} - \boldsymbol{\mu}) \right) \left( \boldsymbol{v}^T (\boldsymbol{x} - \boldsymbol{\mu}) \right)^T \right] \\ &= \mathbb{E}\left[ \boldsymbol{v}^T (\boldsymbol{x} - \boldsymbol{\mu}) (\boldsymbol{x} - \boldsymbol{\mu})^T \boldsymbol{v} \right] \\ &= \boldsymbol{v}^T \mathbb{E}\left[ (\boldsymbol{x} - \boldsymbol{\mu}) (\boldsymbol{x} - \boldsymbol{\mu})^T \right] \boldsymbol{v} \end{aligned}

Подставляя определение матрицы Σ\Sigma, получаем:

D(z)=vTΣv\mathbb{D}(z) = \boldsymbol{v}^T \Sigma \boldsymbol{v}

\square

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

Первая главная компонента

Первая главная компонента

Первая главная компонента (first principal component) — это направление в пространстве исходных признаков, задаваемое вектором v1\boldsymbol{v}_1 единичной нормы (v1=1\|\boldsymbol{v}_1\|=1), такое, что проекция центрированных данных на это направление обладает максимально возможной дисперсией.

Утверждение: первая главная компонента

Вектор v1\boldsymbol{v}_1, максимизирующий дисперсию проекции при v1=1\|\boldsymbol{v}_1\|=1, является собственным вектором матрицы Σ\Sigma, отвечающим её максимальному собственному числу λ1\lambda_1.

Доказательство:

Для поиска первой главной компоненты v1\boldsymbol{v}_1 необходимо решить задачу на условный экстремум. Мы хотим найти вектор, который дает проекцию с максимальной дисперсией, сохраняя при этом единичную длину вектора, чтобы масштаб не влиял на результат.

Формально задача записывается следующим образом:

{vTΣvmaxvvTv=1\begin{cases} \boldsymbol{v}^T \Sigma \boldsymbol{v} \to \max_{\boldsymbol{v}} \\ \boldsymbol{v}^T \boldsymbol{v} = 1 \end{cases}

Для решения этой задачи используется метод множителей Лагранжа [1]. Мы переходим от поиска экстремума функции при ограничении к поиску стационарных точек лагранжиана:

L(v,λ)=vTΣvλ(vTv1)L(\boldsymbol{v}, \lambda) = \boldsymbol{v}^T \Sigma \boldsymbol{v} - \lambda (\boldsymbol{v}^T \boldsymbol{v} - 1)

где λ\lambda — множитель Лагранжа. Необходимым условием экстремума является равенство нулю частной производной по v\boldsymbol{v}:

Lv=v(vTΣv)v(λvTv)=0\frac{\partial L}{\partial \boldsymbol{v}} = \frac{\partial}{\partial \boldsymbol{v}} (\boldsymbol{v}^T \Sigma \boldsymbol{v}) - \frac{\partial}{\partial \boldsymbol{v}} (\lambda \boldsymbol{v}^T \boldsymbol{v}) = 0

Используя правила матричного дифференцирования (aTAaa=2Aa\frac{\partial \boldsymbol{a}^T A \boldsymbol{a}}{\partial \boldsymbol{a}} = 2A\boldsymbol{a} для симметричной матрицы AA), получаем:

2Σv2λv=0    Σv=λv2 \Sigma \boldsymbol{v} - 2 \lambda \boldsymbol{v} = 0 \implies \Sigma \boldsymbol{v} = \lambda \boldsymbol{v}

Следовательно, v\boldsymbol{v} является одним из собственных векторов матрицы Σ\Sigma.

Дисперсия при этом равна

D(z)=vTΣv=vTλv=λvTv=λ\mathbb{D}(z) = \boldsymbol{v}^T \Sigma \boldsymbol{v} = \boldsymbol{v}^T \lambda \boldsymbol{v} = \lambda \boldsymbol{v}^T \boldsymbol{v} = \lambda

Поскольку нас интересует максимизация дисперсии, v\boldsymbol{v} следует выбрать собственным вектором v1\boldsymbol{v}_1 матрицы Σ\Sigma, отвечающим максимальному собственному значению λ1\lambda_1.

\square

Спектральная теорема

Так как ΣRD×D\Sigma\in\mathbb{R}^{D\times D} — симметричная вещественная матрица, то согласно спектральной теореме [2], её собственные значения вещественны, а собственные вектора образуют ортонормированный базис. То есть она обладает набором из DD собственных векторов, которые ортогональны друг другу.

Обозначим за v1,v2,...vD \boldsymbol{v}_1, \boldsymbol{v}_2,... \boldsymbol{v}_D собственные вектора Σ\Sigma, отвечающие собственным значениям λ1λ2λD0\lambda_1 \ge \lambda_2 \ge \lambda_D \ge 0. Все собственные значения неотрицательны, поскольку по свойству дисперсии, доказанному выше,

viTΣvi=λiviTvi=λi=D(viTx)0\boldsymbol{v_i}^T \Sigma \boldsymbol{v_i}=\lambda_i \boldsymbol{v_i}^T \boldsymbol{v_i}=\lambda_i=\mathbb{D}(\boldsymbol{v}_i^T \boldsymbol{x})\ge 0

Последующие главные компоненты

(M+1)(M+1)-я главная компонента

(M+1)(M+1)-я главная компонента ((M+1)(M+1)-th principal component) — это направление, задаваемое вектором vM+1\boldsymbol{v}_{M+1} единичной нормы, которое

  1. обеспечивает максимум дисперсии проекций данных на неё;

  2. ортогональна всем ранее найденным компонентам v1,,vM\boldsymbol{v}_1, \dots, \boldsymbol{v}_M.

Допустим, уже найдены MM главных компонент v1,,vM\boldsymbol{v}_1, \dots, \boldsymbol{v}_M, отвечающие собственным векторам матрицы Σ\Sigma с собственными значениями λ1λ2λM\lambda_1 \ge \lambda_2 \ge \lambda_M. По спектральной теореме они будут ортогональны друг другу.

Утверждение: (K+1) главная компонента

(K+1)(K+1)-я главная компонента является собственным вектором Σ\Sigma, отвечающим (K+1)(K+1)-му по величине собственному числу.

Доказательство:

Математически оптимизационная задача для (K+1)(K+1)-й главной компоненты записывается следующим образом:

{vTΣvmaxvvTv=1vTvj=0,j=1,,K\begin{cases} \boldsymbol{v}^T \Sigma \boldsymbol{v} \to \max_{\boldsymbol{v}} \\ \boldsymbol{v}^T \boldsymbol{v} = 1 \\ \boldsymbol{v}^T \boldsymbol{v}_j = 0, \quad j = 1, \dots, K \end{cases}

Решать задачу будем методом множителей Лагранжа. Соответствующий лагранжиан равен

L(v,λ,η1,,ηK)=vTΣvλ(vTv1)j=1KηjvTvjL(\boldsymbol{v}, \lambda, \eta_1, \dots, \eta_K) = \boldsymbol{v}^T \Sigma \boldsymbol{v} - \lambda (\boldsymbol{v}^T \boldsymbol{v} - 1) - \sum_{j=1}^K \eta_j \boldsymbol{v}^T \boldsymbol{v}_j

с двойственными переменными λ,η1,,ηK\lambda, \eta_1, \dots, \eta_K, отвечающими соответствующим ограничениям.

Запишем условие стационарности лагранжиана по v\boldsymbol{v}:

Lv=2Σv2λvj=1Kηjvj=0\frac{\partial L}{\partial \boldsymbol{v}} = 2 \Sigma \boldsymbol{v} - 2 \lambda \boldsymbol{v} - \sum_{j=1}^K \eta_j \boldsymbol{v}_j = 0

Умножим полученное уравнение слева на viT\boldsymbol{v}_i^T, iKi \le K (одну из ранее найденных главных компонент):

2viTΣv2λviTvj=1Kηj(viTvj)=02 \boldsymbol{v}_i^T \Sigma \boldsymbol{v} - 2 \lambda \boldsymbol{v}_i^T \boldsymbol{v} - \sum_{j=1}^K \eta_j (\boldsymbol{v}_i^T \boldsymbol{v}_j) = 0

Поскольку viTvj=I{i=j}\boldsymbol{v}_i^T \boldsymbol{v}_j = \mathbb{I}\{i=j\}, получим

2viTΣv2λviTvηi=02 \boldsymbol{v}_i^T \Sigma \boldsymbol{v} - 2 \lambda \boldsymbol{v}_i^T \boldsymbol{v} - \eta_i = 0

В силу симметрии Σ\Sigma и ортогональности: viTΣv=(Σvi)Tv=λiviTv=0\boldsymbol{v}_i^T \Sigma \boldsymbol{v} = (\Sigma \boldsymbol{v}_i)^T \boldsymbol{v} = \lambda_i \boldsymbol{v}_i^T \boldsymbol{v} = 0. Значит, все ηi=0\eta_i = 0, и мы снова приходим к уравнению на собственные числа Σv=λv\Sigma \boldsymbol{v} = \lambda \boldsymbol{v}.

Чтобы максимизировать дисперсию D(vTx)=λ\mathbb{D}(\boldsymbol{v}^T \boldsymbol{x}) = \lambda, соблюдая при этом ортогональность ранее найденным главным компонентам v1,,vK\boldsymbol{v}_1, \dots, \boldsymbol{v}_K, мы должны выбрать собственный вектор vK+1\boldsymbol{v}_{K+1} матрицы Σ\Sigma, отвечающий (K+1)(K+1)-му по величине собственному значению λK+1\lambda_{K+1}. Ортогональность при этом обеспечивается тем, что собственные векторы образуют ортонормированный базис согласно спектральной теореме.

\square

Значение каждой главной компоненты

Последовательно применяя полученный результат, получим, что kk-я главная компонента равна собственному вектору vk\boldsymbol{v}_k матрицы Σ\Sigma, отвечающему kk-му собственному вектору.

Утверждение: дисперсия проекций на компоненту

Дисперсия проекции данных на kk-ю главную компоненту равна соответствующему собственному числу λk\lambda_k.

Доказательство:

Для kk-й компоненты vk\boldsymbol{v}_k выполняется Σvk=λkvk\Sigma \boldsymbol{v}_k = \lambda_k \boldsymbol{v}_k. Тогда:

D(zk)=vkTΣvk=vkT(λkvk)=λkvk2=λk\begin{aligned} \mathbb{D}(z_k) &= \boldsymbol{v}_k^T \Sigma \boldsymbol{v}_k \\ &= \boldsymbol{v}_k^T (\lambda_k \boldsymbol{v}_k) = \lambda_k \|\boldsymbol{v}_k\|^2 = \lambda_k \end{aligned}

\square

Литература

  1. Wikipedia: Метод множителей Лагранжа.
  2. Wikipedia: Спектральная теорема.