Principal Component Analysis
Até agora, já tivemos experiências que mostram que o Espaço é semântico, vetores que estão mais próximos um do outro são mais similares (como no caso que a solução aproximada de um Sistema Linear sem solução é o vetor do Espaço Coluna mais próximo de \(\mathbf{b}\)).
Entretanto, se temos o vetor como uma lista de propriedades numéricas, então podemos ter algumas propriedades que são redundantes, assim essas propriedades podem inflacionar o quanto um vetor está próximo um do outro.
Exemplo
Estamos estudando os comportamentos de crianças de acordo com algumas características que quantificamos, 2 delas são: tamanho do pé e grau do vocabulário.
Estranhamente essas duas propriedades estão muito correlacionadas, estatisticamente aumentar o tamanho do pé significa aumentar o grau do vocabulário, mas isso só acontece por conta de uma terceira propriedade.
A terceira propriedade é a idade, que é a maior causa das duas propriedades e do motivo da correlação grande.
Então, até agora já temos 3 dimensões que medem "uma característica", mas podemos ter ainda mais propriedades que dependem da idade, assim a característica idade terá sua importância aumentada artificialmente para ditar se 2 vetores são similares.
Dica
Aqui já é um bom ponto para garantirmos que sabemos a definição e a visualização do que é Correlação, consequentemente Covariância e Variância:
Então, note que precisamos fazer uma manutenção nos dados que recebemos para manter uma semântica do Espaço razoável, no exemplo dado deveríamos de alguma forma diminuir a importância da idade na hora de relacionar vetores, essa é uma das motivações para o PCA.
A outra motivação é a ideia de compressão, trabalhar com todos os dados disponíveis pode ser muito custoso, queremos de alguma forma comprimir a informação de similaridade entre 2 vetores. Para isso usamos a ideia de que algumas dimensões dão mais informações de similaridade do que outras.
Exemplo: temos alguns objetos com 3 propriedades numéricas e separamos eles em 2 categorias: vermelhos e azuis, se recebemos um novo objeto queremos saber se ele é vermelho ou azul.
Note que a dimensão z nos dá pouca informação de similaridade:
-
o intervalo de valores de z é [-1, 1] então influenciará menos na distância entre os pontos
-
apenas olhando para z não parece haver um padrão claro para diferenciarmos as categorias
Então podemos reduzir o Espaço Ambiente 3D para o plano xy sem perdermos muita informação.

Agora percebemos que os valores de x e y são muito correlacionados, caso tivéssemos mais dimensões importantes isso afetaria a distância entre os pontos, com isso podemos reduzir mais uma dimensão sem perdermos informação considerável:

Agora classificar novos pontos seria só considerar qual intervalo aquele ponto cairia.
Note a semelhança com os Mínimos Quadrados, onde definíamos uma reta que aproximava os pontos, a diferença é que no contexto dos Mínimos Quadrados considerávamos que só as variáveis y continham erro, a variável x era independente e tínhamos certeza de seu valor.
Porém, agora só queremos uma reta que minimize a distância dos pontos até a reta, consideramos que os erros estão em todas as dimensões.
Exemplo
Geometricamente, queremos minimizar a soma dos (tamanhos das linhas entre os pontos e a reta)\(^2\):
Mínimos Quadrados:

PCA:

Podemos definir isso matematicamente como:
Onde \(\mathbf{\vec{v}}\) é o vetor unitário que define a reta e \(\mathbf{p_i}\) são os pontos (objetos) que temos, projetamos os pontos na reta e achamos os vetores que conectam as projeções com os pontos.
Relembre
Relembre
Nota
Note que dissemos que "\(\mathbf{\vec{v}}\) é o vetor unitário que define a reta", porém precisamos de um ponto e de um vetor para definirmos uma reta, isso acontece pois assumimos que o ponto é a origem.
Os valores de todos os objetos para uma determinada propriedade pode ser vista como uma Distribuição, note que o valor absoluto de uma propriedade não importa, o que importa são os valores em relação um ao outro, por conta disso Normalizamos a Distribuição (movemos os dados para ficar com a média da Distribuição igual a zero).
Isso facilita muito o cálculo de variância pois não precisamos subtrair a média.
Outra operação importante é a Padronização, onde condensamos a distribuição para termos Desvio Padrão (e variância) igual a 1, assim tiramos as diferenças de escala entre diferentes propriedades.
Isso facilita, pois a covariância de duas Distribuições Padronizadas já é a Correlação.
Exemplo: Propriedades como altura e salário em uma matriz de Dados
\(A = \begin{pmatrix} 1.7 & 1.8 \\ 1000 & 5000 \end{pmatrix}\)
Subtraímos as médias e dividimos os Desvios Padrões
\(A = \begin{pmatrix} -0.05 & 0.05 \\ -2000 & 2000 \end{pmatrix}\)
Ao calcularmos a variância geralmente dividimos por \(n-1\) ao invés de \(n\)
\(A = \begin{pmatrix} -0.71 & 0.71 \\ -0.71 & 0.71 \end{pmatrix}\)
No entanto, existe uma otimização equivalente que é mais fácil, ao invés de minimizar as distâncias, podemos achar uma reta que maximiza a variância das projeções:
Podemos ver isso pelo teorema de Pitágoras, pois a hipotenusa está fixa, então minimizar um cateto significa maximizar o outro:
Podemos expandir essa relação:
Relembre
Relembre
Se juntarmos todos os vetores como as colunas de uma matriz \(A\), então:
Podemos interpretar \(AA^T\) como uma multiplicação por Produto Interno, então note que o Produto Interno dos valores (já normalizados) de uma propriedade com os valores de outra propriedade é justamente a covariância multiplicado por n.
Usando Cálculo (Multiplicadores de Lagrange) para esse problema de otimização, chegamos a conclusão que os valores de \(\mathbf{\vec{v}}\) que maximizam essa relação são os Autovetores de \(AA^T\), como os Autovetores são Ortogonais é como se estivéssemos criando novos eixos e novas coordenadas para o Espaço.
Exemplo
Note que \(AA^T\) é quase a matriz de Covariância \(C\), só precisamos multiplicar uma escalar \(\frac{1}{n}\), podemos dizer que essas matrizes são paralelas.
Matrizes paralelas têm os mesmos Autovetores, então podemos fazer PCA usando a matriz de Covariância.
Como a quantidade de variância contida em cada eixo depende do Autovalor associado, então podemos excluir os eixos com menor Autovalor (reduzir a dimensionalidade) sem perdermos muita informação.
Para testar a compreensão e ver mais características do PCA:


