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

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

Шаг 1: - Определение средних значений.

Значения величин :

X̄ = 1.81

y̅ = 1.91

Шаг 2: - Вычтите среднее значение, чтобы данные прошли через источник.

Когда мы строим исходные данные, линия может не проходить через начало координат. Что нас действительно интересует, так это сдвинуть линию, чтобы она проходила через начало координат. Чтобы это произошло, нам нужно выполнить настройку данных, т.е. вычтите каждое значение «x» на среднее значение x (), аналогично нам нужно сделать то же самое для значения «y».

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

Шаг 3. Вычислите матрицу ковариации.

Матрица ковариации - это мера между измерениями, она фактически говорит нам, как две переменные изменяются вместе. то есть, если x увеличивается, y увеличивается или уменьшается.

Возьмем небольшой пример: (Не исходные данные)

x : [2.1, 2.5, 3.6, 4.0]

X̄ = 3.1

y : [8, 10, 12, 14]

y̅ = 11

Cov (X, Y) = (2,1–3,1) (8–11) + (2,5–3,1) (10–11) + (3,6–3,1) (12–11) + (4–3,1) (14–11) / 3 = 2,26

Когда мы вычисляем, мы получаем 2,26, что составляет + ve, что говорит о том, что значения x и y меняются в одном направлении. т.е. если x увеличивается, y также увеличивается. Итак, теперь мы знаем, как найти ковариацию между двумя переменными, но наш интерес состоит в том, чтобы найти матрицу ковариации.

Вот как мы находим ковариационную матрицу. Ковариационная матрица для данных, которые мы рассмотрели выше, имеет вид:

Эта ковариационная матрица имеет ключ к разгадке. Поскольку недиагональные элементы в этой ковариационной матрице равны + ve, мы можем ожидать, что значения x и y увеличиваются вместе в одном направлении.

Шаг 4: Вычислите собственные векторы и собственные значения для матрицы ковариации.

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

λ1=0.0494

λ2=1.28

Теперь нам нужно найти для него собственный вектор.

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

Шаг 5: Собственный вектор с наивысшим собственным значением будет выбран в качестве PCA.

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

Итак, теперь мы можем представить окончательные данные. то есть:

Конечные данные = Вектор признака строки * Корректировка данных строки

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

Скалярное произведение обеих матриц будет:

Наши исходные данные имели две оси: «x» и «y». Теперь они выражаются в собственных векторах.

Как вернуть исходные данные?

Исходные данные строки = (Вектор признаков строки ^ T * Окончательные данные) + Исходное среднее значение.

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