Ответ вслух Senior Собственные значения и SVD обновлено

Как PCA считают через SVD

Вопрос

Расскажите, как устроен PCA и почему на практике его считают через SVD матрицы данных, а не через собственные векторы ковариационной матрицы.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

PCA ищет ортогональные направления, вдоль которых данные разбросаны сильнее всего. Сначала признаки центрируют, а если они в разных единицах, ещё и стандартизуют.

Что должно прозвучать в ответе

  • Центрирование данных обязательно, стандартизация при разных единицах

  • Компоненты это собственные векторы ковариационной матрицы, упорядоченные по дисперсии

  • Через SVD: X = UΣVᵀ, компоненты это столбцы V, дисперсии σ²/(n-1)

  • SVD численно устойчивее: не нужно явно строить XᵀX, где число обусловленности возводится в квадрат

  • Выбор числа компонент по доле объяснённой дисперсии (например 95%) или по задаче

Что могут спросить следом

  • Что делать, если данных так много, что X не помещается в память?
  • Чем PCA отличается от t-SNE и UMAP?

Разбор

PCA ищет ортогональные направления, вдоль которых данные разбросаны сильнее всего. Сначала признаки центрируют, а если они в разных единицах, ещё и стандартизуют. Классическая формулировка: собственные векторы ковариационной матрицы C = XᵀX/(n-1), упорядоченные по убыванию собственных значений, а значение равно дисперсии вдоль компоненты. На практике берут SVD центрированной X = UΣVᵀ: столбцы V и есть компоненты, дисперсии равны σᵢ²/(n-1), проекции равны UΣ. Так лучше, потому что не надо строить XᵀX: при этом число обусловленности возводится в квадрат и теряется точность. Плюс есть быстрые рандомизированные и усечённые SVD, которые считают только первые k компонент. Число компонент выбирают по доле объяснённой дисперсии, по «локтю» на графике или по качеству следующей модели. Для данных, не влезающих в память, есть инкрементальный PCA.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме