Por que usamos o PCA para acelerar os algoritmos de aprendizado quando podemos apenas reduzir o número de recursos?

12

Em um curso de aprendizado de máquina, aprendi que um uso comum do PCA ( Análise de Componentes Principais ) é acelerar outros algoritmos de aprendizado de máquina. Por exemplo, imagine que você está treinando um modelo de regressão logística. Se você tiver um conjunto de treinamento para i de 1 a n e a dimensão do seu vetor x for muito grande (digamos, uma dimensão), você poderá usar o PCA para obter uma dimensão menor (digamos k dimensões) apresentam o vetor z. Em seguida, você pode treinar seu modelo de regressão logística no conjunto de treinamento ( z ( i ) , y ( i )(x(i),y(i)) para i de 1 a n. Treinar esse modelo será mais rápido porque o vetor de recursos tem menos dimensões.(z(i),y(i))

No entanto, não entendo por que você não pode reduzir a dimensão do vetor de seu recurso para k dimensões, escolhendo k de seus recursos aleatoriamente e eliminando o restante.

Os vetores z são combinações lineares dos seus vetores de recurso a. Como os vetores z estão confinados a uma superfície k-dimensional, você pode escrever os valores de recurso eliminados ak como uma função linear dos k valores de recurso restantes e, portanto, todos os z podem ser formados por combinações lineares de seus recursos k. Portanto, um modelo treinado em um conjunto de treinamento com recursos eliminados não deve ter o mesmo poder que um modelo treinado em um conjunto de treinamento cuja dimensão foi reduzida pelo PCA? Depende apenas do tipo de modelo e se depende de algum tipo de combinação linear?

user35734
fonte
1
soltar colunas levará a perder mais informações em comparação com o uso de PCA
Haitao Du
2
O que a reação em cadeia da polimerase tem a ver com isso? :-) --- Com toda a seriedade, você sempre deve especificar um termo antes de usar uma abreviação.
precisa saber é o seguinte
Você pode visualizar os vetores próprios obtidos pelo PCA como novos recursos, portanto, o PCA permite recursos reduzidos - recombinando os que temos em capturando mais da variação do que os que iniciamos.
mathreadler
1
Muito relacionado: stats.stackexchange.com/questions/141864 .
Ameba diz Reinstate Monica

Respostas:

26

Digamos que você tenha inicialmente recursos , mas isso é demais, então você deseja realmente ajustar seu modelo aos recursos d < p . Você pode escolher d dos seus recursos e largar o resto. Se X é nossa matriz de características, isso corresponde ao uso de X D, em que D { 0 , 1 } p × d seleciona exatamente as colunas de X que queremos incluir. Mas isso ignora todas as informações nas outras colunas, então por que não considerar uma mais geral dimensão redução X V , onde V Rpd<pdXXDD{0,1}p×dXXV ? Este é exatamente o PCA faz: encontramos a matrizVtal queXVcontém o máximo de informações noXquanto possível. Nem todas as combinações lineares são criadas igualmente. A menos que nossamatrizXtenha uma classificação tão baixa que um conjunto aleatório dedcolunas possa (com alta probabilidade) abranger o espaço de todas ascolunasp, certamente não conseguiremos fazer o mesmo que todos osrecursosp. Algumas informações serão perdidas e, portanto, cabe a nós perder o mínimo possível de informações. Com o PCA, a "informação" que estamos tentando evitar perder é a variação nos dados.VRp×dVXVXXdpp

Quanto ao motivo pelo qual nos restringimos às transformações lineares dos preditores, o ponto inteiro nesse caso de uso é o tempo de computação. Se pudéssemos fazer redução de dimensão de fantasia não-linear em poderíamos provavelmente apenas ajustar o modelo em todos X também. Portanto, o PCA fica perfeitamente na interseção de computação rápida e eficaz.XX

jld
fonte
2
+1. Ainda faz sentido perguntar, por que a variação em X (que o PCA tenta reter) deve ser relevante para prever Y ... Esse é um encadeamento relacionado: stats.stackexchange.com/questions/141864 .
Ameba diz Reinstate Monica
4

O PCA reduz os recursos, preservando a variação / informação nos dados originais. Isso ajuda a habilitar a computação sem perder a semelhança dos dados com a realidade.

eiTan LaVi
fonte
2

Solução PCA

Primeiro, tenha cuidado ao usar o PCA para essa finalidade. Como escrevi em resposta a uma pergunta relacionada, o PCA não leva necessariamente à seleção de recursos que são informativos para a regressão que você pretende fazer (consulte também Jolliffe 1982 ).

Solução proposta pelo OP

Agora considere o mecanismo alternativo proposto: reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest.Agora, na declaração do problema, fomos solicitados a supor isso dimension of your vector x is very large. Vamos chamar essa dimensão p

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

Solução sugerida

p

conjecturas
fonte