[Перевод] От простого к глубокому пониманию анализа главных компонентов

искусственный интеллект Программа перевода самородков Python

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

Цель этой статьи — дать полное и простое для понимания введение в PCA, сосредоточив внимание на пошаговом объяснении того, как это работает. Прочитав эту статью, я считаю, что даже люди без сильной математической подготовки могут ее понять и использовать.

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

Прежде чем объяснять PCA, в этой статье будет дано логическое введение в то, что делает PCA на каждом этапе, и мы упростим лежащие в его основе математические концепции. Мы поговорим о нормализации, ковариации, собственных векторах и собственных значениях, но не будем фокусироваться на том, как их вычислять.

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

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

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

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

пошаговое объяснение

Шаг 1: Стандартизируйте

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

В частности, причина нормализации данных до PCA заключается в том, что последующие результаты очень чувствительны к дисперсии данных. То есть размеры с широким диапазоном значений будут иметь большее влияние, чем относительно небольшой размер (например, размер, меняющийся от 1 до 100, будет иметь большее влияние на результат, чем размер от 0 до 1). ), что может привести к необъективному результату. Таким образом, преобразование данных в диапазон сравнений может предотвратить эту проблему.

С математической точки зрения мы можем нормализовать данные, вычитая среднее значение данных и разделив его на стандартное отклонение.

Как только мы нормализуем данные, все данные будут в одном диапазоне.


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

Шаг 2: вычислить ковариационную матрицу

Цель этого шага — понять, как переменные в наборе данных отличаются от среднего значения и как связаны различные функции. Другими словами, мы хотим увидеть, есть ли какая-то связь между функциями. Иногда функции сильно коррелированы, поэтому будет некоторая избыточная информация. Чтобы понять этот уровень отношений, нам нужно рассчитать ковариационную матрицу.

Ковариационная матрица представляет собойp×pСимметричная матрица (p— количество измерений), которое охватывает ковариацию всех кортежей в наборе данных по отношению к начальному значению. Например, для переменной с тремяx,y,zи набор данных трех измерений, ковариационная матрица будет матрицей 3 × 3:

三个维度数据的协方差矩阵

Поскольку ковариация переменной сама с собой равна ее дисперсии ( Cov(a,a)=Var(a) ), то на главной диагонали (слева вверху справа внизу) мы вычислили дисперсию начального значения каждой переменной . А поскольку ковариация удовлетворяет коммутативному закону (Cov(a,b)=Cov(b,a)), каждый кортеж ковариационной матрицы симметричен относительно главной диагонали, а это означает, что верхняя треугольная часть и нижняя треугольная часть равны.

Что элементы ковариационной матрицы говорят нам о связи между переменными?

Посмотрим, что означают значения ковариации:

  • Если значение положительное: тогда две переменные положительно коррелированы (и увеличиваются, и уменьшаются)
  • Если значение отрицательное: тогда две переменные имеют отрицательную корреляцию (увеличиваются и уменьшаются противоположно)

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

Шаг 3: Рассчитайте главные компоненты, вычислив собственные векторы и собственные значения ковариационной матрицы.

Собственные значения и собственные векторы — это понятия линейной алгебры, используемые для вычисления данных.главный ингридиент, нам нужно вычислить их через ковариационную матрицу. Прежде чем объяснять, как рассчитать эти два значения, давайте посмотрим, что означают главные компоненты.

Главный компонент — это новая переменная, представляющая собой линейную комбинацию исходных переменных. Между этими новыми переменными нет корреляции. Первый главный компонент содержит большую часть информации об исходных переменных, то есть сжатие и извлечение исходных переменных. Например, хотя мы вычисляем 10 главных компонентов в 10-мерном наборе данных, большая часть информации будет сжата в первом главном компоненте, а большая часть оставшейся информации будет сжата во втором главном компоненте, так что по аналогии мы получить следующую картину:

每一个主成分包含着多少信息

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

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

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

Как алгоритм PCA вычисляет главные компоненты?

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

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

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

Теперь, когда мы знаем, что означают главные компоненты, вернемся к собственным значениям и собственным векторам. Что вам нужно знать, так это то, что они обычно идут парами, где каждый собственный вектор соответствует собственному значению. Их соответствующие номера равны и равны размерности исходных данных. Например, в наборе 3D-данных у нас есть три переменные, поэтому у нас будет три собственных вектора и три собственных значения.

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

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

Например:

Теперь у нас есть набор данных с двумя переменными и двумя измерениями.x,y, их собственные значения и собственные векторы следующие:

Если мы отсортируем собственные значения от больших к малым, то получим λ1>λ2, а это означает, что первая нужная нам главная компонента (PC1) равнаv1, вторая главная компонента (PC2) равнаv2.

Получив главные компоненты, мы делим каждое собственное значение на сумму собственных значений, таким образом, мы получаем процент. В приведенном выше примере мы видим, что ПК1 и ПК2 несут 96% и 4% информации соответственно.

Шаг 4: Векторы главных компонентов

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

Вектор главных компонент — это просто матрица с теми собственными векторами, которые мы решили сохранить. Это первый шаг в уменьшении размерности данных, потому что если мы только собираемсяnдержать вpвекторы признаков (компоненты), то, когда мы сопоставляем данные с этими новыми осями, окончательные данные будут иметь толькоpизмерение.

Например:

Продолжая пример с предыдущего шага, мы можем просто использоватьv1иv2чтобы сформировать вектор главных компонент:

так какv2Это не так важно, мы его выбрасываем, просто оставляемv1:

выбрасыватьv2Это уменьшит результат на одно измерение и, конечно же, приведет к потере данных. Но из-заv2Сохраняется только 4% информации, и эта потеря незначительна. потому что мы держимv1, у нас все еще есть 96% информации.


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

Последний шаг: сопоставьте данные с новой системой координат главного компонента

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

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


Если вам понравилась эта статья, пожалуйста, нажмите кнопку ?. И перешлите его, чтобы его увидело больше людей! Вы также можете оставить комментарий ниже.

использованная литература:

  • [Steven M. Holland, Univ. of Georgia]: Principal Components Analysis
  • [skymind.ai]: Eigenvectors, Eigenvalues, PCA, Covariance and Entropy
  • [Lindsay I. Smith] : A tutorial on Principal Component Analysis

Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из ИнтернетаНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.