В курсе машинного обучения я узнал, что одним из распространенных применений PCA ( анализ основных компонентов ) является ускорение других алгоритмов машинного обучения. Например, представьте, что вы тренируете модель логистической регрессии. Если у вас есть обучающий набор для i от 1 до n, и оказывается, что размер вашего вектора x очень велик (скажем, размерности), вы можете использовать PCA, чтобы получить меньший размер (скажем, k измерений) вектор признаков z. Затем вы можете тренировать свою модель логистической регрессии на тренировочном наборе ( z ( i ) , y ( i ) для меня от 1 до п. Обучение этой модели будет быстрее, потому что ваш вектор характеристик имеет меньшие размеры.
Однако я не понимаю, почему вы не можете просто уменьшить размер вашего векторного элемента до k размеров, просто выбрав k из ваших элементов случайным образом и исключив все остальное.
Векторы z - это линейные комбинации ваших векторов объектов. Поскольку векторы z ограничены k-мерной поверхностью, вы можете записать значения исключенных элементов ak как линейную функцию от k оставшихся значений признаков, и, таким образом, все значения z могут быть сформированы линейными комбинациями ваших k элементов. Так не должна ли модель, обученная на обучающем наборе с исключенными функциями, иметь такую же мощность, как и модель, обученная на обучающем наборе, размер которого был уменьшен PCA? Зависит ли это от типа модели и зависит ли она от какой-либо линейной комбинации?
источник
Ответы:
источник
PCA уменьшает возможности, сохраняя дисперсию / информацию в исходных данных. Это помогает включить вычисления, не теряя сходство данных с реальностью.
источник
Решение 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 large
Предлагаемое решение
источник