Linearidade do PCA


35

O PCA é considerado um procedimento linear, no entanto:

PCA(X)PCA(X1)+PCA(X2)++PCA(Xn),

onde . Isto quer dizer que os autovetores obtidos pelos PCAs nas matrizes de dados X i não resumir para igualar os autovetores obtidos pela PCA na soma dos dados matrizes X i . Mas não é a definição de uma função linear f que:X=X1+X2++XnXiXif

f(x+y)=f(x)+f(y)?

Então, por que o PCA é considerado "linear" se não satisfaz essa condição muito básica de linearidade?


Certa vez, escrevi ou ouvi (desculpe, não me lembro onde ou quando), que o PCA "pertence à família de procedimentos lineares" porque depende de dependências lineares entre variáveis. Ele usa a matriz de correlação de Pearson e busca combinações lineares de maior variância.
Łukasz Deryło 10/07

4
A natureza dessa questão pode se tornar um pouco mais clara ao contemplar a configuração muito mais simples e rotineira da regressão de mínimos quadrados ordinários: esse é o arquétipo de um procedimento estatístico linear. No entanto, o processo de estimativa de mínimos quadrados coeficientes é uma função não linear manifestamente da matriz de dados de , como atestado pela fórmula β = ( X ' x ) - 1 X ' y . (Observe que é uma função linear do vetor de resposta y .)Xβ^=(XX)1Xyy
whuber

4
Vale a pena lembrar que f (x) = x + 1 também é uma "função linear" ... mas não satisfaz o que você acabou de dizer ... o que deve explicar alguma coisa.
Mehrdad

Isso ocorre porque (X1+X2)T(X1+X2)X1TX1+X2TX2
Gabriel Romon

Respostas:


39

Quando dizemos que PCA é um método linear, nos referimos ao mapeamento de redução de dimensionalidade do espaço de alta dimensão R p para um espaço de dimensão inferior R k . No PCA, esse mapeamento é dado pela multiplicação de x pela matriz dos vetores próprios do PCA e, portanto, é manifestamente linear (a multiplicação da matriz é linear): z = f ( x ) = Vx . Isso contrasta com os métodos não lineares de redução de dimensionalidade , onde o mapeamento de redução de dimensionalidade pode ser não linear.f:xzRpRkx

z=f(x)=Vx.

Por outro lado, os melhores vectores próprios VR p x k são calculados a partir dos dados de matriz XR n × p usando o que chamado de P C A ( ) na sua pergunta: V = P C Um ( X ) , e esse mapeamento é certamente não linear: envolve a computação de vetores próprios da matriz de covariância, que é um procedimento não linear. (Como um exemplo trivial, multiplicando X por 2kVRp×kXRn×pPCA()

V=PCA(X),
X2aumenta a matriz de covariância em , mas seus vetores próprios permanecem os mesmos, pois são normalizados para ter comprimento unitário.)4

O fato de eu ter recebido 35 votos positivos para esta resposta trivial é bastante ridículo (e é principalmente devido a esse tópico estar nas Perguntas da Hot Network por um tempo).
Ameba diz Reinstate Monica

5

"Linear" pode significar muitas coisas e não é empregado exclusivamente de maneira formal.

O PCA geralmente não é definido como uma função no sentido formal e, portanto, não é esperado que atenda aos requisitos de uma função linear quando descrito como tal. É mais frequentemente descrito, como você disse, como um procedimento e, às vezes, como um algoritmo (embora eu não goste desta última opção). Diz-se frequentemente que é linear de uma maneira informal, não bem definida.

Xi

XifY(α)
αRkYkY

fi

fY(α)=i=1kαiYi
Y

Yαij


3

O PCA fornece / é uma transformação linear.

MPCA(X1+X2)M(X1+X2)=M(X1)+M(X2)

PCA(X1+X2)PCA(X1)PCA(X2)


Como comparação, um exemplo muito simples de um processo que usa uma transformação linear, mas não é uma transformação linear em si:

D(v)v[x,y]=[1,0]

D([1,1])[0,2]

e

D([0,1])[1,0]

mas

D([1,1]+[0,1]=[1,2])[0.78,2.09][1,2]

essa duplicação do ângulo, que envolve o cálculo de ângulos, não é linear e é análoga à afirmação da ameba, de que o cálculo do vetor próprio não é linear

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.