Aula 6: O Mundo Linear — PCA, PPCA e Autoencoders Lineares

Aprendizado Não Supervisionado

Autor

Marcos M. Raimundo — Instituto de Computação, UNICAMP

Data de Publicação

13 de setembro de 2026

Slides Lista de aulas

1 Revisão e Introdução

1.1 Revisão da Aula 5: O Legado do ELBO

  • A Pergunta: Como validar a estrutura do modelo (ex: número de componentes \(K\)) sem rótulos?
  • O Mecanismo: A divergência de Kullback-Leibler \(\mathrm{KL}(q\|p)\ge0\) e a decomposição: \[\ln p(\mathbf{X}) = \mathcal{L}(q) + \mathrm{KL}\big(q\,\|\,p(\mathbf{H}\mid\mathbf{X})\big)\]
  • O ELBO \(\mathcal{L}(q)\): É a cota inferior da verossimilhança. Maximizar o ELBO é a estratégia universal para lidar com marginais intratáveis.

. . .

  • EM vs. Bayesiano: No EM clássico, \(\theta\) é ponto fixo \(\to\) sem penalidade de complexidade. No Bayesiano, \(\theta\) tem priori \(\to\) a KL impõe a Navalha de Occam.
  • Validação Empírica: Quando a analítica falha \(\to\) ELPD em dados de validação, Silhueta e Dunn, e Posterior Predictive Checks quantitativos.
  • A Transição de Hoje: Até agora, a variável latente \(z_n\) era categórica (“qual população?”).
  • O Novo Eixo: E se a variável latente for contínua \(\mathbf{z}\in\mathbb{R}^M\)?

1.2 Ideia Central

O Breast Cancer Wisconsin, usado desde a Aula 3, tem \(30\) atributos por paciente — impossível de visualizar diretamente. Até agora, a disciplina lidou com essa alta dimensionalidade de duas formas: ignorando-a (usando só \(2\) atributos escolhidos à mão) ou combatendo-a como um problema (a maldição da dimensionalidade, Aula 2).

A ideia-ponte desta aula é tratar a redução de dimensionalidade como um objetivo em si mesmo: em vez de perguntar “de qual população este ponto veio?” (variável latente categórica), perguntaremos “que posição, num espaço de dimensão bem menor que \(30\), resume este paciente sem perder o que importa?”. Estamos trocando a variável latente categórica por uma variável latente contínua, \(\mathbf{z}\in\mathbb{R}^M\), com \(M\ll D\).

1.3 Roteiro da Aula

Quatro perguntas organizam nossa jornada hoje:

  1. O que é, concretamente, um espaço latente contínuo? Um autoencoder linear — uma rede que comprime cada ponto em \(M\) números e o reconstrói a partir deles — dá a resposta mais direta: o código latente são coordenadas num plano dentro do espaço dos dados. Que plano a rede aprende?
  2. O que significa, formalmente, “resumir sem perder o que importa”? A Análise de Componentes Principais (PCA) responde de duas formas — menor erro de reconstrução e maior variância retida. Por que coincidem, e o que isso diz sobre o autoencoder?
  3. Existe uma versão probabilística dessa ideia? Um modelo gerador de variável latente contínua, no mesmo espírito do GMM, mas linear-Gaussiano. O que a PPCA revela que a PCA clássica ignora?
  4. Qual a limitação fundamental dessas três ferramentas? O que acontece quando a estrutura dos dados não é um plano, mas uma variedade curva?

1.4 Problema Motivador

Cada paciente do Breast Cancer Wisconsin é descrito por \(30\) números. Mas serão \(30\) informações diferentes? A figura mostra o módulo da correlação entre cada par de atributos. Há blocos inteiros de atributos quase redundantes: raio, perímetro e área medem, no fundo, o tamanho do tumor (a correlação entre raio médio e perímetro médio é \(0{,}998\)), e \(44\) dos \(435\) pares têm \(|r|>0{,}8\).

Se tanta coisa se repete, deve bastar guardar bem menos que \(30\) números por paciente e, a partir deles, reconstruir os \(30\) quase sem perda. Quantos números? Quais números? E como saber se o resumo perdeu o que importa?

1.5 Pergunta

DicaTrocar a variável latente categórica (GMM) por uma contínua muda o tipo de problema que se resolve, ou é só uma variação técnica?

Pense no tipo de resposta que cada variável latente permite: um rótulo entre \(K\) opções, ou uma posição contínua num espaço de \(M\) dimensões.

  • □ Se, em vez de projetar sobre uma direção contínua, fôssemos obrigados a agrupar cada paciente numa de \(K\) categorias fixas (como nas Aulas 3–5), estaríamos resolvendo o mesmo problema de redução de dimensionalidade, só que com uma variável latente discreta em vez de contínua.
  • □ No caso-limite em que \(M=D\) (nenhuma redução de dimensionalidade de fato), a “melhor” direção de projeção deixa de ser um problema bem definido, pois qualquer base ortonormal do espaço original serviria igualmente.
  • □ Como a Aula 5 já provou que a decomposição \(\mathcal{L}(q)+\mathrm{KL}(q\|p)\) não assume nada sobre a natureza de \(\mathbf{Z}\), o ELBO (e não a PCA) é a ferramenta certa para resumir os \(30\) atributos do Breast Cancer Wisconsin em \(2\) números.
  • □ O mesmo problema de “resumir muitos atributos em poucos números que preservem o que importa” aparece ao comprimir os pesos de uma camada de rede neural totalmente conectada por meio de uma fatoração de baixo posto (low-rank factorization), antes mesmo de qualquer treinamento supervisionado.

2 Problema-Fio: Guardar Um Número, Reconstruir Dois

Antes de qualquer método, o problema no menor caso possível, onde dá para desenhar. Cada paciente tem dois atributos padronizados, o mesmo par já conhecido (radius_worst, concave points_worst). Queremos guardar um único número por paciente e, só a partir dele, reconstruir os dois atributos. Uma forma natural de fazer isso: escolher uma reta que passa pelo centro dos dados, guardar a posição de cada paciente ao longo dela e reconstruí-lo como o ponto da reta mais próximo dele.

A figura compara duas retas candidatas: o eixo bruto de radius_worst (linha pontilhada) e uma direção a \(45°\) (linha sólida azul) — a diagonal ao longo da qual os dois atributos crescem juntos. Para cada uma, a legenda mostra duas medidas: a variância retida (quanto os números guardados variam entre pacientes) e o erro de reconstrução (a distância quadrática média de cada paciente até a reta).

Sobre o eixo bruto, os números guardados têm variância \(1{,}00\) (o próprio atributo, já padronizado), e o erro de reconstrução também é \(1{,}00\). Sobre a reta a \(45°\), a variância retida sobe para \(1{,}79\) e o erro cai para \(0{,}21\). A figura já contém as perguntas que a aula inteira responde:

  • O número guardado é um código latente. A posição ao longo da reta é uma variável latente contínua: não foi medida, mas resume o paciente. Uma rede neural que aprende a comprimir e reconstruir — o autoencoder linear — faz o mesmo em qualquer dimensão, com um plano no lugar da reta. Que plano ela aprende?
  • Qual reta erra menos? Formalizar “resumir sem perder o que importa” como menor erro de reconstrução é o Mecanismo I.
  • Qual reta retém mais variância? A reta a \(45°\) ganha nos dois critérios ao mesmo tempo, e nas duas retas retida \(+\) erro \(=2{,}00\), a variância total. Não é coincidência: o Mecanismo II mostra que os dois critérios são o mesmo problema e que a melhor reta é um autovetor da matriz de covariância — a direção a \(45°\) não foi escolhida à mão.
  • E o que sobra fora da reta? Nenhum paciente cai exatamente sobre ela: o erro de \(0{,}21\) é espalhamento em torno da reta. Tratar esse espalhamento como ruído de um modelo que gera os dados é a PPCA.

3 O Autoencoder Linear: Comprimir, Codificar, Reconstruir

O Problema-Fio guardou um número por paciente e reconstruiu dois a partir dele. A forma mais direta de generalizar isso é construir uma máquina que faça exatamente o mesmo em qualquer dimensão: comprimir cada paciente em \(M\) números e, só a partir deles, reconstruir os \(30\) atributos originais. O que se perde no resumo é o que não volta na reconstrução. Essa máquina é uma rede neural rasa, treinada não para classificar nem prever nada externo, mas para reconstruir a própria entrada.

NotaDefinição (autoencoder; DLFC §19.1.1)

Um autoencoder é uma rede com \(D\) unidades de entrada, \(D\) unidades de saída e \(M<D\) unidades na camada oculta (o “gargalo”), treinada com alvo \(\mathbf{y}(\mathbf{x}_n,\mathbf{w})\approx\mathbf{x}_n\) — cada vetor de entrada como seu próprio alvo (mapeamento auto-associativo). Os parâmetros \(\mathbf{w}\) são ajustados minimizando o erro de soma-de-quadrados

\[ E(\mathbf{w}) = \frac12\sum_{n=1}^N\|\mathbf{y}(\mathbf{x}_n,\mathbf{w})-\mathbf{x}_n\|^2. \]

Com \(M<D\) unidades ocultas, reconstrução perfeita de todos os pontos não é, em geral, possível — a rede é forçada a aprender uma representação comprimida de \(M\) números por ponto.

Codificador, espaço latente e decodificador. No caso linear (ativação identidade) e com os dados centrados (os vieses só recentralizam), a rede tem duas matrizes de pesos:

\[ \underbrace{\mathbf{z}_n=\mathbf{V}\mathbf{x}_n}_{\text{codificador},\ \mathbf{V}\in\mathbb{R}^{M\times D}}, \qquad \underbrace{\mathbf{y}_n=\mathbf{W}\mathbf{z}_n}_{\text{decodificador},\ \mathbf{W}\in\mathbb{R}^{D\times M}}, \qquad\text{logo}\qquad \mathbf{y}_n=\mathbf{W}\mathbf{V}\mathbf{x}_n . \]

O vetor \(\mathbf{z}_n\in\mathbb{R}^M\), a saída da camada oculta, é o código latente do paciente \(n\), e \(\mathbb{R}^M\) é o espaço latente. É a variável latente contínua \(\mathbf{z}\) anunciada na Ideia Central, agora com uma receita explícita para calculá-la a partir de \(\mathbf{x}\).

A geometria aparece olhando o decodificador. Com \(\mathbf{w}_1,\dots,\mathbf{w}_M\) as colunas de \(\mathbf{W}\), toda reconstrução tem a forma \(\mathbf{W}\mathbf{z}=z_1\mathbf{w}_1+\dots+z_M\mathbf{w}_M\). Portanto:

  • as reconstruções vivem no subespaço \(\mathcal{C}(\mathbf{W})=\{\mathbf{W}\mathbf{z}\mid\mathbf{z}\in\mathbb{R}^M\}\), um “plano” de dimensão (no máximo) \(M\) dentro de \(\mathbb{R}^D\);
  • o código \(\mathbf{z}_n\) são as coordenadas do ponto reconstruído nesse plano, e as colunas \(\mathbf{w}_j\) são os eixos dessas coordenadas;
  • o erro de reconstrução de \(\mathbf{x}_n\) é a distância entre \(\mathbf{x}_n\) e o ponto do plano que o representa.

O espaço latente é, então, um sistema de coordenadas para um plano de dimensão \(M\) dentro do espaço dos dados. Treinar o autoencoder é escolher esse plano e a regra que leva cada ponto até ele.

O que os dados determinam, e o que não. Para qualquer matriz invertível \(\mathbf{G}\in\mathbb{R}^{M\times M}\), o par \((\mathbf{G}\mathbf{V},\ \mathbf{W}\mathbf{G}^{-1})\) produz o mesmo produto, \(\mathbf{W}\mathbf{G}^{-1}\mathbf{G}\mathbf{V}=\mathbf{W}\mathbf{V}\), logo as mesmas reconstruções e o mesmo erro \(E\). Os códigos, porém, mudam: \(\mathbf{z}_n\mapsto\mathbf{G}\mathbf{z}_n\). O erro enxerga o plano — \(\mathcal{C}(\mathbf{W}\mathbf{G}^{-1})=\mathcal{C}(\mathbf{W})\) —, não os eixos escolhidos dentro dele. Duas redes com o mesmo erro podem dar coordenadas latentes diferentes ao mesmo paciente, e nenhuma delas é “a certa”: os eixos do espaço latente só estão definidos a menos de uma mudança de base invertível.

Sobra a pergunta que organiza o resto da aula: qual plano o treino encontra? Os próximos blocos respondem sem rede nenhuma, olhando só para os dados. O Mecanismo I procura o plano de menor erro de reconstrução; o Mecanismo II mostra que ele é também o plano de maior variância retida e o constrói a partir dos autovetores da matriz de covariância — os componentes principais. O bloco De Volta ao Autoencoder prova que é esse o plano que a rede encontra.

O espaço latente no Breast Cancer Wisconsin. Treinando por gradiente um autoencoder linear (MLPRegressor(activation="identity"), \(M=2\) unidades ocultas) sobre os \(30\) atributos centrados, cada paciente vira um ponto \(\mathbf{z}_n\in\mathbb{R}^2\) — seu código latente. A figura mostra esses códigos, coloridos por diagnóstico só para avaliar (o rótulo não entrou no treino).

Dois fatos já aparecem. Primeiro, os dois tipos de tumor ocupam regiões diferentes do espaço latente, sem que a rede tenha visto o rótulo. Segundo, os eixos \(z_1\) e \(z_2\) não têm nada de canônico: os dois vetores de pesos de entrada (as linhas de \(\mathbf{V}\)) têm cosseno \(\approx-0{,}58\) entre si, longe de ortogonais. Outra semente de treino daria outros eixos, com o mesmo erro. O que a rede aprendeu de estável é o plano, e é ele que os próximos blocos identificam.

3.1 Pergunta

DicaDuas redes treinadas com sementes diferentes chegam ao mesmo erro de reconstrução, mas dão códigos latentes diferentes ao mesmo paciente. Qual delas aprendeu o espaço latente “certo”?

Pense no que o erro de reconstrução consegue enxergar: o produto \(\mathbf{W}\mathbf{V}\), ou cada fator separadamente?

  • □ Se \((\mathbf{V},\mathbf{W})\) minimiza o erro de reconstrução, então \((2\mathbf{V},\tfrac12\mathbf{W})\) também minimiza, e os códigos latentes de todos os pacientes dobram de tamanho.
  • □ No caso-limite \(M=D\), com \(\mathbf{V}\) invertível e \(\mathbf{W}=\mathbf{V}^{-1}\), a reconstrução é perfeita, mas o código latente não comprime nada.
  • □ Como o erro só depende do produto \(\mathbf{W}\mathbf{V}\), a coordenada \(z_1\) de um paciente tem um significado fixo, comparável entre duas redes treinadas com sementes diferentes.
  • □ Numa fatoração de matrizes para recomendação, \(R\approx PQ^T\) (usuários \(\times\) itens), os fatores latentes dos usuários também só estão definidos a menos de uma transformação invertível: \(P\mapsto PG\) e \(Q^T\mapsto G^{-1}Q^T\) dão a mesma predição.

4 Mecanismo I: O Melhor Plano Pelo Erro de Reconstrução

O autoencoder colocou a pergunta; agora ela é resolvida diretamente, sem treinar rede nenhuma. O caminho tem duas suposições sobre os pesos, que simplificam as contas, e três passos. No fim, o Passo 1 mostra que as duas suposições não custam nada.

Do autoencoder a uma base. O autoencoder linear reconstrói \(\mathbf{y}_n=\mathbf{W}\mathbf{V}\mathbf{x}_n\), com \(\mathbf{V}\) e \(\mathbf{W}\) livres. Pela invariância por \(\mathbf{G}\), muitos pares dão o mesmo erro, então podemos escolher o par mais conveniente.

  • Suposição 1 — pesos amarrados. Em vez de duas matrizes independentes, usamos uma só matriz \(\mathbf{U}\in\mathbb{R}^{D\times M}\): o decodificador é \(\mathbf{W}=\mathbf{U}\) e o codificador é a sua transposta, \(\mathbf{V}=\mathbf{U}^T\). Assim \(\mathbf{z}_n=\mathbf{U}^T\mathbf{x}_n\) e \(\mathbf{y}_n=\mathbf{U}\mathbf{z}_n=\mathbf{U}\mathbf{U}^T\mathbf{x}_n\).
  • Suposição 2 — uma base ortonormal. As colunas \(\mathbf{u}_1,\dots,\mathbf{u}_M\) de \(\mathbf{U}\) são ortonormais, \(\mathbf{U}^T\mathbf{U}=\mathbf{I}\). Todo plano de dimensão \(M\) tem uma base assim, então nenhum plano fica de fora. Com ela, o código \(z_{ni}=\mathbf{x}_n^T\mathbf{u}_i\) é a coordenada de \(\mathbf{x}_n\) ao longo de \(\mathbf{u}_i\), e \(\mathbf{U}\mathbf{U}^T\mathbf{x}_n\) é a projeção ortogonal de \(\mathbf{x}_n\) no plano.

Completando a base. Acrescentamos \(\mathbf{u}_{M+1},\dots,\mathbf{u}_D\) até formar uma base ortonormal de \(\mathbb{R}^D\) (\(\mathbf{u}_i^T\mathbf{u}_j=\delta_{ij}\)). Nessa base todo ponto se escreve exatamente, separando as \(M\) coordenadas no plano das \(D-M\) fora dele: \[ \mathbf{x}_n=\sum_{i=1}^M(\mathbf{x}_n^T\mathbf{u}_i)\mathbf{u}_i+\sum_{i=M+1}^D(\mathbf{x}_n^T\mathbf{u}_i)\mathbf{u}_i . \] Para não pressupor a resposta, deixamos a reconstrução geral, escrita na mesma base: um coeficiente livre \(z_{ni}\) por ponto em cada direção do plano e uma constante \(b_i\), a mesma para todos os pontos, em cada direção de fora (o papel do viés da rede): \[ \tilde{\mathbf{x}}_n = \sum_{i=1}^M z_{ni}\mathbf{u}_i + \sum_{i=M+1}^D b_i\mathbf{u}_i, \qquad J = \frac1N\sum_{n=1}^N\|\mathbf{x}_n-\tilde{\mathbf{x}}_n\|^2 . \] Como as duas expansões usam a mesma base, a diferença se faz coordenada a coordenada: \[ \mathbf{x}_n-\tilde{\mathbf{x}}_n=\sum_{i=1}^M(\mathbf{x}_n^T\mathbf{u}_i-z_{ni})\,\mathbf{u}_i+\sum_{i=M+1}^D(\mathbf{x}_n^T\mathbf{u}_i-b_i)\,\mathbf{u}_i . \]

\(J\) é o erro \(E\) do autoencoder, a menos do fator \(\tfrac12\) e da divisão por \(N\) (PRML §12.1.2).

Passo 1 — os melhores códigos e constantes. Numa base ortonormal, a norma ao quadrado de um vetor é a soma dos quadrados dos seus coeficientes (Pitágoras): \(\|\sum_i a_i\mathbf{u}_i\|^2=\sum_i\sum_j a_ia_j\,\mathbf{u}_i^T\mathbf{u}_j=\sum_i a_i^2\), porque \(\mathbf{u}_i^T\mathbf{u}_j=\delta_{ij}\) elimina os termos cruzados. Aplicando à diferença acima: \[ J=\frac1N\sum_{n=1}^N\Big[\sum_{i=1}^M(\mathbf{x}_n^T\mathbf{u}_i-z_{ni})^2+\sum_{i=M+1}^D(\mathbf{x}_n^T\mathbf{u}_i-b_i)^2\Big]. \] Cada termo depende de uma única incógnita, então cada um é minimizado separadamente:

  • \(z_{ni}=\mathbf{x}_n^T\mathbf{u}_i\) zera o primeiro grupo. Esse é exatamente o codificador amarrado \(\mathbf{z}_n=\mathbf{U}^T\mathbf{x}_n\) da Suposição 1, que era, portanto, a melhor escolha;
  • \(b_i=\bar{\mathbf{x}}^T\mathbf{u}_i\) minimiza \(\sum_n(\mathbf{x}_n^T\mathbf{u}_i-b_i)^2\), porque a média é a constante que minimiza a soma dos quadrados dos desvios.

Com essas escolhas, o erro que sobra é \(\mathbf{x}_n-\tilde{\mathbf{x}}_n=\sum_{i=M+1}^D\big((\mathbf{x}_n-\bar{\mathbf{x}})^T\mathbf{u}_i\big)\mathbf{u}_i\): só tem componentes fora do plano. O melhor ponto do plano é a projeção ortogonal, nunca um deslocamento oblíquo.

Passo 2 — o erro em termos da covariância. Substituindo em \(J\): \[ J=\frac1N\sum_{n=1}^N\sum_{i=M+1}^D\big((\mathbf{x}_n-\bar{\mathbf{x}})^T\mathbf{u}_i\big)^2 =\sum_{i=M+1}^D \mathbf{u}_i^T\mathbf{S}\mathbf{u}_i, \qquad \mathbf{S}=\frac1N\sum_n(\mathbf{x}_n-\bar{\mathbf{x}})(\mathbf{x}_n-\bar{\mathbf{x}})^T, \] com \(\mathbf{S}\) a matriz de covariância amostral. Cada termo \(\mathbf{u}_i^T\mathbf{S}\mathbf{u}_i\) é a variância dos dados ao longo de uma direção descartada.

Passo 3 — erro \(=\) variância total \(-\) variância retida. A soma sobre todas as direções não depende da base: com \(Q=[\mathbf{u}_1\,\cdots\,\mathbf{u}_D]\) ortogonal, \(\sum_{i=1}^D\mathbf{u}_i^T\mathbf{S}\mathbf{u}_i=\mathrm{tr}(Q^T\mathbf{S}Q) =\mathrm{tr}(\mathbf{S}QQ^T)=\mathrm{tr}(\mathbf{S})\), a variância total dos dados. Logo \[ J=\mathrm{tr}(\mathbf{S})-\sum_{i=1}^M\mathbf{u}_i^T\mathbf{S}\mathbf{u}_i . \] Como \(\mathrm{tr}(\mathbf{S})\) não depende do plano, minimizar o erro de reconstrução e maximizar a variância retida são o mesmo problema. É o que a figura do Problema-Fio mostrava: nas duas retas, retida \(+\) erro \(=2{,}00\).

O problema do autoencoder virou, então: escolher \(M\) direções ortonormais que maximizem \(\sum_{i=1}^M\mathbf{u}_i^T\mathbf{S}\mathbf{u}_i\). O Mecanismo II resolve essa maximização.

5 Mecanismo II: O Melhor Plano Pela Variância Retida

Premissas. O Mecanismo I reduziu o problema do autoencoder a escolher \(M\) direções ortonormais que maximizem a variância retida. Dado um conjunto de observações \(\{\mathbf{x}_n\}\), \(n=1,\dots,N\), cada \(\mathbf{x}_n\in\mathbb{R}^D\), queremos projetar os dados sobre um espaço de dimensão \(M<D\), maximizando a variância dos dados projetados. Comece pelo caso \(M=1\): definimos a direção desse espaço por um vetor \(\mathbf{u}_1\in\mathbb{R}^D\), escolhido unitário (\(\mathbf{u}_1^T\mathbf{u}_1=1\)) sem perda de generalidade (só a direção de \(\mathbf{u}_1\) importa, não sua magnitude).

Passo 1 — a variância projetada. Cada ponto \(\mathbf{x}_n\) é projetado ao escalar \(\mathbf{u}_1^T\mathbf{x}_n\). A média dos valores projetados é \(\mathbf{u}_1^T\bar{\mathbf{x}}\), onde \(\bar{\mathbf{x}}=\frac1N\sum_n\mathbf{x}_n\). A variância dos valores projetados é calculada como:

\[ \begin{aligned} \text{Var}(\text{proj}) &= \frac1N\sum_n\{\mathbf{u}_1^T\mathbf{x}_n - \mathbf{u}_1^T\bar{\mathbf{x}}\}^2 \\ &= \frac1N\sum_n\{\mathbf{u}_1^T(\mathbf{x}_n - \bar{\mathbf{x}})\}^2 \\ &= \frac1N\sum_n\{\mathbf{u}_1^T(\mathbf{x}_n - \bar{\mathbf{x}})\}\{\mathbf{u}_1^T(\mathbf{x}_n - \bar{\mathbf{x}})\}^T \\ &= \mathbf{u}_1^T \left( \frac1N\sum_n(\mathbf{x}_n-\bar{\mathbf{x}})(\mathbf{x}_n-\bar{\mathbf{x}})^T \right) \mathbf{u}_1 \\ &= \mathbf{u}_1^T\mathbf{S}\mathbf{u}_1, \end{aligned} \]

onde \(\mathbf{S} = \frac1N\sum_n(\mathbf{x}_n-\bar{\mathbf{x}})(\mathbf{x}_n-\bar{\mathbf{x}})^T\) é a mesma matriz de covariância amostral do Mecanismo I, simétrica por construção (\(\mathbf{S}=\mathbf{S}^T\)) e semidefinida positiva, pois \(\mathbf{v}^T\mathbf{S}\mathbf{v}=\frac1N\sum_n[\mathbf{v}^T(\mathbf{x}_n-\bar{\mathbf{x}})]^2\ge0\) para qualquer \(\mathbf{v}\)).

Passo 2 — o problema restrito. Maximizar \(\mathbf{u}_1^T\mathbf{S}\mathbf{u}_1\) livremente não tem solução finita: trocar \(\mathbf{u}_1\) por \(c\,\mathbf{u}_1\) multiplica a variância projetada por \(c^2\), sem limite. Como só a direção importa, fixamos o comprimento, e o problema fica

\[ \max_{\mathbf{u}_1\in\mathbb{R}^D}\ \mathbf{u}_1^T\mathbf{S}\mathbf{u}_1 \qquad\text{sujeito a}\qquad \mathbf{u}_1^T\mathbf{u}_1=1 . \]

Passo 3 — a Lagrangeana. Para um problema com restrição de igualdade, soma-se ao objetivo a restrição, escrita como “\(\,\text{algo}=0\,\)”, multiplicada por uma nova variável \(\lambda_1\), o multiplicador de Lagrange:

\[ \mathcal{L}(\mathbf{u}_1,\lambda_1)=\mathbf{u}_1^T\mathbf{S}\mathbf{u}_1+\lambda_1\big(1-\mathbf{u}_1^T\mathbf{u}_1\big). \]

Nos pontos ótimos do problema restrito, as derivadas de \(\mathcal{L}\) em relação a \(\mathbf{u}_1\) e a \(\lambda_1\) se anulam. A derivada em \(\lambda_1\) devolve a própria restrição, \(1-\mathbf{u}_1^T\mathbf{u}_1=0\). A derivada em \(\mathbf{u}_1\) (com \(\mathbf{S}\) simétrica) é

\[ 2\mathbf{S}\mathbf{u}_1 - 2\lambda_1\mathbf{u}_1 = \mathbf{0} \quad\Longrightarrow\quad \mathbf{S}\mathbf{u}_1=\lambda_1\mathbf{u}_1. \]

Passo 4 — ler a solução. \(\mathbf{u}_1\) precisa ser um autovetor de \(\mathbf{S}\), e o multiplicador é o seu autovalor. Pré-multiplicando por \(\mathbf{u}_1^T\) e usando a restrição \(\mathbf{u}_1^T\mathbf{u}_1=1\): \(\mathbf{u}_1^T\mathbf{S}\mathbf{u}_1=\lambda_1\) — a variância projetada, no ponto estacionário, é exatamente o autovalor correspondente. Como \(\mathbf{S}\) (simétrica) tem \(D\) autovalores reais e autovetores ortogonais entre si (Teorema Espectral — pré-requisito de optimization-linear-algebra, Aula 4), a variância é máxima justamente quando \(\mathbf{u}_1\) é o autovetor de maior autovalor \(\lambda_1\) — o primeiro componente principal.

NotaTeorema (PCA por máxima variância; PRML §12.1.1)

Sejam \(\{\mathbf{x}_n\}_{n=1}^N\subset\mathbb{R}^D\) com matriz de covariância amostral \(\mathbf{S}\). Entre todas as direções unitárias \(\mathbf{u}\in\mathbb{R}^D\), a variância projetada \(\mathbf{u}^T\mathbf{S}\mathbf{u}\) é maximizada quando \(\mathbf{u}\) é o autovetor de \(\mathbf{S}\) associado ao seu maior autovalor. Para um subespaço de dimensão \(M<D\), o subespaço que maximiza a variância total projetada é o gerado pelos \(M\) autovetores de \(\mathbf{S}\) associados aos \(M\) maiores autovalores (o subespaço principal).

Ferramenta: \(\mathbf{S}\) como soma de matrizes de posto 1. Como \(\mathbf{S}\) é simétrica, o Teorema Espectral (optimization-linear-algebra, Aula 4) dá \(\mathbf{S}=Q\Lambda Q^T\), com \(Q=[\mathbf{u}_1\,\cdots\,\mathbf{u}_D]\) ortogonal e \(\Lambda=\mathrm{diag}(\lambda_1,\dots,\lambda_D)\), ordenados de modo que \(\lambda_1\ge\lambda_2\ge\dots\ge\lambda_D\). Escrevendo o produto \(Q\Lambda Q^T\) coluna a coluna, ele é uma soma de \(D\) matrizes de posto 1: \[ \mathbf{S}=\sum_{i=1}^{D}\lambda_i\,\mathbf{u}_i\mathbf{u}_i^T . \] Como \(\mathbf{S}\) é semidefinida positiva, todo autovalor é não negativo: \(\lambda_i=\mathbf{u}_i^T\mathbf{S}\mathbf{u}_i\ge0\). Cada termo \(\lambda_i\mathbf{u}_i\mathbf{u}_i^T\) é a “fatia” de variância dos dados na direção \(\mathbf{u}_i\).

A variância projetada nessa base. Para uma direção unitária \(\mathbf{u}\), defina \(c_i=\mathbf{u}_i^T\mathbf{u}\) (a coordenada de \(\mathbf{u}\) na base ortonormal \(\{\mathbf{u}_i\}\)). Substituindo a decomposição, \[ \mathbf{u}^T\mathbf{S}\mathbf{u} =\sum_{i=1}^{D}\lambda_i\,(\mathbf{u}^T\mathbf{u}_i)(\mathbf{u}_i^T\mathbf{u}) =\sum_{i=1}^{D}\lambda_i\,c_i^2 , \qquad \sum_{i=1}^{D}c_i^2=\|Q^T\mathbf{u}\|^2=\|\mathbf{u}\|^2=1, \] em que a última igualdade usa que \(Q^T\) é ortogonal e preserva normas. Ou seja, a variância projetada é uma média ponderada dos autovalores, com pesos \(c_i^2\ge0\) que somam 1.

Demonstração (por indução em \(M\)).

  • Base (\(M=1\)). Uma média ponderada nunca excede o maior termo: \(\sum_i\lambda_ic_i^2\le\lambda_1\sum_ic_i^2=\lambda_1\), com igualdade em \(\mathbf{u}=\mathbf{u}_1\) (\(c_1=1\), demais \(c_i=0\)). Isso confirma, sem Lagrange, o resultado do Passo 3.
  • Passo indutivo. Suponha \(\mathbf{u}_1,\dots,\mathbf{u}_{M-1}\) já escolhidos. A próxima direção deve ser unitária e ortogonal a elas, o que força \(c_1=\dots=c_{M-1}=0\). Os termos de posto 1 já usados saem da soma: \[ \mathbf{u}^T\mathbf{S}\mathbf{u}=\sum_{i=M}^{D}\lambda_i c_i^2 \le\lambda_M\sum_{i=M}^{D}c_i^2=\lambda_M , \] com igualdade em \(\mathbf{u}=\mathbf{u}_M\). Equivalentemente, a busca da \(M\)-ésima direção é a busca da primeira direção na matriz \(\mathbf{S}-\sum_{i<M}\lambda_i\mathbf{u}_i\mathbf{u}_i^T\), da qual as fatias já capturadas foram subtraídas.

Por indução, a escolha sequencial produz \(\mathbf{u}_1,\dots,\mathbf{u}_M\), os autovetores dos \(M\) maiores autovalores, com variância total \(\lambda_1+\dots+\lambda_M\). \(\blacksquare\)

Aviso de leitura: a indução mostra que a construção sequencial (uma direção por vez, cada uma ortogonal às anteriores) chega a esse subespaço. Que nenhum outro subespaço de dimensão \(M\), escolhido de uma só vez, supere \(\lambda_1+\dots+\lambda_M\) é um resultado a mais (o princípio do máximo de Ky Fan, 1949), citado aqui sem demonstração.

Aplicando ao Breast Cancer Wisconsin completo (\(D=30\)). Calculando \(\mathbf{S}\) sobre os \(30\) atributos padronizados e sua decomposição espectral (np.linalg.eigh, que devolve autovalores em ordem ascendente — é preciso reordenar explicitamente para “maior primeiro”, um detalhe fácil de esquecer e que inverteria silenciosamente qual componente é “o primeiro”), os \(5\) maiores autovalores são:

\(\lambda_1=13{,}2816\), \(\lambda_2=5{,}6914\), \(\lambda_3=2{,}8179\), \(\lambda_4=1{,}9806\), \(\lambda_5=1{,}6487\) — o primeiro componente sozinho já explica \(44{,}27\%\) da variância total dos \(30\) atributos padronizados; os dois primeiros juntos, \(63{,}24\%\). É um resultado forte: dois números resumem quase dois terços de toda a variação entre pacientes que, originalmente, precisava de \(30\) números para ser descrita — sem usar o rótulo diagnosis em nenhum momento do cálculo.

Juntando os dois mecanismos. Pelo Passo 3 do Mecanismo I, o subespaço que maximiza a variância retida é o mesmo que minimiza o erro de reconstrução, e o erro que sobra é o que não foi retido:

NotaTeorema (PCA por erro mínimo; PRML §12.1.2)

Entre todas as bases ortonormais \(\{\mathbf{u}_i\}\) de \(\mathbb{R}^D\), a distorção média de reconstrução \(J=\frac1N\sum_n\|\mathbf{x}_n- \tilde{\mathbf{x}}_n\|^2\), restrita a subespaços de dimensão \(M\), é minimizada pelo mesmo subespaço principal do Teorema de máxima variância — gerado pelos \(M\) autovetores de \(\mathbf{S}\) com os \(M\) maiores autovalores. O valor mínimo é \(J^\star=\sum_{i=M+1}^D\lambda_i\).

No Breast Cancer Wisconsin com \(M=2\), \(J^\star\) é a soma dos \(28\) autovalores descartados, \(36{,}76\%\) da variância total.

5.1 Pergunta

DicaO multiplicador de Lagrange \(\lambda_1\) é só um artifício técnico da restrição, ou carrega significado próprio?

Releia o Passo 4: o que \(\lambda_1\) passa a representar depois de pré-multiplicar a equação por \(\mathbf{u}_1^T\)?

  • □ Se, em vez de maximizar \(\mathbf{u}^T\mathbf{S}\mathbf{u}\) sujeito a \(\mathbf{u}^T\mathbf{u}=1\), minimizássemos essa mesma quantidade sob a mesma restrição, a solução ótima seria o autovetor de menor autovalor de \(\mathbf{S}\), não o de maior.
  • □ No caso-limite em que \(\mathbf{S}\) é a matriz identidade (todos os atributos com mesma variância, sem correlação entre eles), todo autovalor é igual, e qualquer direção unitária \(\mathbf{u}\) produz exatamente a mesma variância projetada.
  • □ Como o multiplicador de Lagrange \(\lambda_1\) aparece na equação \(\mathbf{S}\mathbf{u}_1=\lambda_1\mathbf{u}_1\) só para impor a restrição \(\mathbf{u}_1^T\mathbf{u}_1=1\), seu valor numérico não tem nenhum significado interpretável além de ser parte da mecânica da otimização.
  • □ A mesma equação de autovalores \(\mathbf{S}\mathbf{u}=\lambda \mathbf{u}\) que define as direções principais da PCA também aparece na análise espectral da matriz do Laplaciano de um grafo, usada em métodos de clustering espectral.

6 De Volta ao Autoencoder: a Prova

Os Mecanismos I e II resolveram o “melhor plano” sem rede nenhuma. Falta mostrar que o problema do autoencoder linear é o mesmo. Agora que os componentes principais estão definidos, o resultado pode ser enunciado com precisão. É um resultado clássico, que o DLFC enuncia sem demonstrá-lo por extenso; a prova não exige nenhuma ferramenta nova.

NotaTeorema (autoencoder linear = subespaço de PCA; Bourlard & Kamp, 1988; Baldi & Hornik, 1989 — citado via DLFC §19.1.1, p. 565)

Se as unidades ocultas de um autoencoder raso (\(D\)-\(M\)-\(D\)) têm ativação linear, então \(E(\mathbf{w})\) tem um mínimo global único (a menos de rotação/reparametrização dentro do subespaço), e nesse mínimo a rede realiza a projeção sobre o subespaço de dimensão \(M\) gerado pelos \(M\) primeiros componentes principais dos dados. Os vetores de peso que levam à camada oculta formam uma base desse subespaço — mas não precisam ser ortogonais nem normalizados.

A última frase é a invariância por \(\mathbf{G}\) do primeiro bloco: se uma base do plano serve, qualquer outra também.

Demonstração (por redução). Com ativação linear e sem vieses (dados centrados), a composição codificador seguido de decodificador é, para qualquer escolha de pesos, uma transformação linear \(\mathbf{x}\mapsto\mathbf{A}\mathbf{x}\) com \(\mathbf{A}=\mathbf{W}\mathbf{V}\) e \(\mathrm{posto}(\mathbf{A})\le M\). Reciprocamente, toda matriz de posto \(\le M\) é alcançável por alguma escolha de pesos: basta fatorá-la como \(\mathbf{A}=\mathbf{W}\mathbf{V}\), com \(\mathbf{V}\) de tamanho \(M\times D\) e \(\mathbf{W}\) de tamanho \(D\times M\). Logo, treinar a rede é minimizar \(E=\frac12\sum_n\|\mathbf{A}\mathbf{x}_n-\mathbf{x}_n\|^2\) sobre todas as matrizes de posto \(\le M\). Para qualquer uma delas, as reconstruções \(\mathbf{A}\mathbf{x}_n\) caem no subespaço \(\mathcal{C}(\mathbf{A})\), de dimensão \(\le M\), e pelo Passo 1 do Mecanismo I nenhuma reconstrução nesse subespaço erra menos que a projeção ortogonal sobre ele. Pelos Mecanismos I e II, o menor erro de projeção entre todos os subespaços de dimensão \(M\) é o do subespaço principal, atingido por \(\mathbf{A}=\mathbf{U}_M\mathbf{U}_M^T\). Esse é, portanto, o mínimo global de \(E\). Como a mesma projeção se escreve como \(\mathbf{W}\mathbf{V}\) para infinitas fatorações (a invariância por \(\mathbf{G}\)), os pesos podem convergir a qualquer base do subespaço — daí a observação do DLFC de que eles “não precisam ser ortogonais nem normalizados”. \(\blacksquare\)

Uma ressalva do próprio DLFC (p. 565): a não linearidade, sozinha, não escapa dessa conclusão. Trocando a ativação linear por uma não linear (por exemplo, sigmoide) nessa mesma arquitetura rasa (\(D\)-\(M\)-\(D\), uma única camada oculta), o mínimo global do erro de reconstrução ainda corresponde ao subespaço de PCA. Só arquiteturas mais profundas, com camadas adicionais de unidades não lineares, realizam de fato uma redução de dimensionalidade não linear — o assunto da Aula 7.

6.1 Pergunta

DicaSe as unidades ocultas usassem ativação não linear, o mínimo global mudaria de subespaço?

Releia a ressalva do DLFC citada no bloco — ela distingue arquitetura rasa de arquitetura profunda.

  • □ Se as unidades ocultas do autoencoder raso (mesma arquitetura \(D\)-\(M\)-\(D\), uma única camada oculta) usassem uma função de ativação não linear em vez de linear, o mínimo global do erro de reconstrução ainda corresponderia ao mesmo subespaço de PCA.
  • □ No caso-limite em que \(M=D\) (a camada oculta tem o mesmo número de unidades que a entrada), o erro de reconstrução mínimo é exatamente zero, para qualquer conjunto de pesos que forme uma base do espaço completo.
  • □ Como o autoencoder linear e a PCA resolvem exatamente o mesmo problema de otimização, os vetores de peso aprendidos pelo autoencoder devem necessariamente ser ortonormais entre si, assim como os autovetores da PCA.
  • □ A mesma prova por redução (mostrar que duas famílias de funções alcançáveis coincidem, e portanto os mínimos dos respectivos problemas de otimização coincidem) é uma técnica de argumentação que também aparece ao comparar a solução de uma regressão Ridge com \(\lambda\to0\) contra a solução de mínimos quadrados ordinários.

Verificação numérica no Breast Cancer Wisconsin (\(M=2\)). O autoencoder linear do primeiro bloco, treinado do zero por gradiente (sem nunca ver a decomposição espectral), comparado ao ótimo da PCA:

O erro quadrático médio de reconstrução da PCA (o ótimo teórico, \(J^\star/D\)) é \(0{,}367568\); o do autoencoder linear é \(0{,}367575\) — coincidência a \(5\) algarismos significativos. Verificando também o subespaço aprendido (comparando o espaço gerado pelos vetores de pesos de entrada com o subespaço principal via cossenos dos ângulos principais): os valores obtidos foram \(\approx0{,}98\) e \(\approx0{,}93\) — próximos de \(1\) (subespaços quase coincidentes), mas não exatamente \(1\). Isso não contradiz o Teorema: o pequeno desvio vem da convergência finita do otimizador (gradiente, não uma fórmula fechada), e as direções em que o otimizador ainda não convergiu são as de variância pequena, que quase não afetam o erro.

O espaço latente da PCA: eixos canônicos. A PCA também produz códigos latentes: as coordenadas \(\mathbf{z}_n=\mathbf{U}_M^T(\mathbf{x}_n-\bar{\mathbf{x}})\) na base dos componentes principais. Pelo Teorema, o autoencoder e a PCA aprendem o mesmo plano, então os dois códigos devem diferir só por uma mudança de base \(\mathbf{G}\). Verificando: regredindo os códigos do autoencoder nas coordenadas da PCA por uma transformação afim, o coeficiente de determinação é \(R^2>0{,}99999\) em cada coordenada. O espaço latente que a rede aprendeu é o da PCA, visto em outros eixos. O que a PCA acrescenta é uma escolha canônica desses eixos: ortonormais e ordenados pela variância que carregam (\(\lambda_1\ge\lambda_2\)).

O rótulo diagnosis nunca entrou no cálculo de \(\mathbf{S}\) nem na decomposição espectral — a projeção usou só os \(30\) atributos, sem supervisão nenhuma. Ainda assim, colorindo os pontos por diagnóstico só para avaliar o resultado (nunca para ajustar), a separação salta aos olhos: um único limiar ao longo do primeiro componente já classifica \(92{,}1\%\) dos pacientes corretamente. É a mesma separação vista no espaço latente do autoencoder, agora num eixo só, porque a PCA ordena os eixos por variância. Isso não é uma coincidência específica deste dataset — é o mesmo padrão já visto nas Aulas 3 e 4 (HDBSCAN, GMM): a estrutura clínica real (dois tipos de tumor, biologicamente distintos) deixa uma marca estatística forte o bastante para emergir de um critério puramente geométrico (variância), sem nenhuma informação de rótulo.

7 PCA Como Gaussiana de Posto Reduzido (PPCA)

Até aqui a PCA foi geometria: planos, projeções, variância. Há um terceiro jeito de lê-la, probabilístico. Suponha que quiséssemos descrever os pacientes por uma Gaussiana \(\mathcal{N}(\bar{\mathbf{x}},\mathbf{C})\). Com uma covariância \(\mathbf{C}\) completamente livre, o ajuste seria \(\mathbf{C}=\mathbf{S}\), com \(D(D+1)/2=465\) números a estimar. Mas o Mecanismo II mostrou que quase toda a variância vive em poucas direções. Então por que não uma Gaussiana cuja covariância também só tem \(M\) direções importantes — uma covariância de posto reduzido?

O problema de uma covariância de posto \(M<D\) pura é que ela é singular: a Gaussiana fica inteiramente achatada sobre um plano, e nenhum paciente real, que está sempre um pouco fora dele, tem densidade positiva. A solução é somar um pouco de ruído igual em todas as direções:

\[ \mathbf{C}=\underbrace{\mathbf{W}\mathbf{W}^T}_{\text{posto }M}+\underbrace{\sigma^2\mathbf{I}}_{\text{ruído isotrópico}},\qquad \mathbf{W}\in\mathbb{R}^{D\times M}. \]

Essa é a PCA probabilística (PPCA). Ela tem uma história geradora simples, que é o decodificador do autoencoder com uma distribuição para o código e ruído em torno do plano:

NotaDefinição (modelo gerador da PPCA; PRML §12.2, eq. 12.31–12.33)

\[ \mathbf{z}\sim\mathcal{N}(\mathbf{0},\mathbf{I}_M),\qquad \mathbf{x}=\mathbf{W}\mathbf{z}+\boldsymbol\mu+\boldsymbol\epsilon,\qquad \boldsymbol\epsilon\sim\mathcal{N}(\mathbf{0},\sigma^2\mathbf{I}_D)\ \text{independente de }\mathbf{z}. \]

Como \(\mathbf{x}\) é uma transformação linear de Gaussianas independentes, ele também é Gaussiano, com média \(\boldsymbol\mu\) e covariância \(\mathbb{E}[\mathbf{W}\mathbf{z}\mathbf{z}^T\mathbf{W}^T]+\mathbb{E}[\boldsymbol\epsilon\boldsymbol\epsilon^T]=\mathbf{W}\mathbf{W}^T+\sigma^2\mathbf{I}\) (PRML eq. 12.35–12.36): exatamente a Gaussiana de posto reduzido mais ruído. Compare com o GMM da Aula 4: lá, uma variável latente categórica escolhia uma entre \(K\) Gaussianas; aqui, uma variável latente contínua desliza ao longo de um plano. E o espalhamento dos pacientes em torno da reta do Problema-Fio é o ruído \(\boldsymbol\epsilon\).

O que o ajuste encontra. Ajustando \(\mathbf{W}\) e \(\sigma^2\) por máxima verossimilhança, a resposta tem forma fechada (Tipping & Bishop, 1999; PRML eq. 12.45–12.46, pp. 574–575): as colunas de \(\mathbf{W}\) apontam para os \(M\) primeiros componentes principais, e \(\sigma^2_{\mathrm{ML}}\) é a média dos \(D-M\) autovalores descartados. Substituindo em \(\mathbf{C}\), a leitura fica direta:

\[ \mathbf{C}_{\mathrm{ML}}=\sum_{i=1}^{M}\lambda_i\,\mathbf{u}_i\mathbf{u}_i^T+\sigma^2_{\mathrm{ML}}\sum_{i=M+1}^{D}\mathbf{u}_i\mathbf{u}_i^T, \qquad \sigma^2_{\mathrm{ML}}=\frac{1}{D-M}\sum_{i=M+1}^{D}\lambda_i . \]

Compare com \(\mathbf{S}=\sum_{i=1}^D\lambda_i\mathbf{u}_i\mathbf{u}_i^T\), a mesma soma de matrizes de posto 1 do Mecanismo II. A Gaussiana ajustada copia \(\mathbf{S}\) exatamente nas \(M\) direções principais e achata as outras \(D-M\) num único valor, a média delas. A figura mostra isso no Breast Cancer Wisconsin com \(M=2\): as duas primeiras barras são reproduzidas, as \(28\) restantes viram uma linha plana em \(\sigma^2_{\mathrm{ML}}=0\,394\). Em vez de \(465\) números, a covariância usa \(DM+1-\tfrac{M(M-1)}{2}=60\) (o último termo desconta que girar \(\mathbf{W}\) por uma rotação \(\mathbf{R}\) não muda \(\mathbf{W}\mathbf{W}^T\) — a mesma invariância por \(\mathbf{G}\) do autoencoder, agora restrita a rotações).

Sem ruído, sobra a PCA. Fazendo \(\sigma^2\to0\), a parte achatada desaparece e \(\mathbf{C}\to\sum_{i\le M}\lambda_i\mathbf{u}_i\mathbf{u}_i^T\): uma Gaussiana de posto exatamente \(M\), com toda a massa sobre o subespaço principal. Nesse limite, a melhor estimativa do código de um paciente, \(\mathbb{E}[\mathbf{z}\mid\mathbf{x}]\), vira a projeção ortogonal sobre esse subespaço (PRML eq. 12.48–12.50), o mesmo resultado dos Mecanismos I e II. A PCA é, portanto, o ajuste de uma Gaussiana de posto reduzido, e a PPCA é a mesma coisa com um ruído honesto para a variância que sobra fora do plano. No Problema-Fio (\(D=2\), \(M=1\)), esse ruído é \(\sigma^2_{\mathrm{ML}}=\lambda_2=0{,}21\), exatamente o erro da reta a \(45°\).

7.1 Pergunta

DicaSe a distribuição condicional da PPCA usasse covariância geral em vez de isotrópica, o limite σ²→0 ainda recuperaria a PCA do mesmo jeito?

Pense no papel específico que \(\sigma^2\) (um único escalar) desempenha na demonstração do limite — o argumento depende de haver só um parâmetro de ruído a levar a zero?

  • □ Se a distribuição condicional \(p(\mathbf{x}\mid\mathbf{z})\) usasse uma covariância geral \(\boldsymbol\Sigma\) em vez de isotrópica \(\sigma^2\mathbf{I}\), o modelo deixaria de ser equivalente à PCA clássica mesmo no limite, porque a própria formulação perderia esse parâmetro único a ser levado a zero.
  • □ No caso-limite \(\sigma^2\to0\), a covariância marginal \(\mathbf{C}=\mathbf{WW}^T+\sigma^2\mathbf{I}\) se reduz a uma matriz singular (não invertível) quando \(M<D\).
  • □ Como a PPCA é um modelo probabilístico e a PCA clássica não é, a PPCA é sempre estritamente mais informativa que a PCA clássica, nunca produzindo exatamente o mesmo resultado.
  • □ A mesma estrutura de modelo latente linear-Gaussiano da PPCA (variável latente contínua com prior Gaussiano, observação linear mais ruído Gaussiano) é também a base da Análise Fatorial (Factor Analysis), usada em psicometria para inferir traços latentes a partir de respostas de questionários.

8 Síntese, Fechamento e Ponte para a Aula 7

Síntese. Este aula revisitou o mesmo objeto — o subespaço de maior variância dos dados — de quatro ângulos diferentes, e todos concordaram exatamente: neural (o autoencoder linear, cujo código latente são coordenadas num plano e cujo mínimo global é o subespaço principal), algébrico (mínimo erro de reconstrução), geométrico (máxima variância retida, ligada ao anterior por Pitágoras) e probabilístico (PPCA, MLE de um modelo gerador linear-Gaussiano, que recupera a PCA clássica no limite \(\sigma^2\to0\)). Essas quatro perspectivas não são quatro técnicas independentes que “por acaso” concordam — são quatro formalizações da mesma pergunta (“qual subespaço de dimensão \(M\) resume os dados sem perder o que importa?”), cada uma revelando algo que as outras não tornam explícito: a formulação algébrica dá um algoritmo direto (decomposição espectral); a PPCA dá uma história geradora, uma medida de incerteza (\(\sigma^2\)) e um caminho de generalização (misturas de PPCA, tratamento Bayesiano do próprio \(M\)); o autoencoder dá uma ponte natural para arquiteturas neurais mais ricas.

O que fica em aberto. Toda a aula assumiu, implicitamente, que a estrutura relevante dos dados é linear — um subespaço plano. Se os dados verdadeiros vivessem ao longo de uma variedade curva (um “S”, um arco, uma espiral), as quatro ferramentas desta aula concordariam entre si (todas resolvem o mesmo problema linear), mas nenhuma capturaria a estrutura real — a limitação não é de uma técnica específica, é da classe inteira de soluções lineares.

Retomando as quatro perguntas da Abertura, uma frase cada:

  1. O que é um espaço latente contínuo? No autoencoder linear, um sistema de coordenadas para um plano de dimensão \(M\) dentro do espaço dos dados; os dados determinam o plano, não os eixos (invariância por \(\mathbf{G}\)). O plano aprendido é o subespaço de PCA, provado por redução.
  2. O que significa “resumir sem perder o que importa”? Minimizar o erro médio de reconstrução — equivalentemente (por Pitágoras), maximizar a variância retida; ambas levam à decomposição espectral da covariância amostral, que também fornece eixos canônicos.
  3. Existe uma versão probabilística? Sim — a PPCA, um modelo gerador linear-Gaussiano de variável latente contínua, cujo MLE recupera a PCA clássica no limite \(\sigma^2\to0\).
  4. Qual a limitação em comum? Estrutura só linear — nenhuma das três ferramentas representa bem uma variedade curva.
DicaPonte para a Aula 7

A Aula 7 ataca exatamente essa limitação, trocando a arquitetura rasa do autoencoder linear por camadas adicionais de unidades não lineares (o Deep Autoencoder) — e, mais adiante, generalizando a PPCA desta aula ao Variational Autoencoder (VAE): a mesma variável latente \(\mathbf{z}\), agora relacionada a \(\mathbf{x}\) por uma rede neural não linear em vez de uma transformação linear \(\mathbf{W}\). Como a posterior \(p(\mathbf{z}\mid\mathbf{x})\) deixa de ter forma fechada nesse regime não linear (ao contrário da PPCA), o VAE precisa exatamente da ferramenta construída na Aula 5 — o ELBO, \(\mathcal{L}(q)=\ln p(\mathbf{x})-\mathrm{KL}(q\|p)\) — como critério de ajuste, com \(q\) aproximado por uma rede neural (o reparameterization trick), não mais calculável em forma fechada como no Passo E do GMM ou na posterior da PPCA.

Exercícios Soluções