ML Vault
All notes

PCA

tags

Principal Component Analysis

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

Зачем хотим снижать размерность?

  • Сложно визуализировать (хз как визуализировать 1000 мерное пространство)
  • Медленно обучается (скорость подсчета линейно растет с ростом размерности пространства признаков)
  • Проклятие размерности — количество равноудаленных точек растет очень быстро при увеличении размерности пространства (поэтому возникают проблемы с метрическими алгоритмами)
  • Некоторые модели на больших размерностях вообще не работают, а на малых достаточно неплохо работают (например kNN — метрические операции)

Снижение размерности в общем случае:
Сингулярное разложение
Теорема экарта янга (Theorem Eckart-Young)
PCA снижает размерность пространства вдоль самой большой дисперсии, поэтому важно нормировать признаки перед этим, иначе признак с большим диапозоном значений будет иметь самую большую дисперсию.

Краткое описание от chatgpt

PCA (Principal Component Analysis) — это метод уменьшения размерности данных и поиска основных направлений их вариации.
Как это работает:

  1. Цель PCA:
    Найти такие оси (направления), вдоль которых разброс данных максимален.
  2. Основные шаги:
    1. Центрируем данные (вычитаем среднее).
    2. Считаем ковариационную матрицу (описывает взаимосвязь признаков).
    3. Вычисляем собственные векторы (направления) и собственные значения (величину разброса) ковариационной матрицы.
    4. Сортируем собственные векторы по убыванию собственных значений.
    5. Выбираем несколько первых направлений (главные компоненты).
  3. Результат:
    Данные проецируются на несколько выбранных осей (главные компоненты), уменьшая размерность, но сохраняя как можно больше информации.
    Пример:
    Представьте, у вас есть облако точек в 3D. PCA найдёт новую координатную систему:
  • Первая ось проходит через направление максимального разброса данных.
  • Вторая — перпендикулярно первой и соответствует следующему большому разбросу.
  • Третья (если есть) — остаточный разброс.
    Если данные в основном лежат в плоскости, PCA может спроецировать их из 3D в 2D, потеряв минимум информации.
    Применение: сжатие данных, визуализация, ускорение алгоритмов, устранение корреляций.