Aula 12: Análise de Componentes Principais
Important
Os slides desse curso são fortemente baseados no curso do Fabrício Murai e do Erickson Nascimento
Técnica de análise de dados para redução de dimensionalidade
redução de dimensionalidade
PCA transforma um conjunto de variáveis possivelmente correlacionadas em um conjunto menor de variáveis chamadas componentes principais
Visualização: normalmente é o primeiro passo ao analisar datasets de alta dimensionalidade
Acelerar treinamento de modelos de aprendizado de máquina
Important
Como determinar a direção de \(u_1\)?
Note
Note
Note
\[ \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix} = \begin{bmatrix} \mu_1\\ \mu_2\\ \mu_3 \end{bmatrix} + \left[ \begin{bmatrix} x_1\\ x_2\\ x_3 \end{bmatrix}- \begin{bmatrix} \mu_1\\ \mu_2\\ \mu_3 \end{bmatrix} \right] \]
\[ x = \mu + [x-\mu] = x+y\]
Subtraindo a média de cada coordenada-variável, temos um novo vetor \(y\) com média zero em cada coordenada.
A nuvem de pontos é deslocada rigidamente para a origem
Primeiro z-normalizamos os dados:
Note
Os passos 3-4 garantem que atributos sejam tratados igualmente
Problema: encontrar vetor unitário \(u\) que maximiza a variância dos dados projetados em \(u\).
Dizer que o vetor \(x_W\) é o vetor mais próximo a \(x\) em \(W\) equivale a dizer que a diferença \(x - x_W\) é ortogonal a \(W\)
Se \(x_{W\perp} = x - x_W\), então \(x = x_W + x_{W^\perp}\), onde \(x_W\) está em \(W\) e \(x_{W^\perp}\) está em \(W^\perp\)
Teorema. Seja \(W\) um subespaço do \(\mathbb R^n\) e \(x\) um vetor em \(\mathbb R^n\). Então podemos escrever \(x\) de forma única como \[x = x_W + x_{W^\perp}\]
Onde \(x_W\) é o vetor mais próximo a \(x\) em \(W\) e \(x_{W\perp}\) está em \(W^\perp\)
Definição. A Equação anterior é chamada decomposição ortogonal de \(x\) com relação à \(W\); vetor \(x_W\) é a projeção ortogonal de \(x\) em \(W\).
Seja \(W\) o espaço gerado por \(\{v_1,\ldots,v_m\}\) e \(A\) a matriz cujas colunas são \(\{v_1,\ldots,v_m\}\). Para calcular a decomposição ortogonal de \(x\) em relação a \(W\):
\(x_W = Ac\) e \(x_{W\perp} = x-x_W\)
intuição
Se \(x\) estivesse em \(W\) teríamos \(Ac = x\). Como \(x\) não está em \(W\) não existe \(c\) que satisfaça à relação anterior. Então, buscamos por \(x_W = \text{arg}\min_{AC} \Vert Ac - x\Vert_2^2\). Dessa maneira, tomaremos \(A^\top Ac = A^\top x\). Esse último sistema sempre terá solução.
O produto de \(A^\top x_{W\perp} = 0\). Para isso, temos que \(A^\top (x - x_W) = A^\top x - (A^\top A(A^\top A)^{-1}A^\top x) = A^\top x - A^\top x = 0\), como queríamos mostrar.
Seja \(B=\{v_1,\ldots,v_n\}\) uma base de \(\mathbb R^n\). As coordenadas do vetor \(x\) em relação à \(B\), \(a = [a1,\ldots,an]^\top = [x]_B\) são obtidas a partir de \[a_1v_1 + a_2v_2 + \ldots + a_nv_n\] ou seja \[[v_1 v_2 \ldots v_n][x]_B = [x]\]
Seja \(V\) a matriz cujas colunas são os vetores da base \[ V = [v_1 v_2 \ldots v_n]\]
Então para qualquer vetor \(x\) temos \[ V[x]_B = x\] e \[[x]_B = V^{-1}x\]
Note
O que acontece se \(V_{n\times n}\) for ortonormal? (\(V^{-1} = V^\top\))
DEFRA (Department for Environment, Food and Rural Affairs) data: consumo (g/pessoa/semana), 17 tipos de comida, quatro países Reino Unido em 1997.
Como analisar estes dados? Existem correlações entre os países? Plotar todos de uma vez? Plotar variáveis 2 a 2?
O objetivo do PCA é identificar novo conjunto de eixos ortogonais de coord. a partir dos dados.
No primeiro passo, PCA encontra a primeira componente principal (PC1), direção que maximiza variância através das coords.
Após encontrar PC1, projetamos os dados neste novo eixo. Como?
Também obtemos influência de cada variável original nos PCs