Eu tenho um classificador no qual estou fazendo validação cruzada, juntamente com mais ou menos cem recursos nos quais estou fazendo a seleção direta para encontrar combinações ideais de recursos. Também comparo isso com a execução dos mesmos experimentos com o PCA, onde utilizo os recursos em potencial, aplico SVD, transformo os sinais originais no novo espaço de coordenadas e utilizo os principais recursos do no meu processo de seleção direta.
Minha intuição era que o PCA melhoraria os resultados, pois os sinais seriam mais "informativos" do que os recursos originais. Minha compreensão ingênua do PCA está me levando a problemas? Alguém pode sugerir alguns dos motivos mais comuns pelos quais o PCA pode melhorar os resultados em algumas situações, mas piorá-los em outras?
fonte
Respostas:
Considere um caso simples, extraído de um artigo fantástico e subvalorizado "Uma nota sobre o uso de componentes principais na regressão" .
Suponha que você tenha apenas dois recursos (redimensionados e sem significado), denotá-los e x 2 com correlação positiva igual a 0,5, alinhada em X , e uma terceira variável de resposta Y que você deseja classificar. Suponha que a classificação de Y seja totalmente determinada pelo sinal de x 1 - x 2 .x1 x2 X Y Y x1−x2
A execução do PCA em resulta nos novos recursos (ordenados por variação) [ x 1 + x 2 , x 1 - x 2 ] , pois Var ( x 1 + x 2 ) = 1 + 1 + 2 ρ > Var ( x 1 - x 2 ) = 2 - 2 ρX [x1+x2,x1−x2] Var(x1+x2)=1+1+2ρ>Var(x1−x2)=2−2ρ . Portanto, se você reduzir sua dimensão para 1, ou seja, o primeiro componente principal, estará descartando a solução exata para sua classificação!
O problema ocorre porque PCA é agnóstico para . Infelizmente, não é possível incluir Y no PCA, pois isso resultará em vazamento de dados.Y Y
O vazamento de dados ocorre quando sua matriz é construída usando os preditores de destino em questão; portanto, qualquer previsão fora da amostra será impossível.X
Por exemplo: em séries temporais financeiras, tentar prever o fechamento do final do dia na Europa, que ocorre às 11h EST, usando fechamentos de fim de dia nos EUA, às 16h EST, há vazamento de dados desde que o americano fecha , que ocorrem horas depois, incorporaram os preços dos fechamentos europeus.
fonte
Há uma explicação geométrica simples. Tente o exemplo a seguir em R e lembre-se de que o primeiro componente principal maximiza a variação.
Ajuda do PCA
A direção da variação máxima é horizontal e as classes são separadas horizontalmente.
O PCA prejudica
A direção da variação máxima é horizontal, mas as classes são separadas verticalmente
fonte
O PCA é linear. Dói quando você deseja ver dependências não lineares.
PCA em imagens como vetores:
Um algoritmo não linear (NLDR) que reduziu as imagens para 2 dimensões, rotação e escala:
Mais informações: http://en.wikipedia.org/wiki/Nonlinear_dimensionality_reduction
fonte
Vejo que a pergunta já tem uma resposta aceita, mas queria compartilhar este artigo que fala sobre o uso do PCA para transformação de recursos antes da classificação .
A mensagem para levar para casa (que é visualizada lindamente na resposta do @ vqv) é:
Para os interessados, se você observar a Seção 4. Resultados experimentais , eles comparam as precisões de classificação com 1) os artistas originais, 2) recursos transformados por PCA e 3) combinação de ambos, o que era algo novo para mim.
Minha conclusão:
As transformações de recursos baseadas em PCA permitem resumir as informações de um grande número de recursos em um número limitado de componentes, isto é, combinações lineares dos recursos originais. No entanto, os componentes principais geralmente são difíceis de interpretar (não intuitivos) e, como os resultados empíricos deste artigo indicam, eles geralmente não melhoram o desempenho da classificação.
PS: Observo que uma das limitações do artigo que deveria ter sido listada foi o fato de os autores limitarem a avaliação de desempenho dos classificadores apenas a 'credenciamento', o que pode ser um indicador de desempenho muito tendencioso.
fonte
Suponha um caso simples com 3 variáveis independentesx1, x2, x3 e a saída y e suponha agora que x3= y e você deve conseguir um modelo de erro 0.
Suponha agora que no treinamento defina a variação dey é muito pequeno e também a variação de x3 .
Agora, se você executar o PCA e decidir selecionar apenas 2 variáveis, obterá uma combinação dex1 e x2 . Então a informação dex3 essa foi a única variável capaz de explicar y está perdido.
fonte