Сатья Кришнан Суреш, Шунмугаприя П.

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

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

Форма каждого изображения 28х28, но как видите больше половины площади не способствует обучению модели, но модель все равно на них помещается. Пустое пространство занимает значительный объем памяти и замедляет процесс обучения модели. Подобные функции присутствуют не только в этом наборе данных, но и в большинстве наборов данных реального мира. Взгляните на следующий рисунок. Без применения PCA мы получаем f1_score 0,78, а после применения PCA количество функций уменьшается до 200, а f1_score составляет около 0,71. Количество функций составляет менее одной трети от исходного количества функций, а f1_score довольно близок к оценке, полученной со всеми функциями, и процесс обучения был ускорен. Это преимущество уменьшения размерности. Теперь давайте разберемся с PCA.

Анализ основных компонентов:
Анализ основных компонентов — это неконтролируемый метод уменьшения размерности. PCA преобразует данные, присутствующие в пространстве высокой размерности (n), в подпространство более низкой размерности (d и d‹‹n) таким образом, что потери информации минимальны. PCA делает это, используя ковариационную матрицу, собственные векторы и собственные значения. Так что же такое ковариационная матрица, собственные векторы и собственные значения?

Ковариационная матрица:
Ковариационная матрица представляет собой матрицу размера d x d, построенную из набора данных n x d, где n — количество экземпляров, а d — количество объектов, присутствующих в наборе данных. Он состоит из ковариаций всех возможных пар признаков, присутствующих в наборе данных. Поскольку все строки и столбцы представляют объекты, значение в i-й строке и j-м столбце совпадает со значением в j-м строку и i-й столбец. Из формулы легко увидеть, что диагональ состоит из дисперсии каждого признака. Если ковариация между двумя признаками положительна, то при увеличении одного увеличивается и другой. Если ковариация равна нулю, то изменение одного признака не влияет на другой, а если ковариация отрицательна, оба признака будут увеличиваться в противоположных направлениях.

Собственный вектор и собственное значение:
Собственный вектор — это вектор, который при линейном преобразовании изменяет только свою длину, как если бы он был умножен на скаляр. Собственные векторы используются в PCA для формирования осей подпространства нижнего измерения, и поэтому они также называются главными компонентами. Каждый собственный вектор фиксирует определенную дисперсию, присутствующую в данных. Те, которые захватят больше всего, сформируют подпространство. Самым большим преимуществом здесь является то, что никакие два собственных вектора не захватывают одну и ту же информацию, потому что они перпендикулярны друг другу и, следовательно, данные не повторяются. В приведенном ниже уравнении «C» — это матрица, а «v» — это вектор. Скаляр «psi» называется собственным значением. Когда матрица умножается на «v», это не приводит к тому, что «v» меняет свое направление или смещается, а просто сжимается или расширяется. Величина собственного вектора задается соответствующим собственным значением, поскольку для данной матрицы может быть более одного собственного вектора.

Этапы PCA:
Теперь, когда мы знаем концепции, необходимые для выполнения PCA, давайте перечислим шаги, которым следует PCA для уменьшения размерности.
1. Стандартизируйте или нормализуйте данные.
2. Сформировать ковариационную матрицу.
3. Разложить ковариационную матрицу на собственные векторы и собственные значения.
4. Отсортировать собственные векторы в порядке убывания их собственных значений.
> 5. Выбрать первые k собственных векторов, где k — размерность подпространства.
6. Сформировать матрицу W размером d x k, где d — размерность исходного пространства признаков, а k — размерность подпространства. подпространство.
7. Преобразуйте данные, предварительно умножив их на W.

  1. Стандартизация или нормализация данных
    Стандартизация или нормализация данных перед построением ковариационной матрицы важна, потому что будет сложно преобразовать данные в подпространство более низкого измерения, если каждая ось имеет другой масштаб.
  2. Формирование ковариационной матрицы
    Ковариационная матрица строится на основе предоставленного набора данных с использованием упомянутой выше формулы. На следующем рисунке показано, как это можно сделать с помощью numpy. Он имеет форму 13 x 13, так как в наборе данных «вино» 13 признаков.

3. Разложите ковариационную матрицу на собственные векторы и собственные значения
Собственные значения и векторы получаются из ковариационной матрицы с использованием пакета линейной алгебры, представленного в numpy. Тринадцать собственных векторов найдены для матрицы ковариации, каждый из которых имеет размерность 1 x 13. Собственные значения представляют собой величину дисперсии, захваченную каждым из собственных векторов. Первый собственный вектор отражает наибольшую дисперсию, за ним следует второй вектор и так далее.

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

Последние четыре шага можно комбинировать, поскольку они довольно просты. Код, показанный ниже, показывает их все. Сначала формируется матрица W с двумя собственными векторами, которые имеют самые высокие собственные значения. Затем данные преобразуются из 13-мерного набора данных в 2-мерный набор данных.

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

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