Как выбрать направление, сохраняющее максимум разброса?
В прошлом уроке про матрицы мы видели: у симметричной матрицы есть
ортогональные собственные направления. Сейчас окажется, что именно они отвечают на
важнейший вопрос анализа данных — вдоль каких осей облако точек разбросано сильнее
всего. Так рождается метод главных компонент: не магия, а прямое следствие
ортогональности и множителей Лагранжа.
Проекция на единичный вектор
Пусть у нас n объектов, у каждого — вектор признаков xi. Спроецируем их на
единичное направление u: проекция i-го объекта равна числу zi=xi⊤u.
Насколько «широко» точки разъезжаются вдоль этой оси, измеряет выборочная дисперсия
проекций. Если данные центрированы (среднее вычтено), она равна
n1i∑zi2=u⊤(n1Xc⊤Xc)u=u⊤Su,S=n1Xc⊤Xc.
Здесь S — ковариационная матрица. Первая главная компонента — это направление,
вдоль которого разброс максимален:
u1=arg∥u∥=1maxu⊤Su.
На реальных данных это видно сразу. Возьмём знаменитый набор ирисов Фишера и два
признака — длину и ширину лепестка. Облако вытянуто по диагонали; вращая ось
проекции, мы получаем разную дисперсию, и она достигает максимума ровно вдоль
длинной оси облака.
Рис. 38.1. Дисперсия проекции зависит от направления
Каждому углу оси проекции отвечает своя дисперсия u⊤Su. Максимум 3,66
достигается вдоль вытянутой оси облака — это и есть первая главная компонента.
Центрировать обязательно
Вычитание среднего — не формальность. Без него первая ось может просто указывать из
начала координат к далёкому облаку, описывая его положение, а не внутренний разброс.
Вращайте ось над реальным облаком ирисов и следите за столбиком дисперсии справа:
он максимален, когда ось совпадает с длинной осью облака. Переключатель
центрирования по-настоящему пересчитывает данные — выключите его и увидите, как ось
теряет смысл, уводя к началу координат.
От Лагранжа к собственному вектору
Откуда берётся оптимальное направление? Это задача на условный экстремум:
максимизировать u⊤Su при ограничении u⊤u=1. Составим лагранжиан
L(u,λ)=u⊤Su−λ(u⊤u−1).
Приравняв производную к нулю, получаем 2Su−2λu=0, то есть
Su=λu.
Оптимальное направление — собственный вектор ковариационной матрицы, а само
λ равно дисперсии проекции вдоль него. Максимум достигается на собственном
векторе с наибольшим собственным значением. Никакого отдельного алгоритма: PCA — это
задача на собственные значения.
Собственные векторы ковариации ортогональны
Ковариационная матрица симметрична, а у симметричной матрицы собственные векторы,
отвечающие разным собственным значениям, взаимно перпендикулярны. Поэтому главные
компоненты образуют ортонормированный базис: вторая ось перпендикулярна первой,
третья — первым двум, и так далее.
Рис. 38.2. Главные оси — ортогональные собственные векторы ковариации
Эллипс рассеяния и две его оси. Длинная — первая компонента (λ1=3,66),
короткая перпендикулярная — вторая (λ2=0,04). Длины полуосей равны
λ.
Русская линия здесь ведёт к самому понятию ортогональности в статистике. П. Л.
Чебышёв и его школа развили теорию ортогональных многочленов и метод наименьших
квадратов, где взаимно перпендикулярные направления позволяют раскладывать величину
на независимые вклады. Главные компоненты — это ровно такой ортогональный базис,
только построенный по разбросу самих данных.
Следующие компоненты и SVD
Вторая компонента максимизирует дисперсию среди направлений, перпендикулярных первой,
третья — перпендикулярных первым двум. На практике компоненты почти никогда не ищут
через явную ковариацию: вместо этого раскладывают саму центрированную матрицу данных
сингулярным разложением
Xc=UΣV⊤.
Столбцы V — это и есть главные компоненты, а собственные значения ковариации
связаны с сингулярными числами: λj=σj2/n. Такой путь численно
устойчивее, потому что не требует возводить данные в квадрат при построении S.
Спектр и объяснённая дисперсия
Как понять, сколько компонент оставить? Собственные значения, выстроенные по
убыванию, образуют спектр (scree plot): первые несколько велики, дальше — быстрый
спад. Накопленная доля объяснённой дисперсии
Rm=λ1+⋯+λdλ1+⋯+λm
говорит, какую долю разброса удерживают первые m осей. На реальных рукописных
цифрах 8×8 уже 13 компонент из 64 удерживают 80% дисперсии.
Слева: спектр (красный) круто падает, накопленная дисперсия (синяя) достигает 80%
уже при 13 компонентах. Справа: цифра, восстановленная по m компонентам, от
размытой к чёткой.