Se no PCA do kernel eu escolher um kernel linear , o resultado será diferente do PCA linear comum ? As soluções são fundamentalmente diferentes ou existe alguma relação bem definida?
fonte
Se no PCA do kernel eu escolher um kernel linear , o resultado será diferente do PCA linear comum ? As soluções são fundamentalmente diferentes ou existe alguma relação bem definida?
Resumo: o PCA do kernel com kernel linear é exatamente equivalente ao PCA padrão.
Seja a matriz de dados centralizada do tamanho N × D com variáveis D em colunas e N pontos de dados em linhas. Em seguida, a D × D matriz de covariância é dada por X ⊤ X / ( n - 1 ) , os seus vectores próprios são eixos principais e valores próprios são PC variâncias. Ao mesmo tempo, pode-se considerar a chamada Gram matriz X X ⊤ do N × N tamanho. É fácil ver que ele tem os mesmos valores próprios (ou seja, variações de PC) até n - 1 e seus vetores próprios são os principais componentes dimensionados para a norma da unidade.
Este era o PCA padrão. Agora, no kernel PCA, consideramos alguma função que mapeia cada ponto de dados para outro espaço vetorial que geralmente possui uma maior dimensionalidade D n e w , possivelmente até infinita. A idéia do PCA do kernel é executar o PCA padrão neste novo espaço.
Como a dimensionalidade desse novo espaço é muito grande (ou infinita), é difícil ou impossível calcular uma matriz de covariância. No entanto, podemos aplicar a segunda abordagem ao PCA descrita acima. De fato, a matriz Gram ainda terá o mesmo tamanho gerenciável de Os elementos dessa matriz são dados por ϕ ( x i ) ϕ ( x j ) , que chamaremos de função do kernel K ( x i , x j ) = ϕ ( x i ) ϕ ( x j ). Isso é conhecido como truque do kernel : na verdade, nem sempre é necessário calcular , mas apenas K ( ) . Os autovetores dessa matriz Gram serão os principais componentes no espaço-alvo, nos quais estamos interessados.
A resposta para sua pergunta agora se torna óbvia. Se , a matriz Gram do kernel reduz para X X ⊤, que é igual à matriz Gram padrão e, portanto, os componentes principais não serão alterados.
Uma referência muito legível é Scholkopf B, Smola A e Müller KR, análise de componentes principais do Kernel, 1999 , e observe que, por exemplo, na Figura 1 eles se referem explicitamente ao PCA padrão como aquele que utiliza o produto escalar como uma função do kernel:
fonte
Parece-me que um KPCA com kernel linear deve ser o mesmo que o PCA simples.
A matriz de covariância da qual você obterá os valores próprios é a mesma:
You can check with more details here.
fonte