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

Сегодня мы проходим PCA, анализ главных компонентов.

Концепция PCA и причины

Основная концепция PCA заключается в уменьшении размерности. Когда у нас много функций данных, естественно, размерность данных будет высокой. Если мы имеем дело с этими данными, уменьшение размерности будет полезно.

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

Есть два способа уменьшить размеры. Выбор признаков и извлечение признаков — это два. PCA относится к извлечению признаков, и, поскольку никогда не сообщается, какой признак использовать/извлекать, он относится к неконтролируемому извлечению признаков.

Что такое ПСА?

Итак, как мы это сделаем?

Основная идея такова. Мы хотим спроецировать наши точки данных в диапазон более низкого измерения. Таким образом, размер становится ниже.

Однако проблема всегда в том, как. Мы не знаем, как выбрать векторы для проецирования.

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

Кроме того, единичные векторы на этом новом базисе имеют n единичных векторов в n-измерении, и они также ортогональны друг другу. Мы называем их «Основные компоненты».

Зачем максимизировать дисперсию?

Интуитивное видение, максимизация дисперсии при проецировании данных наиболее сохраняет «характеристики» этих данных.

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

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

Ковариационная матрица и собственный вектор, собственное значение

Чтобы узнать, как распределяются данные, мы можем использовать ковариационную матрицу.

Ковариационная матрица выглядит так:

Ковариационная матрица определяется как:

Однако, чтобы использовать PCA, нам нужно централизовать средние значения примеров данных. Таким образом, E(X) будет равно 0.

Тогда ковариационная матрица будет иметь вид:

Какой смысл имеет ковариационная матрица?

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

Итак, теперь у нас есть собственный вектор, если ковариационная матрица, то:

Это наша новая функция.

Шаги PCA

  1. Регуляризация данных (среднее центрирование - приведение среднего значения к 0)
  2. Вычислите ковариационную матрицу существующих функций
  3. Вычислите собственные значения и собственные векторы ковариационной матрицы
  4. Выстроить собственные векторы в порядке согласно собственным значениям
  5. Спроецируйте данные в собственный вектор (используя собственный вектор в качестве основы)

Почему проецирование данных на собственный вектор ковариационной матрицы максимизирует дисперсию?

Потому что мы проецируем данные на строку, которая лучше всего представляет данные.

Однако это можно также логически доказать с помощью некоторых приемов.

Предположим, что вектор, на который мы хотим спроецировать наши данные, — это некоторый вектор e. Тогда проекция будет:

Тогда дисперсия будет:

Поскольку мы центрировали данные по среднему значению и сделали среднее значение равным 0, то:

Так как нам нужно максимизировать дисперсию, то:

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

Согласно определению собственного вектора, e становится собственным вектором ковариационной матрицы, а лямбда становится собственным значением ковариационной матрицы. Таким образом, доказано, что собственный вектор ковариационной матрицы максимизирует дисперсию прогнозируемых данных.