É possível usar a análise de componentes principais do kernel (kPCA) para Indexação Semântica Latente (LSI) da mesma maneira que o PCA é usado?
Realizo o LSI em R usando a prcomp
função PCA e extraio os recursos com cargas mais altas dos primeiros componentes. Com isso, recebo os recursos que descrevem melhor o componente.
Tentei usar a kpca
função (do kernlib
pacote), mas não consigo ver como acessar os pesos dos recursos para um componente principal. Isso é possível ao usar métodos de kernel?
r
pca
feature-selection
kernel-trick
user3683
fonte
fonte
Respostas:
Eu acho que a resposta para sua pergunta é negativa: não é possível.
O PCA padrão pode ser usado para a seleção de recursos, porque cada componente principal é uma combinação linear de recursos originais e, portanto, é possível ver quais recursos originais contribuem mais para os componentes principais mais importantes, consulte, por exemplo, aqui: Uso da análise de componente principal (PCA) para seleção de recursos .
Porém, no PCA do kernel, cada componente principal é uma combinação linear de recursos no espaço de destino e, por exemplo, no kernel Gaussiano (que é frequentemente usado), o espaço de destino é de dimensão infinita. Portanto, o conceito de "loadings" não faz muito sentido para o kPCA e, de fato, os componentes principais do kernel são computados diretamente, ignorando a computação dos eixos principais (que para o PCA padrão são dados em R
prcomp$rotation
) completamente, graças ao que é conhecido como truque do kernel . Veja, por exemplo, aqui: O Kernel PCA com kernel linear é equivalente ao PCA padrão? para mais detalhes.Então não, não é possível. Pelo menos não há uma maneira fácil.
fonte
O exemplo a seguir (extraído do manual de referência do kernlab) mostra como acessar os vários componentes do PCA do kernel:
Isso responde sua pergunta?
fonte