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


12

В курсе машинного обучения я узнал, что одним из распространенных применений PCA ( анализ основных компонентов ) является ускорение других алгоритмов машинного обучения. Например, представьте, что вы тренируете модель логистической регрессии. Если у вас есть обучающий набор для i от 1 до n, и оказывается, что размер вашего вектора x очень велик (скажем, размерности), вы можете использовать PCA, чтобы получить меньший размер (скажем, k измерений) вектор признаков z. Затем вы можете тренировать свою модель логистической регрессии на тренировочном наборе ( z ( i ) , y ( i )(x(i),y(i)) для меня от 1 до п. Обучение этой модели будет быстрее, потому что ваш вектор характеристик имеет меньшие размеры.(z(i),y(i))

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

Векторы z - это линейные комбинации ваших векторов объектов. Поскольку векторы z ограничены k-мерной поверхностью, вы можете записать значения исключенных элементов ak как линейную функцию от k оставшихся значений признаков, и, таким образом, все значения z могут быть сформированы линейными комбинациями ваших k элементов. Так не должна ли модель, обученная на обучающем наборе с исключенными функциями, иметь такую ​​же мощность, как и модель, обученная на обучающем наборе, размер которого был уменьшен PCA? Зависит ли это от типа модели и зависит ли она от какой-либо линейной комбинации?


1
падение столбцов приведет к потере дополнительной информации по сравнению с использованием PCA
Haitao Du

2
Какое отношение имеет полимеразная цепная реакция? :-) --- На самом деле, вы должны всегда произносить термин перед использованием аббревиатуры.
Карл Виттофт

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

Ответы:


26

pd<pdXXDD{0,1}p×dXXVVRp×dVXVXXdpp

XX


2
+1. Тем не менее, все еще имеет смысл спросить, почему изменение в X (которое PCA пытается сохранить) должно быть актуальным для прогнозирования Y ... Это связанная тема: stats.stackexchange.com/questions/141864 .
амеба говорит восстановить

4

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


2

Решение PCA

Во-первых, будьте осторожны при использовании PCA для этой цели. Как я писал в ответ на связанный вопрос, PCA не обязательно приводит к выбору функций, которые являются информативными для регрессии, которую вы намереваетесь сделать (см. Также Jolliffe 1982 ).

ОП предложенное решение

reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest.dimension of your vector x is very largep

pCkkpp=1000k=58.25×1012k=5k=6p

Предлагаемое решение

p

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.