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

Снижение размерности методом LDA

Ранее мы изучили линейный дискриминантный анализ (Linear Discriminant Analysis, LDA) как вероятностную модель, основанную на предположении о нормальном распределении признаков внутри каждого класса с общей ковариационной матрицей Σ\Sigma:

p(xy)=1(2π)D/2Σ1/2exp(12(xμy)TΣ1(xμy))p(\boldsymbol{x} | y) = \frac{1}{(2\pi)^{D/2} |\Sigma|^{1/2}} \exp \left( -\frac{1}{2} (\boldsymbol{x} - \boldsymbol{\mu}_y)^T \Sigma^{-1} (\boldsymbol{x} - \boldsymbol{\mu}_y) \right)

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

Учёт меток позволяет находить направления, проекции на которые лучше дискриминируют классы, как показано на рисунке ниже, на котором показана главная компонента, извлечённая методом LDA и PCA:

Главная компонента метода PCA учитывает только направления максимального разброса признаков, что не всегда сочетается с качеством разделения классов, как в приведённом случае.

Геометрия ближайших центроидов

Рассмотрим дискриминантную функцию LDA, полученную на промежуточном этапе вывода в прошлой главе:

gy(x)=12(xμy)TΣ1(xμy)+lnp(y)g_y(\boldsymbol{x}) = -\frac{1}{2} (\boldsymbol{x} - \boldsymbol{\mu}_y)^T \Sigma^{-1} (\boldsymbol{x} - \boldsymbol{\mu}_y) + \ln p(y)

Здесь выражение (xμy)TΣ1(xμy)(\boldsymbol{x} - \boldsymbol{\mu}_y)^T \Sigma^{-1} (\boldsymbol{x} - \boldsymbol{\mu}_y) представляет собой квадрат расстояния Махаланобиса (Mahalanobis distance) между точкой x\boldsymbol{x} и центроидом класса μy\boldsymbol{\mu}_y.

Таким образом, LDA можно интерпретировать как метод ближайшего центроида (nearest centroid method), где расстояние измеряется с учётом корреляционной структуры данных (Σ\Sigma), а выбор класса корректируется на априорную вероятность (prior probability) p(y)p(y).

Декорреляция данных

Расстояние Махаланобиса кажется сложным, но его легко свести к обычному евклидову расстоянию через преобразование декорреляции (decorrelation):

x=Σ1/2x\boldsymbol{x}^* = \Sigma^{-1/2} \boldsymbol{x}

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

dΣ2(x,μy)=(xμy)TΣ1(xμy)d_{\Sigma}^2(\boldsymbol{x}, \boldsymbol{\mu}_y) = (\boldsymbol{x} - \boldsymbol{\mu}_y)^T \Sigma^{-1} (\boldsymbol{x} - \boldsymbol{\mu}_y) =(xμy)T(Σ1/2)TΣ1/2(xμy)= (\boldsymbol{x} - \boldsymbol{\mu}_y)^T (\Sigma^{-1/2})^T \Sigma^{-1/2} (\boldsymbol{x} - \boldsymbol{\mu}_y) =(Σ1/2(xμy))T(Σ1/2(xμy))=xμy2= (\Sigma^{-1/2}(\boldsymbol{x} - \boldsymbol{\mu}_y))^T (\Sigma^{-1/2}(\boldsymbol{x} - \boldsymbol{\mu}_y)) = \|\boldsymbol{x}^* - \boldsymbol{\mu}_y^*\|^2
Геометрическая интерпретация

Декоррелирующее преобразование Σ1/2\Sigma^{-1/2} преобразует пространство таким образом, что эллипсоидальное облако исходных объектов превращается в распределение точек внутри сферы. Далее в этом пространстве вычисляется обычное евклидово расстояние.

Декоррелирование вектров-строк

Если x\boldsymbol{x} - вектор-строка (а не столбец, как обычно), то декоррелирующее преобразование будет получаться транспонированием:

x=xΣ1/2\boldsymbol{x} = \boldsymbol{x} \Sigma^{-1/2}

Мы воспользовались свойством (Σ1/2)T=Σ1/2(\Sigma^{-1/2})^T=\Sigma^{-1/2} для симметричном матрицы Σ\Sigma.

Неявное снижение размерности

Важной особенностью LDA является скрытое снижение размерности. Если у нас есть CC центроидов μ1,,μC\boldsymbol{\mu}_1, \dots, \boldsymbol{\mu}_C в DD-мерном пространстве, то они всегда лежат в некотором аффинном подпространстве размерности не более C1C-1.

При поиске ближайшего центроида (в сферическом пространстве) мы можем полностью игнорировать любые отклонения объекта, которые перпендикулярны этому подпространству, так как они вносят одинаковый вклад в расстояние до каждого класса. Следовательно, для работы LDA достаточно рассматривать данные только в подпространстве размерности C1C-1.

Метод проекций (Reduced-Rank LDA)

Если нам нужно снизить размерность до уровня K<C1K < C-1 (например, до K=2K=2 для визуализации), мы должны выбрать наиболее информативное подпространство. Будем считать таким то подпространство, в котором проекции центроидов максимально разнесены с учётом мощности каждого центроида (числа объектов в соответствующем классе).

Для этого применяется метод главных компонент (PCA), но для центроидов с учётом их веса (числа объектов в соответствующем кластере):

  1. Находится общая матрица ковариации Σ\Sigma исходных данных.
  2. Вычисляется матрица центроидов MRC×DM\in\mathbb{R}^{C \times D}.
  3. Проводится декорреляция центроидов: M=MΣ1/2M^* = M \Sigma^{-1/2}.
  4. Вычисляется межклассовая матрица разброса BB^* для трансформированных средних с учётом частотности классов πy=p(y)\pi_y = p(y):
B=y=1Cπy(μyμˉ)(μyμˉ)TB^* = \sum_{y=1}^C \pi_y (\boldsymbol{\mu}_y^* - \bar{\boldsymbol{\mu}}^*)(\boldsymbol{\mu}_y^* - \bar{\boldsymbol{\mu}}^*)^T

Здесь μˉ=πyμy\bar{\boldsymbol{\mu}}^* = \sum \pi_y \boldsymbol{\mu}_y^* — общее среднее в новом пространстве.

Затем находится KK собственных векторов vk\boldsymbol{v}^*_{k}, k=1,2,...Kk=1,2,...K матрицы BB^*, отвечающих KK максимальным собственным значениям (главные компоненты). Эти векторы определяют направления в декоррелированном пространстве, вдоль которых центроиды классов имеют максимальный разброс.

Ограничение на количество компонент

Метод LDA позволяет извлечь не более C1C-1 информативных направлений, поскольку справедливо следующее утверждение:

Утверждение:

Ранг матрицы B=y=1Cπy(μyμˉ)(μyμˉ)TB^* = \sum_{y=1}^C \pi_y (\boldsymbol{\mu}_y^* - \bar{\boldsymbol{\mu}}^*)(\boldsymbol{\mu}_y^* - \bar{\boldsymbol{\mu}}^*)^T не превосходит C1C-1.

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

Матрица BB^* является суммой CC внешних произведений векторов вида (μyμˉ)(\boldsymbol{\mu}_y^* - \bar{\boldsymbol{\mu}}^*). Заметим, что по определению общего среднего μˉ=πyμy\bar{\boldsymbol{\mu}}^* = \sum \pi_y \boldsymbol{\mu}_y^* выполняется условие:

y=1Cπy(μyμˉ)=πyμyμˉπy=μˉμˉ=0\sum_{y=1}^C \pi_y (\boldsymbol{\mu}_y^* - \bar{\boldsymbol{\mu}}^*) = \sum \pi_y \boldsymbol{\mu}_y^* - \bar{\boldsymbol{\mu}}^* \sum \pi_y = \bar{\boldsymbol{\mu}}^* - \bar{\boldsymbol{\mu}}^* = \boldsymbol{0}

Это означает, что векторы отклонений центроидов линейно зависимы. Следовательно, подпространство, натянутое на эти векторы, имеет размерность не более C1C-1. Ранг матрицы BB^* (количество её ненулевых собственных чисел) также ограничен этой величиной.

\square

Практическое следствие

Если в вашей задаче всего 2 класса (бинарная классификация), LDA всегда предложит только одну главную компоненту (проекцию на прямую), даже если исходных признаков тысячи. Для визуализации данных в 2D (на плоскости) методом LDA требуется наличие как минимум 3-х классов.

Направления в исходном пространстве

Чтобы спроецировать исходный объект x\boldsymbol{x} на kk-ю дискриминантную ось, нам нужно найти соответствующий вектор весов vk\boldsymbol{v}_{k} в исходном признаковом пространстве.

Как было показано ранее, результат проекции zkz_{k} в сферическом пространстве равен:

zk=(vk)Tx=(vk)TΣ1/2x=(Σ1/2vk)Txz_{k} = (\boldsymbol{v}^*_{k})^T \boldsymbol{x}^* = (\boldsymbol{v}^*_{k})^T \Sigma^{-1/2} \boldsymbol{x} = (\Sigma^{-1/2}\boldsymbol{v}^*_{k})^T \boldsymbol{x}

Следовательно, искомый вектор направления выражается формулой:

vk=Σ1/2vk\boldsymbol{v}_{k} = \Sigma^{-1/2} \boldsymbol{v}^*_{k}

Свойства метода

Векторы v1,,vK\boldsymbol{v}^*_1, \dots, \boldsymbol{v}^*_K, будучи главными компонентами в декоррелированном пространстве, имеют единичную норму и взаимно ортогональны:

(vi)Tvj=I{i=j}(\boldsymbol{v}^*_i)^T \boldsymbol{v}^*_j = \mathbb{I}\{i=j\}

Однако это свойство не сохраняется для соответствующих дискриминантных направлений vk\boldsymbol{v}_k в исходном пространстве.

Визуально в исходном пространстве оси LDA могут выглядеть как пересекающиеся под произвольным углом. Это происходит потому, что LDA «подстраивается» под эллиптическую форму облака данных.

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

Однако для этих векторов справедливо следующее свойство:

viTΣvj=(Σ1/2vi)TΣ(Σ1/2vj)=(vi)T(Σ1/2)TΣΣ1/2vj=(vi)TΣ1/2ΣΣ1/2vj=(vi)TIvj=I{i=j}\begin{aligned} \boldsymbol{v}_i^T \Sigma \boldsymbol{v}_j &= (\Sigma^{-1/2} \boldsymbol{v}^*_i)^T \Sigma (\Sigma^{-1/2} \boldsymbol{v}^*_j) \\ &= (\boldsymbol{v}^*_i)^T (\Sigma^{-1/2})^T \Sigma \Sigma^{-1/2} \boldsymbol{v}^*_j \\ &= (\boldsymbol{v}^*_i)^T \Sigma^{-1/2} \Sigma \Sigma^{-1/2} \boldsymbol{v}^*_j \\ &= (\boldsymbol{v}^*_i)^T I \boldsymbol{v}^*_j = \mathbb{I}\{i=j\} \end{aligned}

Отсюда следует следующее важное свойство проекций на дискриминантные направления:

Утверждение: нескоррелированность признаков

Новые признаки ziz^i, полученные путём проекции центрированных данных на дискриминантные направления vi\boldsymbol{v}_i, нескоррелированы между собой и имеют единичную дисперсию.

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

Рассмотрим ковариацию между двумя новыми признаками ziz^i и zjz^j. Поскольку исходные признаки центрированы (E[x]=0\mathbb{E}[\boldsymbol{x}] = \boldsymbol{0}), математическое ожидание проекций также равно нулю: E[zi]=E[viTx]=0\mathbb{E}[z^i] = \mathbb{E}[\boldsymbol{v}_i^T \boldsymbol{x}] = 0.

Тогда ковариация записывается как:

cov(zi,zj)=E[zizj]=E[(viTx)(xTvj)]\text{cov}(z^i, z^j) = \mathbb{E}[z^i z^j] = \mathbb{E}[(\boldsymbol{v}_i^T \boldsymbol{x})(\boldsymbol{x}^T \boldsymbol{v}_j)]

Воспользуемся линейностью математического ожидания и вынесем векторы весов за знак оператора:

cov(zi,zj)=viTE[xxT]vj=viTΣvj\text{cov}(z^i, z^j) = \boldsymbol{v}_i^T \mathbb{E}[\boldsymbol{x} \boldsymbol{x}^T] \boldsymbol{v}_j = \boldsymbol{v}_i^T \Sigma \boldsymbol{v}_j

Используя ранее доказанное свойство viTΣvj=I{i=j}\boldsymbol{v}_i^T \Sigma \boldsymbol{v}_j = \mathbb{I}\{i=j\}, получаем:

cov(zi,zj)=I{i=j}\text{cov}(z^i, z^j) = \mathbb{I}\{i=j\}

Таким образом, при iji \neq j ковариация (а значит, и корреляция) равна нулю. При i=ji = j дисперсия каждого нового признака равна единице.

\square