Declaração do problema
O problema geométrico que o PCA está tentando otimizar é claro para mim: o PCA tenta encontrar o primeiro componente principal minimizando o erro de reconstrução (projeção), que maximiza simultaneamente a variação dos dados projetados.
Está certo. Explico a conexão entre essas duas formulações na minha resposta aqui (sem matemática) ou aqui (com matemática).
Vamos tomar a segunda formulação: o PCA está tentando encontrar a direção de modo que a projeção dos dados contenha a maior variação possível. Essa direção é, por definição, chamada de primeira direção principal. Podemos formalizá-lo da seguinte forma: dada a matriz de covariância , estamos procurando por um vetor com comprimento unitário, , tal que é o máximo.Cw∥w∥=1w⊤Cw
(Caso isso não esteja claro: se é a matriz de dados centralizada, a projeção é dada por e sua variação é .)XXw1n−1(Xw)⊤⋅Xw=w⊤⋅(1n−1X⊤X)⋅w=w⊤Cw
Por outro lado, um vetor próprio de é, por definição, qualquer vetor tal que .CvCv=λv
Acontece que a primeira direção principal é dada pelo vetor próprio com o maior valor próprio. Esta é uma afirmação não trivial e surpreendente.
Provas
Se alguém abrir um livro ou tutorial sobre o PCA, poderá encontrar a seguinte prova de quase uma linha da declaração acima. Queremos maximizar sob a restrição de que ; isso pode ser feito introduzindo um multiplicador Lagrange e maximizando ; diferenciando, obtemos , que é a equação do vetor próprio. Vemos que tem de fato o maior autovalor substituindo essa solução na função objetivo, que fornecew⊤Cw∥w∥=w⊤w=1w⊤Cw−λ(w⊤w−1)Cw−λw=0λw⊤Cw−λ(w⊤w−1)=w⊤Cw=λw⊤w=λ . Em virtude do fato de que essa função objetivo deve ser maximizada, deve ser o maior autovalor, QED.λ
Isso tende a não ser muito intuitivo para a maioria das pessoas.
Uma prova melhor (veja, por exemplo, essa resposta elegante de @ cardinal ) diz que, como é uma matriz simétrica, é diagonal em sua base de vetor próprio. (Na verdade, isso é chamado de teorema espectral .) Portanto, podemos escolher uma base ortogonal, a que é fornecida pelos vetores próprios, em que é diagonal e tem valores próprios na diagonal. Nessa base, simplifica para , ou seja, a variação é dada pela soma ponderada dos valores próprios. É quase imediato que, para maximizar essa expressão, seja necessário simplesmenteCCλiw⊤Cw∑λiw2iw=(1,0,0,…,0), ou seja, o primeiro vetor próprio, gerando variação (na verdade, desviar-se dessa solução e "negociar" partes do maior valor próprio pelas partes de menores resultará apenas em menor variação geral). Observe que o valor de não depende da base! Mudar para a base do vetor próprio equivale a uma rotação; portanto, em 2D, pode-se imaginar simplesmente girando um pedaço de papel com o gráfico de dispersão; obviamente isso não pode alterar nenhuma variação.λ1w⊤Cw
Penso que este é um argumento muito intuitivo e muito útil, mas se baseia no teorema espectral. Então, a questão real aqui que penso é: qual é a intuição por trás do teorema espectral?
Teorema espectral
Tomar uma matriz simétrica . Pegue seu vetor próprio com o maior valor próprio . Torne esse vetor próprio o primeiro vetor base e escolha outros vetores base aleatoriamente (de modo que todos sejam ortonormais). Como o ficará nesta base?Cw1λ1C
Ele terá no canto superior esquerdo, porque nessa base e deve ser igual a .λ1w1=(1,0,0…0)Cw1=(C11,C21,…Cp1)λ1w1=(λ1,0,0…0)
Pelo mesmo argumento, ele terá zeros na primeira coluna sob o .λ1
Mas, por ser simétrica, também haverá zeros na primeira linha após . Então será assim:λ1
C=⎛⎝⎜⎜⎜⎜λ10⋮00…0⎞⎠⎟⎟⎟⎟,
onde espaço vazio significa que há um bloco de alguns elementos lá. Como a matriz é simétrica, esse bloco também será simétrico. Assim, podemos aplicar exatamente o mesmo argumento, usando efetivamente o segundo vetor próprio como o segundo vetor base e obtendo e na diagonal. Isso pode continuar até que seja diagonal. Esse é essencialmente o teorema espectral. (Observe como ele funciona apenas porque é simétrico.)λ1λ2CC
Aqui está uma reformulação mais abstrata exatamente do mesmo argumento.
Sabemos que ; portanto, o primeiro vetor próprio define um subespaço unidimensional em que atua como uma multiplicação escalar. Vamos agora pegar qualquer vetor ortogonal para . Então é quase imediato que também seja ortogonal a . De fato:Cw1=λ1w1Cvw1Cvw1
w⊤1Cv=(w⊤1Cv)⊤=v⊤C⊤w1=v⊤Cw1=λ1v⊤w1=λ1⋅0=0.
Isso significa que atua em todo o subespaço restante ortogonal a modo que permaneça separado de . Essa é a propriedade crucial das matrizes simétricas. Assim, podemos encontrar o maior vetor próprio, , e proceder da mesma maneira, eventualmente construindo uma base ortonormal de vetores próprios.Cw1w1w2