Tudo bem tentar encontrar o melhor parâmetro PCA k, como fazemos com outros hiperparâmetros?


7

A Análise de Componentes Principais (PCA) é usada para reduzir dados n-dimensionais para dados k-dimensionais para acelerar as coisas no aprendizado de máquina. Após a aplicação do PCA, pode-se verificar quanto da variação do conjunto de dados original permanece no conjunto de dados resultante. Um objetivo comum é manter a variação entre 90% e 99%.

Minha pergunta é: é uma boa prática tentar diferentes valores do parâmetro k (tamanho da dimensão do conjunto de dados resultante) e depois verificar os resultados dos modelos resultantes em relação a alguns conjuntos de dados de validação cruzada da mesma maneira que fazemos para escolher bons valores de outros hiperparâmetros como lambdas de regularização e limiares?

Respostas:


5

Sua ênfase no uso de um conjunto de validação em vez do conjunto de treinamento para selecionar é uma boa prática e deve ser seguida. No entanto, podemos fazer ainda melhor!k

O parâmetro em é mais especial que um hiperparâmetro geral. Como a solução para já existe em , para , que é o primeiro Autovetores (correspondendo aos maiores valores próprios) em . Portanto, em vez de executar , , ..., separadamente nos dados de treinamento, como fazemos para um hiperparâmetro em geral , precisamos apenas executar para ter a solução para todos os .kPCAPCA(k)PCA(K)K>kkkPCA(K)PCA(1)PCA(4)PCA(K)PCA(K)k{1,..,K}

Como resultado, o processo seria o seguinte:

  1. Execute para o maior aceitável no conjunto de treinamento,PCAK
  2. Plotar ou preparar ( , variação) no conjunto de validação,k
  3. Selecione o que fornece a variação mínima aceitável, por exemplo, 90% ou 99%.k

E, a validação cruzada N-fold seria a seguinte:

  1. Execute para as maiores dobras de treinamento aceitáveis ​​de em N,PCAK
  2. Traçar ou preparar ( , média de N variações) em dobras retidas,k
  3. Selecione o que fornece a variação média aceitável mínima, por exemplo, 90% ou 99%.k

Além disso, aqui está um post relacionado que pergunta "por que escolhemos os principais componentes com base na variação máxima explicada?".


K-PCA é o nome correto para isso? Soa um pouco confuso e me lembra de Kernel Análise de Componentes Principais (KPCA), que é uma versão não-linear de PCA
Pedro Henrique Monforte

@PedroHenriqueMonforte Thanks! Notação atualizada.
Esmailian 28/03/19
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.