PCA в машинном обучении: предположения, шаги по применению и приложения

Опубликовано: 2020-11-12

Оглавление

Понимание уменьшения размерности в ML

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

Например, предположим, что у вас есть набор данных с множеством столбцов или массив точек в трехмерном пространстве. В этом случае вы можете уменьшить размеры своего набора данных, применив методы уменьшения размерности в ML. PCA (анализ основных компонентов) — это один из широко используемых методов уменьшения размерности разработчиками/тестировщиками машинного обучения. Давайте углубимся в понимание PCA в машинном обучении.

Анализ главных компонентов

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

PCA включает преобразование переменных в наборе данных в новый набор переменных, которые называются PC (основные компоненты). Основные компоненты будут равны количеству исходных переменных в данном наборе данных.

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

Предположения в PCA

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

• Набор данных должен быть линейным, т. е. переменные объединяются линейным образом для формирования набора данных. Переменные проявляют взаимосвязь между собой.

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

• Все переменные должны быть доступны на одном и том же уровне отношения измерения. Наиболее предпочтительной нормой является не менее 150 наблюдений выборки при соотношении измерений 5:1.

• Экстремальные значения, которые отклоняются от других точек данных в любом наборе данных, которые также называются выбросами, должны быть меньше. Большее количество выбросов будет представлять экспериментальные ошибки и ухудшит вашу модель/алгоритм машинного обучения.

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

Обязательно прочитайте: Заработная плата машинного обучения в Индии

Шаги для применения PCA

Шаги для применения PCA к любой модели/алгоритму ML следующие:

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

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

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

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

Предположим, что ваша ковариационная матрица «C» имеет квадратную матрицу «E» собственных значений «C». В этом случае он должен удовлетворять этому уравнению – определителю (EI – C) = 0, где «I» – единичная матрица той же размерности, что и «C». Вы должны проверить, что их ковариационная матрица является симметричной/квадратной матрицей, потому что тогда возможен только расчет собственных значений.

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

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

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

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

Эти методы реализованы, чтобы окончательно уменьшить размеры любого набора данных в PCA.

Приложения PCA

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

• Неврология. Нейробиологи используют PCA для идентификации любого нейрона или картирования структуры мозга во время фазовых переходов.

• Финансы – PCA используется в финансовом секторе для уменьшения размерности данных для создания портфелей с фиксированным доходом. Многие другие аспекты финансового сектора включают PCA, такие как прогнозирование доходов, создание алгоритмов распределения активов или алгоритмов капитала и т. д.

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

• Распознавание лиц – PCA при распознавании лиц приводит к созданию собственных лиц, что делает распознавание лиц более точным.

• Медицинский – PCA используется для большого количества медицинских данных, чтобы найти корреляцию между различными переменными. Например, врачи используют PCA, чтобы показать корреляцию между холестерином и липопротеинами низкой плотности.

• Безопасность – аномалии можно легко обнаружить с помощью PCA. Он используется для выявления кибер/компьютерных атак и их визуализации с помощью PCA.

Пункты выноса

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

Читайте также: Идеи проекта машинного обучения

Заключение

PCA — это широко используемый метод уменьшения размерности набора признаков.

Если вам интересно узнать больше о машинном обучении, ознакомьтесь с дипломом PG IIIT-B и upGrad в области машинного обучения и искусственного интеллекта, который предназначен для работающих профессионалов и предлагает более 450 часов тщательного обучения, более 30 тематических исследований и заданий, IIIT- Статус B Alumni, более 5 практических практических проектов и помощь в трудоустройстве в ведущих фирмах.

Можно ли использовать PCA для всех данных?

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

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

PCA — отличный инструмент для анализа ваших данных и извлечения двух или трех наиболее важных факторов. Это здорово, чтобы определить выбросы и тенденции. Но у него есть некоторые ограничения, такие как: Он не подходит для небольших наборов данных (как правило, набор данных должен содержать более 30 строк). Он не находит важные факторы, а выбирает их на основе значений. Таким образом, трудно найти важные факторы. За ним не стоит сильная математическая структура. Сравнивать данные с PCA сложно. Он не может найти никаких нелинейных отношений.

В чем преимущества метода главных компонент?

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