Привет всем в этом блоге Давайте познакомимся с PCA…

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

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

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

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

◙ Анализ главных компонентов (АГК) — это метод выявления четких закономерностей в наборе данных путем подавления вариаций. Он используется для очистки наборов данных, чтобы их было легко исследовать и анализировать.

➡ Алгоритм анализа главных компонентов основан на нескольких математических идеях, а именно:

Дисперсия и конвариантность

Собственные векторы и собственные значения

Шаги алгоритма

➽ Шаг 1: Получите ваши данные

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

➽ Шаг 2. Придайте вашим данным структуру

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

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

Шаг 3. Стандартизируйте данные

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

Если важность признаков не зависит от дисперсии признаков, то разделите каждое наблюдение в столбце на стандартное отклонение этого столбца. Назовите центрированную и стандартизированную матрицу Z.

➽ Шаг 4: Получите ковариацию Z

Возьмите матрицу Z, транспонируйте ее и умножьте транспонированную матрицу на Z.

Конвариантность Z = ZᵀZ

Полученная матрица представляет собой ковариационную матрицу Z с точностью до константы.

➽ Шаг 5: Расчет собственных векторов и собственных значений

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

Собственное разложение ZᵀZ - это то место, где мы разлагаем ZᵀZ на PDP⁻¹,

где P — матрица собственных векторов
D — диагональная матрица с собственными значениями на диагонали и нулевыми значениями во всех остальных местах.

Собственные значения на диагонали D будут связаны с соответствующим столбцом в P, то есть первый элемент D равен λ₁, а соответствующий собственный вектор — это первый столбец P. Это верно для всех элементов в D и их соответствующих собственных векторов в P. Мы всегда сможем вычислить PDP⁻¹ таким образом.

➽ Шаг 6: Сортировка собственных векторов

Возьмите собственные значения λ₁, λ₂, …, λp и отсортируйте их от большего к меньшему. При этом отсортируйте собственные векторы в P соответствующим образом. (Например, если λ3 — наибольшее собственное значение, то возьмите третий столбец P и поместите его в позицию первого столбца.)

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

➽ Шаг 7: Расчет новых функций

Вычислите Z* = ZP*.

Эта новая матрица Z* является центрированной/стандартизированной версией X, но теперь каждое наблюдение представляет собой комбинацию исходных переменных, где веса определяются собственным вектором. В качестве бонуса, поскольку наши собственные векторы в P* не зависят друг от друга, каждый столбец Z* также независим друг от друга.

➽ Шаг 8. Удалите ненужные функции из нового набора

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

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

Для этого есть три распространенных метода:

⦿ Метод 1: Произвольно выберите, сколько параметров мы хотим сохранить

⦿ Метод 2. Рассчитайте долю дисперсии для каждой функции, выберите порог и добавляйте функции, пока не достигнете этого порога.

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

Приложения PCA

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

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

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

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

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

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

Преимущества анализа главных компонентов:

⮞ Улучшает производительность алгоритма

⮞ Уменьшает переоснащение

⮞ Улучшает визуализацию

⮞ Удаляет коррелирующие функции

Недостатки анализа главных компонентов:

⮞ Стандартизация данных обязательна перед PCA

⮞ Потеря информации

⮞ Независимые переменные становятся менее интерпретируемыми.

Давайте встретимся со всеми вами в следующем блоге… Есть вопросы? Пожалуйста, прикрепите меня в разделе комментариев, я свяжусь с вами :)

Ресурсы: