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 ) para i de 1 a n. Treinar esse modelo será mais rápido porque o vetor de recursos tem menos dimensões.
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?
fonte
Respostas:
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 ∈ Rp d<p d X XD D∈{0,1}p×d X XV ? 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.V∈Rp×d V XV X X d p p
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.X X
fonte
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.
fonte
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:p
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 issodimension of your vector x is very large
. Vamos chamar essa dimensãoSolução sugerida
fonte