Aula 5: Decomposição em Valores Singulares (SVD) e Aproximações de Baixo Posto

Álgebra Linear e Otimização para Aprendizado de Máquina

Prof. Marcos Medeiros Raimundo

2026-09-12

Revisão e Introdução

Revisão Rápida

Aula 4 respondeu tudo sobre autovalor/autovetor para \(A\) quadrada simétrica — três resultados que hoje reciclamos sem alterar nada.

1. \(A^TA\) sempre simétrica e PSD, qualquer \(A\) (mesmo retangular — é justamente aí que importa mais, já que \(A\) sozinha não tem autovalores). Simetria: \((A^TA)^T=A^T(A^T)^T=A^TA\). PSD: para qualquer \(\mathbf{x}\), \(\mathbf{x}^T(A^TA)\mathbf{x}=\|A\mathbf{x}\|^2\ge 0\) — é um comprimento ao quadrado, nunca negativo.

2. Teorema Espectral Real: toda simétrica \(A\in\mathbb{R}^{n\times n}\) (qualquer sinal de autovalor) tem \(n\) autovalores reais + base ortonormal completa de autovetores \(\Rightarrow A=Q\Lambda Q^T\), \(Q\) ortogonal, \(\Lambda\) diagonal.

Importante

A simetria é a hipótese que garante termos ortonormais. Caso geral (não simétrica): ainda pode ser diagonalizável, \(A=P\Lambda P^{-1}\), mas \(P\) não é ortogonal em geral, e \(\Lambda\) pode ter autovalores complexos. Como \(A^TA\) é sempre simétrica, a versão forte (ortogonal) se aplica sem exceção — garante que a decomposição do item 1 sempre existe.

3. Sinal \(\Rightarrow\) definitude: \(A\succ 0\iff\lambda_{\min}>0\); \(A\succeq 0\iff\lambda_{\min}\ge 0\). Razão \(\lambda_{\max}/\lambda_{\min}\Rightarrow\) número de condição exato (não estimativa) — fecha o que a Aula 3 só media empiricamente (perturbar dados, olhar o efeito no peso).

\(\text{cond}(X^TX)\approx 23\,460{,}5\) (4 atributos completos), \(\approx 419{,}8\) (quase-colinear), \(\approx 169{,}1\) (bem-condicionado).

Tudo construído em cima de \(X^TX\) (\(4\times 4\), simétrica) — nunca diretamente sobre \(X\) (\(16\,640\times 4\), retangular).

De \(X^TX\) Simétrica Para \(X\) Retangular

  • Autovalor/autovetor são indefinidos para matriz retangular.
  • \(A\mathbf{x}=\lambda\mathbf{x}\) exige \(A\mathbf{x}\) no mesmo espaço que \(\mathbf{x}\); se \(A\in\mathbb{R}^{m\times n}\), \(m\ne n\), os dois lados nem têm o mesmo tipo.
  • \(\det(A-\lambda I)\): mesmo problema — \(A-\lambda I\) só é definido para \(A\) quadrada.
  • Ideia central: reciclar o Teorema Espectral aplicado a \(X^TX\) e \(XX^T\) (ambas quadradas simétricas), e costurar os dois de volta numa decomposição de \(X\) — a SVD.

Roteiro da Aula

1. O que é a SVD e por que existe para qualquer matriz retangular?

2. Como construí-la a partir do Teorema Espectral (Aula 4)?

3. Como aproximar uma matriz por outra de posto menor, de forma ótima (Eckart-Young-Mirsky)?

4. O que é a Decomposição Polar, e como nasce da SVD?

Problema Motivador

Ali Beatrix Chandra
Guerra nas Estrelas 5.0 4.0 1.0
Blade Runner 5.0 5.0 0.0
Amélie Poulain 0.0 0.0 5.0
Delicatessen 1.0 0.0 4.0

Três espectadores (Ali, Beatrix, Chandra), quatro filmes — notas \(0\)\(5\) numa matriz \(A\in\mathbb{R}^{4\times 3}\) (tradução livre, MathML §4.5.1):

Suspeita: Ali/Beatrix compartilham um perfil (ficção científica), Chandra outro (cinema de arte). Existe uma forma de extrair esses “perfis”/“temas” direto da matriz de notas, sem rótulo de gênero algum?

Pergunta

De volta a \(X^TX\): o que muda (e o que não muda) para \(X\)

Dica: o que está definido para \(m\times n\), \(m\ne n\), e o que só existe porque a matriz é quadrada simétrica?

  • \(X\) quadrada mas não simétrica \(\Rightarrow\) Teorema Espectral ainda garantiria autovalores reais.
  • □ Matriz de notas de posto \(1\) (todos dão a mesma nota a tudo) \(\Rightarrow\) mais de um “perfil” (par de vetores singulares) não-nulo.
  • □ Camada de rede neural com \(W\in\mathbb{R}^{m\times n}\), \(m\ne n\): sem autovalores no sentido usual, mas com SVD.
  • \(X^TX\) sempre tem autovalores reais (Aula 4) \(\Rightarrow\) \(X\) também tem, só que secundários.

Resposta

De volta a \(X^TX\) — Resposta

  • ✗ Simetria é a hipótese do teorema, não uma consequência de ser quadrada — sem ela, autovalores podem ser complexos (Aula 4, Bloco 3).
  • ✗ Posto \(1\) \(\Rightarrow\)um valor singular não-nulo — um único “perfil” explica toda a matriz.
  • ✔ Mesma mecânica (\(W\) retangular, sem autovalores, com SVD), outro modelo de ML (camada linear de rede neural).
  • ✗ Confunde a entidade: autovalor é propriedade de \(X^TX\) (quadrada); \(X\) em si, se retangular, simplesmente não tem autovalores — não é “secundário”, é indefinido.

Voltando à pergunta: o Teorema Espectral só fala de \(X^TX\)/\(XX^T\) (sempre quadradas simétricas). Decompor \(X\) de verdade exige a SVD — os Blocos 2-3 constroem exatamente essa ponte.

Intuição Geométrica da SVD

Uma Matriz Qualquer Agindo sobre um Círculo

Matriz não-simétrica, de propósito: \(A=\begin{bmatrix}1{,}4&0{,}6\\0{,}3&0{,}9\end{bmatrix}\), \(A\ne A^T\).

Autovalores reais e distintos (como qualquer \(2\times 2\) com esse perfil) \(\Rightarrow\) duas direções que só esticam, nunca giram — mas sem garantia de ortogonalidade (Teorema Espectral não se aplica, \(A\) não é simétrica).

O Que a SVD Propõe Fazer Diferente

Esquerda: vetores singulares \(\mathbf{v}_1,\mathbf{v}_2\) (generalização orto-normal de autovetores) vs. autovetores de \(A\) (tracejado, \(\approx 106{,}9°\) entre si — não-ortogonais). Mesma matriz, dois conceitos diferentes: coincidem só quando \(A\) é simétrica.

Direita: círculo unitário \(\to\) elipse sob \(A\). Eixos da elipse \(=\sigma_1\mathbf{u}_1,\sigma_2\mathbf{u}_2\) (\(\sigma_1\approx1{,}675\ge\sigma_2\approx0{,}645\), sempre não-negativos, sempre ortogonais).

Intuição central: \(A\) leva uma base ortonormal do domínio (\(\mathbf{v}_i\)) em outra base ortogonal do codomínio (\(\sigma_i \mathbf{u}_i\)) — nada “gira torto”; só a base muda.

Pergunta

Autovetor e vetor singular: a mesma seta, dois papéis diferentes?

Dica: o que muda quando \(A\) é simétrica? Volte ao Teorema Espectral (Aula 4) se precisar.

  • \(A\) simétrica \(\Rightarrow\) vetores singulares e autovetores podem coincidir (a menos de sinal).
  • □ Todos os autovalores complexos \(\Rightarrow\) ainda assim existe SVD real bem definida.
  • □ Camada linear \(W\mathbf{x}\), \(W\) quadrada não-simétrica: vetores singulares e autovetores de \(W\) apontam, em geral, em direções diferentes.
  • □ Vetores singulares sempre ortogonais \(\Rightarrow\) imagem do círculo unitário sob qualquer \(A\) é sempre um círculo.

Resposta

Autovetor vs. vetor singular — Resposta

  • ✔ Bloco 3 prova exatamente isso: se \(A=A^T\), a SVD e a decomposição espectral coincidem.
  • ✔ A SVD (Teorema 4.22, MathML) existe para qualquer matriz real, autovalores complexos ou não — é o Bloco 3 que constrói isso.
  • ✔ Correto — o painel esquerdo mostrou exatamente esse fenômeno; a mesma mecânica se generaliza para qualquer \(W\) não-simétrica.
  • ✗ Confunde ortogonalidade entre os vetores singulares com a forma da imagem: os fatores de escala \(\sigma_i\) associados a eles é que determinam se a imagem é círculo (\(\sigma_1=\sigma_2\)) ou elipse (\(\sigma_1\ne\sigma_2\), como no painel direito).

Voltando à pergunta: são conceitos diferentes que só colapsam num caso especial (simetria). O Bloco 3 mostra exatamente essa costura, construindo a SVD a partir do Teorema Espectral.

Construção Formal da SVD a Partir do Teorema Espectral

Premissas: O Que Já Temos Disponível

Definição (Valor e Vetor Singular — prévia do Teorema 4.22)

\(\sigma\ge 0\) é valor singular de \(A\) se existem unitários \(\mathbf{v}\in\mathbb{R}^n\), \(\mathbf{u}\in\mathbb{R}^m\) com \(A\mathbf{v}=\sigma\mathbf{u}\). \(\mathbf{v}\) = vetor singular à direita, \(\mathbf{u}\) = à esquerda.

Compare com \(A\mathbf{x}=\lambda\mathbf{x}\) (Aula 4): lá é o mesmo vetor dos dois lados (\(A\) precisa ser quadrada); aqui \(\mathbf{v}\) e \(\mathbf{u}\) podem ser diferentes, em espaços diferentes — por isso existe pra qualquer \(A\).

Premissas Necessárias (já provadas na Aula 4)

  • \(A^TA\), \(AA^T\) sempre simétricas e semidefinidas positivas, qualquer \(A\) (mesmo retangular).
  • Teorema Espectral Real: matriz simétrica \(\Rightarrow\) base ortonormal de autovetores, autovalores reais; semidefinitude positiva \(\iff\lambda_i\ge 0\).

Parte 1: a partir das premissas em \(A^TA\) temos os autovetores \(\mathbf{v}_i\) (vetores singulares à direita) + autovalores \(\lambda_i\Rightarrow\sigma_i=\sqrt{\lambda_i}\). Já dá \(V\) e \(\Sigma\) inteiros, sem olhar pro codomínio.

Parte 2: para achar o codomínio \(\mathbb{R}^m\) vamos analisar a ação de \(A\) sobre os vetores singulares à direita. Aplicamos \(A\) a cada \(\mathbf{v}_i\) e examinamos o resultado: \(A\mathbf{v}_i\in\mathbb{R}^m\) — candidato a vetor singular à esquerda.

Passo 1: Vetores Singulares à Direita

Premissas 1+2 \(\Rightarrow\) \(A^TA=V\Lambda V^T\), \(V\) ortogonal, \(\Lambda=\text{diag}(\lambda_1,\dots,\lambda_n)\), \(\lambda_1\ge\dots\ge\lambda_n\ge 0\).

Ortonormalidade de \(\mathbf{v}_i\): não precisa provar de novo — já vem da Premissa 2 (Teorema Espectral, Aula 4). Só as duas partes, de forma simples:

Ortogonalidade: \(\lambda_i\ne\lambda_j\Rightarrow(\lambda_i-\lambda_j) \langle\mathbf{v}_i,\mathbf{v}_j\rangle=\langle A^TA\mathbf{v}_i, \mathbf{v}_j\rangle-\langle\mathbf{v}_i,A^TA\mathbf{v}_j\rangle=0 \Rightarrow\mathbf{v}_i\perp\mathbf{v}_j\) (repetidos: Gram-Schmidt dentro do autoespaço).

Norma unitária: autovetor é definido só a menos de escala — escolhemos sempre \(\mathbf{v}_i:=\mathbf{v}/\|\mathbf{v}\|\), norma \(1\). Normalização, não propriedade a provar.

Como \(\lambda_i\ge 0\) (semidefinitude positiva) \(\Rightarrow\) \(\sigma_i:=\sqrt{\lambda_i}\) sempre real.

Essencial: sem a Premissa 1 (PSD garantida), essa raiz poderia cair em números complexos.

\(\sigma_i\) = valor singular; \(\mathbf{v}_i\) (autovetor de \(A^TA\)) = vetor singular à direita.

Passo 2: Vetores Singulares à Esquerda

Meta: achar \(\mathbf{u}_1,\dots,\mathbf{u}_r\in\mathbb{R}^m\) ortonormais com \[ A\mathbf{v}_i=\sigma_i\mathbf{u}_i, \qquad i=1,\dots,r . \] Se acharmos, a 2ª metade da SVD está pronta.

Numa abordagem simples, podemos definir \(\mathbf{u}_i:=\dfrac{1}{\sigma_i}A\mathbf{v}_i\). Falta verificar: isso é mesmo ortonormal?

Verificação (i) — ortogonalidade das imagens (Premissa 2 de novo): para \(i\ne j\), \[ \mathbf{u}_i^T \mathbf{u}_j = \frac{1}{\sigma_i \sigma_j} (A\mathbf{v}_i)^T(A\mathbf{v}_j)=\frac{1}{\sigma_i \sigma_j} \mathbf{v}_i^T(A^TA)\mathbf{v}_j= \frac{\lambda_j}{\sigma_i \sigma_j}\mathbf{v}_i^T\mathbf{v}_j \] como \(\mathbf{v}_i\) e \(\mathbf{v}_j\) são ortogonais, então \(\mathbf{v}_i^\top \mathbf{v}_j=0\).

Verificação (ii) — norma: \(\|\mathbf{u}_i\|^2 = \frac{1}{\sigma_i^2} \|A\mathbf{v}_i\|^2 = \frac{1}{\sigma_i^2} \mathbf{v}_i^T A^T A \mathbf{v}_i = \frac{1}{\sigma_i^2} \lambda_i = \frac{\sigma_i^2}{\sigma_i^2} = 1\). Com isso temos que \(\mathbf{u}_i\) é unitário.

Chegamos: normalizar \(A\mathbf{v}_i\) pelo próprio comprimento \(\sigma_i\)\(\mathbf{u}_1,\dots,\mathbf{u}_r\) ortonormais, já satisfazendo a meta — vetores singulares à esquerda.

Passo 3: Equação de Valor Singular e Montagem

\(\mathbf{u}_i=\dfrac{1}{\sigma_i}A\mathbf{v}_i\Rightarrow\) equação de valor singular \(A\mathbf{v}_i=\sigma_i\mathbf{u}_i\). Diferença da equação de autovalor: \(\mathbf{v}_i\) (domínio) e \(\mathbf{u}_i\) (codomínio) não precisam ser o mesmo vetor.

Empilhando: \(AV=U\Sigma\); \(V\) ortogonal \(\Rightarrow V^{-1}=V^T\) \(\Rightarrow A=U\Sigma V^T\).

Teorema (SVD — MathML Teo. 4.22, tradução nossa)

\(A\in\mathbb{R}^{m\times n}\) posto \(r\) \(\Rightarrow\) \(A=U\Sigma V^T\), \(U\in\mathbb{R}^{m\times m}\)/\(V\in\mathbb{R}^{n\times n}\) ortogonais, \(\Sigma_{ii}=\sigma_i\ge 0\) (\(\sigma_1\ge\dots\ge\sigma_r>0\)), \(\Sigma_{ij}=0\). Existe para qualquer \(A\), quadrada ou não, simétrica ou não.

Diferença-chave da Aula 4: \(A=Q\Lambda Q^{-1}\) usa a mesma base nos dois lados (domínio = codomínio, \(A\) quadrada); SVD usa duas bases (\(U,V\)) porque domínio (\(\mathbb{R}^n\)) e codomínio (\(\mathbb{R}^m\)) podem ser espaços diferentes.

Exemplo

A =
 [[ 1.  0.  1.]
 [-2.  1.  0.]]

posto(A) = 2

valores singulares sigma = [2.4495 1.    ]

U (vetores singulares à esquerda, colunas) =
 [[-0.4472  0.8944]
 [ 0.8944  0.4472]]

V (vetores singulares à direita, colunas) =
 [[-0.9129 -0.     -0.4082]
 [ 0.3651  0.4472 -0.8165]
 [-0.1826  0.8944  0.4082]]

reconstrução U @ Sigma @ V^T =
 [[ 1. -0.  1.]
 [-2.  1.  0.]]

reconstrução bate com A?  True

Reconstrução \(U\Sigma V^T\) recupera \(A\) exatamente (erro \(<10^{-10}\)). Terceira coluna de \(V\) (\(\sigma_3=0\)) = base do espaço-nulo de \(A\) — a SVD generaliza o núcleo da Aula 2 para o caso retangular.

Aviso: vetor singular único só a menos de sinal (como autovetor, Aula 4) — sinais do numpy podem diferir de uma referência impressa sem estar errados; o que importa é o produto \(U\Sigma V^T\).

Pergunta

Se \(A^TA\) tivesse autovalor negativo, a construção quebraria onde?

Dica: releia a Premissa 1 e aponte o passo exato.

  • □ Quebraria no Passo 1: \(\sigma_i:=\sqrt{\lambda_i}\) deixa de ser real para \(\lambda_i<0\).
  • \(A\) quadrada invertível \(\Rightarrow\) valores singulares sempre iguais aos módulos dos autovalores de \(A\).
  • □ Matriz de covariância (sempre PSD): mesma garantia de raiz real dos autovalores.
  • \(A^TA\) sempre PSD (qualquer \(A\) real) \(\Rightarrow\) \(A\) quadrada também só tem autovalores não-negativos.

Resposta

Onde a construção quebraria — Resposta

  • ✔ Exatamente: sem a Premissa 1 (PSD garantida), \(\sqrt{\lambda_i}\) cairia em números complexos — a construção não teria nem por onde começar.
  • ✗ Falso em geral — só vale quando \(A\) é normal (comuta com \(A^T\)); uma matriz invertível qualquer, não-simétrica, tem valores singulares diferentes dos módulos de seus autovalores (o painel esquerdo do Bloco 2 já mostrou autovalor \(\approx1{,}642\) vs. valor singular \(\approx1{,}675\) — próximos, mas não iguais).
  • ✔ Mesma mecânica (raiz de autovalor PSD), aplicação já vista (Aula 4, Bloco 6 — covariância empírica).
  • ✗ Confunde a entidade: a garantia é sobre \(A^TA\) (sempre PSD), não sobre \(A\) propriamente dita — uma matriz \(A\) quadrada qualquer pode ter autovalores negativos ou complexos mesmo com \(A^TA\) PSD.

Voltando à pergunta: a Premissa 1 (PSD de \(A^TA\)) é a peça que sustenta a raiz quadrada real logo no primeiro passo — sem ela, a SVD simplesmente não existiria para matrizes reais. É por isso que o Teorema 4.22 pode afirmar, sem ressalva, que a SVD existe para qualquer matriz real.

A SVD do Dataset-Fio: \(X\) do California Housing

Voltando ao Problema Original

\(X\in\mathbb{R}^{16\,640\times 4}\) (California Housing, mesmas 4 colunas desde a Aula 1). \(m=16\,640\gg n=4\).

SVD completa desperdiçaria: \(16\,640-4\) colunas de \(U\) só completam a base do codomínio, todas com \(\sigma_i=0\). Usa-se a SVD reduzida (MathML p. 128): \(U\in\mathbb{R}^{16\,640\times4}\), \(\Sigma,V\in\mathbb{R}^{4\times4}\) — equivalente, sem as colunas nulas.

Os Valores Singulares de \(X\) e a Ponte com a Aula 4

sigma(X)      = [4186.9964  523.4408  229.4908   27.3359]
sigma(X)^2    = [1.75309388e+07 2.73990283e+05 5.26660328e+04 7.47253300e+02]
lambda(X^TX)  = [1.75309388e+07 2.73990283e+05 5.26660328e+04 7.47253300e+02]
cond(X)       = sigma_max/sigma_min       = 153.1682
cond(X^TX)    = lambda_max/lambda_min     = 23460.5031
cond(X)^2     = 23460.5031

\(\sigma^2\) é exatamente os autovalores de \(X^TX\) da Aula 4. Boyd (Aula 4) define \(\text{cond}\) de matriz retangular via \(\sigma\): \(\text{cond}(X)=\sigma_{\max}/\sigma_{\min}\approx153{,}168\). Compare com \(\text{cond}(X^TX)\approx23\,460{,}5\) (Aula 4).

Proposição: \(\text{cond}(X^TX)=\text{cond}(X)^2\)

\(\sigma_i(X)^2=\lambda_i(X^TX)\Rightarrow\lambda_{\max}/\lambda_{\min}= (\sigma_{\max}/\sigma_{\min})^2\Rightarrow\text{cond}(X^TX)= \text{cond}(X)^2\). Numericamente: \(153{,}168^2\approx23\,460{,}5\) — exato.

Pergunta

\(\sigma_{\min}(X)=0\): o que isso diria sobre as 4 colunas?

Dica: relacione posto, dependência linear (Aula 2) e \(\sigma_{\min}=0\).

  • \(\sigma_{\min}(X)=0\Rightarrow\) as 4 colunas de \(X\) são linearmente dependentes (Aula 2).
  • □ Todos os \(\sigma_i\) iguais \(\Rightarrow\text{cond}(X)=1\), mas isso não diria nada sobre \(\text{cond}(X^TX)\).
  • □ Matriz de embeddings (palavra \(\times\) dimensão latente): \(\sigma_i\approx0\Rightarrow\) dimensão quase redundante.
  • \(\sigma_i(X)^2=\lambda_i(X^TX)\) sempre \(\Rightarrow\) nunca mais precisa calcular SVD de \(X\) diretamente, em qualquer aplicação.

Resposta

\(\sigma_{\min}=0\) e dependência linear — Resposta

  • ✔ Exato: \(\sigma_{\min}=0\Rightarrow\lambda_{\min}(X^TX)=0 \Rightarrow X^TX\) singular \(\Rightarrow\) posto incompleto de \(X\) (Aula 2/3) \(\Rightarrow\) colunas dependentes.
  • ✗ A Proposição diz exatamente o contrário do que o item afirma: se todos os \(\sigma_i\) forem iguais, \(\text{cond}(X)=\sigma_{\max}/ \sigma_{\min}=1\), e daí \(\text{cond}(X^TX)=\text{cond}(X)^2=1\) também — longe de “não dizer nada”, o valor de \(\text{cond}(X^TX)\) fica completamente determinado.
  • ✔ Mesma mecânica (valor singular pequeno \(\Rightarrow\) direção quase redundante), outro cenário de ML (embeddings).
  • ✗ A identidade poupa uma conta (\(\sigma\) a partir de \(\lambda\) já calculado), mas a SVD carrega informação que \(X^TX\) sozinha não tem — os vetores \(\mathbf{u}_i\) (codomínio, dimensão \(16\,640\)), usados nos Blocos 5-6 para aproximação de baixo posto e decomposição polar.

Voltando à pergunta: sim — \(\sigma_{\min}=0\) é exatamente a mesma condição de posto incompleto já vista na Aula 2/3, só que vista pela lente dos valores singulares em vez do determinante ou da eliminação de Gauss.

Aproximação de Baixo Posto e o Teorema de Eckart-Young-Mirsky

Decompondo \(A\) em Pedaços de Posto 1

\(A=U\Sigma V^T=\sum_{i,j}\Sigma_{ij}\mathbf{u}_i\mathbf{v}_j^T\).

\(\Sigma\) diagonal \(\Rightarrow\)\(i=j\) sobrevive: \(A=\sum_{i}\sigma_i\mathbf{u}_i\mathbf{v}_i^T\). E \(\sigma_i=0\) pra \(i>r\), então a soma já para em \(r\): \[ A=\sum_{i=1}^r \sigma_i\mathbf{u}_i\mathbf{v}_i^T . \]

Cada termo é posto \(1\) — vale nomeá-lo, com o \(\sigma_i\) dentro: \[ A_i:=\sigma_i\mathbf{u}_i\mathbf{v}_i^T, \qquad A=\sum_{i=1}^r A_i . \]

Aproximação de posto-\(k\) (\(k<r\)): \(\hat{A}^{(k)}:= \sum_{i=1}^k A_i\) — a SVD truncada. \(\sigma_i\) decrescente \(\Rightarrow\) termos descartados são os que menos importam.

Medindo o Erro: Base Teórica

Primeiro vamos mostrar um fato geral (vale pra qualquer matriz \(M\)); depois (próxima seção) aplicar esse fato à matriz erro \(A-\hat{A}^{(k)}\), pra medir o erro de verdade. Isto aqui ainda não é sobre o erro — é a ferramenta.

Definição (Norma Espectral — MathML Def. 4.23)

\(\|A\|_2:=\max_{\mathbf{x}\ne\mathbf{0}}\|A\mathbf{x}\|_2/ \|\mathbf{x}\|_2\) — maior fator de esticamento sobre qualquer vetor.

Teorema (MathML Teo. 4.24)

\(\|A\|_2=\sigma_1\). (Prova deixada como exercício no MathML — abaixo, prova nossa via a base ortonormal \(\{\mathbf{v}_i\}\) de \(A^TA\), Passo 1.)

Prova. \(\|A\mathbf{x}\|_2^2=\mathbf{x}^T(A^TA)\mathbf{x}\). Escreva \(\mathbf{x}=\sum_i c_i\mathbf{v}_i\) na base ortonormal do Passo 1 (\(c_i=\langle\mathbf{x},\mathbf{v}_i\rangle\)): \(\mathbf{x}^T\mathbf{x}= \sum_i c_i^2\) e, usando \(A^TA\mathbf{v}_i=\lambda_i\mathbf{v}_i\), \(\mathbf{x}^T(A^TA)\mathbf{x}=\sum_i\lambda_i c_i^2\).

Importante

Majoração explícita: \(\lambda_i\le\lambda_1\) para todo \(i\) e \(c_i^2\ge 0\) \(\Rightarrow\) trocar cada \(\lambda_i\) por \(\lambda_1\) termo a termo só pode aumentar a soma: \[ \sum_i\lambda_i c_i^2 \le \lambda_1\sum_i c_i^2 = \sigma_1^2\,\mathbf{x}^T\mathbf{x}. \] Não é uma afirmação solta — é essa troca, válida porque nenhum \(c_i^2<0\).

Logo \(\mathbf{x}^T(A^TA)\mathbf{x}/\mathbf{x}^T\mathbf{x}\le\sigma_1^2\), igualdade sse só \(c_1\ne 0\) (em particular \(\mathbf{x}=\mathbf{v}_1\)). Raiz quadrada: \(\|A\mathbf{x}\|_2/\|\mathbf{x}\|_2\le\sigma_1\), igualdade atingida \(\Rightarrow\|A\|_2=\sigma_1\). \(\blacksquare\)

O Teorema de Eckart-Young-Mirsky

Teorema (Eckart-Young-Mirsky — MathML Teo. 4.25)

\(A\) posto \(r\); \(B\) posto \(k\le r\) qualquer. \(\hat{A}^{(k)}= \sum_{i=1}^k\sigma_i\mathbf{u}_i\mathbf{v}_i^T\Rightarrow\hat{A}^{(k)}= \operatorname*{argmin}_{\text{posto}(B)=k}\|A-B\|_2\), e \(\|A-\hat{A}^{(k)}\|_2=\sigma_{k+1}\).

Entre todas as matrizes de posto \(\le k\) (não só truncamentos da SVD), \(\hat{A}^{(k)}\) é a mais próxima de \(A\) — e o erro é exatamente \(\sigma_{k+1}\): propriedade intrínseca de \(A\), não do método de aproximação.

Prova, duas metades independentes: (i) \(\hat{A}^{(k)}\) atinge erro \(\sigma_{k+1}\); (ii) ninguém faz melhor. (i) é curta, abaixo — (ii) é uma prova por contradição, mais longa (6 passos); fica só nas notas de aula (link no rodapé), sem tempo para cobrir hoje nos slides.

Parte (i). Por construção, \(A-\hat{A}^{(k)}=\sum_{i=k+1}^r\sigma_i\mathbf{u}_i\mathbf{v}_i^T\) — essa soma já é a SVD de \(E:=A-\hat{A}^{(k)}\) (mesmos \(\mathbf u_i\), \(\mathbf v_i\) ortonormais, coeficientes decrescentes), com maior valor singular \(\sigma_{k+1}\).

Pelo Teorema 4.24 (norma espectral \(=\) maior valor singular), aplicado a \(E\): \(\|A-\hat{A}^{(k)}\|_2=\|E\|_2=\sigma_{k+1}\) — a mesma ferramenta do slide anterior, agora aplicada ao erro.

Aplicando a \(X\): Quanto Se Perde ao Truncar

Verificação numérica de Eckart-Young-Mirsky em \(X\) (California Housing), \(k=1,2,3\) (posto completo \(=4\)).

  k    ||X - X_k||_2    sigma_{k+1}    erro relativo (Frobenius)
  1       523.440811     523.440811                     13.5401%
  2       229.490812     229.490812                      5.4690%
  3        27.335935      27.335935                      0.6469%

Erro \(\|X-\hat{X}^{(k)}\|_2\) bate com \(\sigma_{k+1}\) até a \(6^a\) casa decimal — confirma Teorema 4.25 na prática. Erro relativo Frobenius: \(\approx13{,}5\%\) (\(k=1\)) \(\to\approx0{,}6\%\) (\(k=3\)) — \(1^o\) valor singular (\(\approx4\,187\)) domina.

Retomando o Problema: Filtragem Colaborativa

MathML Exemplo 4.15 (retomando 4.14): \(\mathbf{u}_i=\) “filme estereotípico” (perfil de tema); \(\mathbf{v}_i=\) “espectador estereotípico” (perfil de gosto). Suposição: notas = combinação linear desses perfis.

valores singulares: sigma = [9.6438 6.3639 0.7056]
erro espectral k=1: 6.3639 (sigma_2 = 6.3639)
erro espectral k=2: 0.7056 (sigma_3 = 0.7056)

Posto \(1\): acerta Ali/Beatrix (ficção científica, \(>4\)), erra feio Chandra em Amélie/Delicatessen (\(\approx0{,}2\) vs. \(4\)/\(5\) reais) — só “entende” um perfil.

Posto \(2\): recupera quase tudo, incluindo Chandra. Erro espectral: \(\sigma_2\approx6{,}364\to\sigma_3\approx0{,}706\) — exatamente o que Eckart-Young-Mirsky prevê. \(\text{posto}(A)=3\Rightarrow\) posto \(3\) recupera \(A\) exato.

Filtragem colaborativa real: matrizes de milhões de usuários \(\times\) itens, majoritariamente vazias — mesma ideia de baixo posto (adaptada para entradas faltantes, fora do escopo) sustenta o completamento de matrizes em sistemas de recomendação.

Pergunta

Um perfil de gosto totalmente novo, fora dos \(k\) perfis capturados

Dica: o que \(\hat{A}^{(2)}\) pode e não pode representar, pela própria definição?

  • □ Espectador com perfil genuinamente novo (fora do espaço gerado pelos \(2\) perfis) \(\Rightarrow\) notas mal previstas por \(\hat{A}^{(2)}\), mesmo com dados históricos abundantes.
  • \(k=2\to k=3\) (posto completo) sempre reduz o erro espectral, nunca aumenta.
  • □ Embeddings de documentos: mesma lógica — assunto fora dos \(k\) tópicos latentes tem representação empobrecida.
  • □ Aproximação de posto-\(k\) é a melhor possível (Eckart-Young) \(\Rightarrow\) \(\sigma_{k+1}\) pode ser reduzido trocando de método, para o mesmo \(k\).

Resposta

Perfil novo fora do posto-\(k\) — Resposta

  • ✔ Exatamente a limitação estrutural: \(\hat{A}^{(k)}\) só representa combinações lineares dos \(k\) perfis já presentes nos dados usados para computá-la — um perfil ortogonal a todos eles fica fora do alcance, dados históricos ou não.
  • \(\sigma_i\ge 0\) sempre, e \(\hat{A}^{(k+1)}=\hat{A}^{(k)}+ \sigma_{k+1}\mathbf{u}_{k+1}\mathbf{v}_{k+1}^T\) só adiciona informação — o erro é monótono não-crescente em \(k\).
  • ✔ Mesma mecânica (perfis/tópicos latentes truncados), outro cenário de ML (embeddings de texto/tópicos latentes).
  • ✗ O Teorema de Eckart-Young-Mirsky é exatamente a garantia contrária: \(\hat{A}^{(k)}\) já é o mínimo global entre todas as matrizes de posto \(k\) — nenhum método alternativo pode fazer melhor para o mesmo \(k\).

Voltando à pergunta: a aproximação de baixo posto é ótima dentro do que os dados de treino permitem capturar — ela não inventa informação sobre um perfil nunca visto. É a mesma cautela que qualquer modelo estatístico exige em relação a dados fora da distribuição de treino.

Decomposição Polar

Rearranjando os Três Fatores da SVD

Proposição (Decomposição Polar)

\(Q\) ortogonal, \(S\) simétrica semidefinida positiva, \(A=QS\).

\(A=U\Sigma V^T=(UV^T)(V\Sigma V^T)=:QS\), com \(Q:=UV^T\), \(S:=V\Sigma V^T\).

\(Q\) ortogonal: \(Q^TQ=VU^TUV^T=VIV^T=VV^T=I\) (usa \(U^TU=I\) e \(VV^T=I\)).

\(S\) simétrica PSD: \(S^T=V\Sigma^TV^T=V\Sigma V^T=S\) (\(\Sigma\) diagonal); \(\mathbf{x}^TS\mathbf{x}=\sum_i\sigma_iz_i^2\ge0\) com \(\mathbf{z}=V^T\mathbf{x}\). \(\blacksquare\)

\(S=V\Sigma V^T\) é a decomposição espectral de \(S\) (Aula 4): autovalores de \(S\) = valores singulares de \(A\); autovetores de \(S\) = vetores singulares à direita de \(A\).

Módulo e Fase, Generalizados

Analogia: \(z=re^{i\theta}\) (número complexo) \(\leftrightarrow A=QS\) (matriz). \(S\) = “módulo” (estica/encolhe ao longo de direções ortogonais, nunca gira — simétrica, Teorema Espectral). \(Q\) = “fase” (só gira/reflete, preserva norma — ortogonal, Aula 1).

Verificação Geométrica: Estica, Depois Gira

Q = 
 [[ 0.9916  0.1293]
 [-0.1293  0.9916]]
det(Q) = 1.0 (1 = rotação pura, -1 = reflexão)
S =
 [[1.3494 0.4786]
 [0.4786 0.97  ]]
autovalores de S (= valores singulares de A): [0.645  1.6745]
Q @ S == A? True

\(\det(Q)\approx1\) (rotação pura, \(\approx7{,}4°\)); autovalores de \(S=[0{,}645;\,1{,}675]=\) valores singulares de \(A\) (Bloco 2); \(QS=A\) (erro de ponto flutuante).

Painel do meio: \(S\) sozinha — formato final, mas ainda alinhada a \(\mathbf{v}_1,\mathbf{v}_2\). Painel direito: \(Q\) gira como corpo rígido até a posição final (idêntica ao Bloco 2).

Fechamento e Ponte para a Aula 6

Retomando as Perguntas de Abertura

1. SVD: \(A=U\Sigma V^T\) (\(U,V\) ortogonais, \(\Sigma\) diagonal \(\ge0\)); existe sempre porque \(A^TA\) é sempre PSD (Aula 4) \(\Rightarrow\) raízes quadradas reais garantidas.

2. Construção: autovetores de \(A^TA\) = \(V\); imagens normalizadas sob \(A\) = \(U\); ortogonalidade de ambos vem da relação de autovalor de \(A^TA\).

3. Aproximação ótima: truncar \(A=\sum\sigma_i\mathbf{u}_i\mathbf{v}_i^T\) em \(k\) termos — Eckart-Young-Mirsky garante mínimo global, erro \(=\sigma_{k+1}\).

4. Decomposição Polar: \(A=QS\) (\(Q\) ortogonal, \(S\) simétrica PSD) — generalização matricial de módulo \(\times\) fase.

Ponte para a Aula 6

SVD decompõe uma matriz estática — não diz como achar parâmetros que minimizam uma perda. E as Equações Normais (Aula 3) já usaram, sem nunca definir, a ideia de “perda parar de diminuir”.

Falta um objeto formal para isso: a derivada em várias variáveis — gradiente e Jacobiano. Abre a Parte 2 do curso: Cálculo da Otimização Diferenciável, Aula 6.

Exercícios Soluções