От исходных данных к основным компонентам

Вступление

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

Математика, лежащая в основе PCA

PCA можно рассматривать как проблему обучения без учителя. Весь процесс получения основных компонентов из необработанного набора данных можно упростить в шесть частей:

  • Возьмите весь набор данных, состоящий из d + 1 измерений, и проигнорируйте метки, чтобы наш новый набор данных стал d-мерным.
  • Вычислите среднее для каждого измерения всего набора данных.
  • Вычислите матрицу ковариации всего набора данных.
  • Вычислить собственные векторы и соответствующие собственные значения.
  • Отсортируйте собственные векторы, уменьшая собственные значения, и выберите k собственных векторов с наибольшими собственными значениями, чтобы сформировать d × k матрицу W.
  • Используйте эту матрицу собственных векторов d × k для преобразования выборок в новое подпространство.

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

  1. Возьмите весь набор данных, состоящий из d + 1 измерений, и игнорируйте метки, чтобы наш новый набор данных стал d-мерным.

Допустим, у нас есть набор данных d + 1. Где d можно представить как X_train, а 1 можно представить как y_train (labels) в современной парадигме машинного обучения. Итак, X_train + y_train составляет наш полный набор данных поезда.

Итак, после того, как мы отбросим метки, у нас останется d-мерный набор данных, и это будет набор данных, который мы будем использовать для поиска основных компонентов. Кроме того, предположим, что после игнорирования меток у нас остался трехмерный набор данных, то есть d = 3.

мы будем предполагать, что выборки происходят из двух разных классов, где половина выборок нашего набора данных помечена как класс 1, а другая половина - класс 2.

Пусть наша матрица данных X будет оценкой трех студентов:

2. Вычислить среднее значение каждого измерения всего набора данных.

Данные из приведенной выше таблицы могут быть представлены в матрице A,, где в каждом столбце матрицы показаны баллы за тест, а в каждой строке - баллы учащегося.

Итак, среднее значение матрицы A будет

3. Вычислить ковариационную матрицу всего набора данных (иногда также называемую матрицей дисперсии-ковариации)

Итак, мы можем вычислить ковариацию двух переменных X и Y, используя следующую формулу

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

Давайте перепишем нашу исходную матрицу следующим образом

Его c матрица овариации будет

Здесь можно отметить несколько моментов:

  • Обозначенные синим по диагонали, мы видим разброс оценок для каждого теста. Художественный тест имеет наибольшую дисперсию (720); и самый маленький тест по английскому языку (360). Таким образом, мы можем сказать, что результаты тестов по искусству более разнообразны, чем результаты тестов по английскому языку.
  • Ковариация отображается черным цветом в недиагональных элементах матрицы A.

а) Ковариация между математикой и английским языком положительная (360), а ковариация между математикой и искусством положительная (180). Это означает, что оценки имеют тенденцию к положительному изменению. По мере того как результаты по математике повышаются, оценки по искусству и английскому языку также имеют тенденцию повышаться; наоборот.

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

4. Вычислить собственные векторы и соответствующие собственные значения

Интуитивно собственный вектор - это вектор, направление которого не меняется при применении к нему линейного преобразования.

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

Пусть A квадратная матрица, ν вектор и λ скаляр, удовлетворяющий A ν = λ ν, тогда λ называется собственным значением, связанным с собственным вектором ν оператора А.

Собственные значения оператора A являются корнями характеристического уравнения

При вычислении det (A-λI) сначала I - это единичная матрица:

Упростив сначала матрицу, мы сможем вычислить определитель позже,

Теперь, когда у нас есть упрощенная матрица, мы можем найти ее определитель:

Теперь у нас есть уравнение, и нам нужно решить для λ,, чтобы получить собственное значение матрицы. Итак, приравняв вышеприведенное уравнение к нулю:

После решения этого уравнения для значения λ, мы получаем следующее значение

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

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

5. Отсортируйте собственные векторы, уменьшая собственные значения, и выберите k собственных векторов с наибольшими собственными значениями, чтобы сформировать матрицу W размерности d × k.

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

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

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

Итак, отсортировав собственные значения в порядке убывания, мы имеем

В нашем простом примере, где мы сокращаем трехмерное пространство признаков до двумерного подпространства признаков, мы объединяем два собственных вектора с наивысшими собственными значениями, чтобы построить нашу матрицу собственных векторов размерности d × k W.

Итак, собственные векторы, соответствующие двум максимальным собственным значениям:

6. Преобразуйте образцы в новое подпространство

На последнем этапе мы используем только что вычисленную матрицу размером 2 × 3 W для преобразования наших выборок в новое подпространство с помощью уравнения y = W ′ × x, где W ′ - транспонирование матрицы W .

Наконец, мы вычислили два основных компонента и спроецировали точки данных на новое подпространство.

Кредиты и источники:

  1. Блог Себастьяна Рашки
  2. Матричная алгебра Stattrek