N = 16640
correlação(MedInc, MedHouseVal) = 0.672
Aula 5 — Por Que Mínimos Quadrados É Máxima Verossimilhança Sob Ruído Gaussiano
2026-09-07
A Revisão 1 revisou 4 aulas: sempre a mesma estrutura — distribuição \(\to\) verossimilhança \(\to\) decisão.
Mas nenhuma das quatro verossimilhanças foi sobre um alvo contínuo ligado linearmente aos atributos. Sempre densidade 1D, fatoração, ou proporção categórica.
Hoje: Regressão Linear — o modelo mais simples que existe geometricamente (ajustar uma reta). Mas por trás, a mesma estrutura de sempre — e desta vez vamos provar a conexão, não só apontá-la.
1. O que é “a melhor reta” geometricamente — e por que elevar o erro ao quadrado?
2. Como escrever isso em notação matricial, com solução fechada exata?
3. O que muda ao assumir uma história probabilística completa — ruído gaussiano — e construir sua verossimilhança?
4. Por que maximizar essa verossimilhança é minimizar soma de quadrados — o que isso revela para o resto do curso?
MedInc, HouseAge como atributos de árvore).MedInc (renda mediana, US$10 mil) prevendo MedHouseVal (preço mediano, US$100 mil) — um alvo contínuo, não mais uma classe.\(N=16\,640\) regiões. Qual é a melhor reta pela nuvem de pontos — e o que “melhor” quer dizer?
N = 16640
correlação(MedInc, MedHouseVal) = 0.672
Se eu te desse duas retas diferentes, ambas passando “no meio” da nuvem de pontos, como você decidiria qual é “melhor” sem fazer nenhuma conta?
Dica
Voltando à pergunta: “melhor” não pode ser só “passa perto da média” — precisa penalizar desvios de um jeito que distinga retas boas de ruins. É isso que a soma de quadrados resolve, e é para lá que vamos agora.
Solução clássica: minimizar \(\sum_i e_i^2\), não \(\sum_i e_i\).
Por quê o quadrado? (1) elimina o cancelamento — todo termo \(\ge 0\); (2) diferenciável (contrário do valor absoluto, que tem um “bico” em zero); (3) penaliza desvios grandes desproporcionalmente mais.
\[ X = \begin{pmatrix} 1 & x_{11} & \cdots & x_{1p} \\ 1 & x_{21} & \cdots & x_{2p} \\ \vdots & \vdots & \ddots & \vdots \\ 1 & x_{N1} & \cdots & x_{Np} \end{pmatrix} \]
A coluna de \(1\)’s multiplica \(\beta_0\) em \(X\beta\) — o intercepto vira parte do mesmo produto matricial, sem precisar somá-lo à parte.
\[\text{RSS}(\beta) = \sum_{i=1}^N(y_i-f(x_i))^2 = \lVert y-X\beta\rVert^2\]
ESL, §3.2: “o método de estimação mais popular é mínimos quadrados, no qual escolhemos \(\beta\) para minimizar a soma residual de quadrados.”
\(\text{RSS}(\beta)\) é quadrática (convexa) em \(\beta\): \(\dfrac{\partial\text{RSS}}{\partial\beta}=-2X^T(y-X\beta)\).
Assumindo \(X\) com posto de coluna completo (\(X^TX\) positiva definida), igualamos a zero: \(X^T(y-X\beta)=0\).
Solução única: \(\hat\beta=(X^TX)^{-1}X^Ty\) — as equações normais (ESL, p. 45; PRML chega ao mesmo resultado via gradiente da log-verossimilhança, Bloco 3).
Ajuste com os \(8\) atributos do California Housing: \(R^2\approx0{,}584\) vs. \(R^2\approx0{,}451\) só com MedInc. Mais atributos, mais variação explicada — mesma equação.
PRML: “a solução de mínimos quadrados para \(w\) corresponde à escolha de \(y\) que está no subespaço \(\mathcal S\) mais próxima de \(t\) […] a projeção ortogonal de \(t\) sobre \(\mathcal S\).”
ESL: “\(y\) é projetado ortogonalmente sobre o hiperplano gerado pelos vetores de entrada […] \(\hat y\) é a projeção ortogonal de \(y\) sobre esse subespaço.”
\(\lVert y-\hat y\rVert=\sqrt{\text{RSS}}\): a distância entre o ponto observado e o subespaço — minimizada exatamente pela equação normal.
beta_hat (equações normais) = (0.4707, 0.4076)
RSS = 11710.64
R^2 = 0.451
Guardar: \(\hat\beta=(0{,}4707,0{,}4076)\) e \(\text{RSS}\approx11\,710{,}64\) — vão reaparecer intactos no Bloco 3, vindos de máxima verossimilhança.
Geometricamente, por que o vetor de resíduos \(y-\hat y\) ser ortogonal ao subespaço gerado pelas colunas de \(X\) é exatamente a condição que caracteriza a MELHOR aproximação, e não uma coincidência do cálculo?
Dica
Voltando à pergunta: não é coincidência — mover \(\hat y\) para qualquer outro ponto de \(\mathcal S\) só pode aumentar \(\lVert y-\hat y\rVert\) (Pitágoras: qualquer componente de deslocamento dentro de \(\mathcal S\) soma um termo positivo à distância). Ortogonalidade é a única forma de \(\hat y\) não deixar “sobra” evitável dentro do subespaço.
Falta estender de “ortogonal às colunas” para “ortogonal a todo \(\mathcal S\)”. Qualquer \(v\in\mathcal S\): \(v=\sum_j c_j\varphi_j\).
\[r^Tv=\sum_j c_j\,(r^T\varphi_j)=\sum_j c_j\cdot0=0\]
Vale para qualquer \(c\) — \(r\) é ortogonal a todo vetor de \(\mathcal S\), não só às colunas. É isso, e não coincidência, que faz de \(\hat y\) a projeção ortogonal.
PRML: “assumimos que a variável-alvo \(t\) é dada por uma função determinística \(y(\mathbf x,\mathbf w)\) com ruído gaussiano aditivo […] \(p(t\mid\mathbf x,\mathbf w,\beta)=\mathcal N(t\mid y(\mathbf x,\mathbf w),\beta^{-1})\).”
Esse \(\beta\) do PRML é precisão (variância inversa), não os coeficientes. Daqui pra frente usamos \(\sigma^2\) no lugar dele — \(\beta\) fica reservado só para os coeficientes da reta.
1. Linearidade condicional: \(\mathbb E[Y\mid X=x]=\beta^Tx\).
2. Ruído gaussiano aditivo: \(Y=\beta^TX+\epsilon\), \(\epsilon\sim\mathcal N(0,\sigma^2)\).
3. Homocedasticidade: \(\sigma^2\) constante, não muda com \(x\).
4. Independência entre observações.
Juntas: \(Y\mid X=x\sim\mathcal N(\beta^Tx,\sigma^2)\).
Independência \(\Rightarrow\) densidade conjunta \(=\) produto das individuais (PRML, p. 141): “obtemos […] \(p(\mathbf t\mid X,\mathbf w,\beta)=\prod_{n=1}^N\mathcal N(t_n\mid\mathbf w^T\boldsymbol\phi(\mathbf x_n),\beta^{-1})\).”
\[L(\beta,\sigma^2)=\prod_{i=1}^N \frac{1}{\sqrt{2\pi\sigma^2}}\exp\left\{-\frac{(y_i-\beta^Tx_i)^2}{2\sigma^2}\right\}\]
Log é crescente \(\Rightarrow\) mesmo ponto de máximo, soma em vez de produto:
\[\ell(\beta,\sigma^2) = -\frac N2\ln(2\pi) - N\ln\sigma - \frac{1}{2\sigma^2}\underbrace{\sum_{i=1}^N(y_i-\beta^Tx_i)^2}_{=\ \text{RSS}(\beta),\ \text{Bloco 1}}\]
A mesma quantidade do Bloco 1, chegando por um caminho totalmente diferente — não é acidente. É o que provamos a seguir.
As quatro “corcovas” têm a mesma largura (\(\hat\sigma=0{,}8389\) em toda parte) — isso é a homocedasticidade, desenhada.
Se a variância do ruído crescesse conforme a renda mediana aumenta — imóveis mais caros têm preços mais “espalhados” — o que exatamente, na construção da verossimilhança de hoje, deixaria de valer?
Dica
Voltando à pergunta: o símbolo que ganharia um índice \(n\) é justamente \(\sigma^2\) — de \(\sigma^2\) (uma constante) para \(\sigma^2(x_n)\) (uma função de \(x\)). A fatoração em produto sobrevive; a forma de cada fator, não.
\[\ell(\beta,\sigma^2) = \underbrace{-\frac N2\ln(2\pi) - N\ln\sigma}_{\text{não depende de }\beta} - \frac{1}{2\sigma^2}\text{RSS}(\beta)\]
PRML: “a maximização da função de verossimilhança sob ruído gaussiano condicional é equivalente a minimizar uma função de erro de soma de quadrados.”
\(\frac{1}{2\sigma^2}>0\) constante \(\Rightarrow\) maximizar \(-c\cdot\text{RSS}(\beta)\) (\(c>0\)) \(\equiv\) minimizar \(\text{RSS}(\beta)\).
Logo, \[\hat\beta_{\text{MLE}} = \arg\max_\beta \ell(\beta,\sigma^2) = \arg\min_\beta \text{RSS}(\beta) = \hat\beta_{\text{OLS}}\]
Mesmo tipo de identidade já visto na Aula 3 (folha gaussiana: \(\ell_\tau\to\) minimizar \(Q_\tau\)) — aqui para o modelo linear completo. PRML chega à mesma equação normal via gradiente de \(\ell\), não de RSS.
Derivando \(\ell\) em \(\sigma\) com \(\hat\beta\) fixo: \(-\dfrac N\sigma+\dfrac{\text{RSS}(\hat\beta)}{\sigma^3}=0 \ \Rightarrow\ \hat\sigma^2_{\text{MLE}}=\dfrac{\text{RSS}(\hat\beta)}{N}\).
def neg_log_verossimilhanca(params, x, y):
b0, b1, log_sigma = params
sigma = np.exp(log_sigma) # reparametriza p/ garantir sigma > 0
pred = b0 + b1 * x
n = len(y)
ll = (-n/2*np.log(2*np.pi) - n*np.log(sigma)
- np.sum((y - pred)**2) / (2*sigma**2))
return -ll
resultado = optimize.minimize(
neg_log_verossimilhanca, x0=[0.0, 0.0, 0.0], args=(x, y),
method="Nelder-Mead",
options={"xatol": 1e-10, "fatol": 1e-10, "maxiter": 40000, "maxfev": 40000},
)
b0_opt, b1_opt, log_sigma_opt = resultado.x
sigma_opt = np.exp(log_sigma_opt)
print(f"beta OLS (forma fechada) = ({beta_hat[0]:.8f}, {beta_hat[1]:.8f}), sigma = {sigma_mle:.8f}")
print(f"beta MLE (busca numérica) = ({b0_opt:.8f}, {b1_opt:.8f}), sigma = {sigma_opt:.8f}")
print(f"diferença máxima entre os dois caminhos: {max(abs(b0_opt-beta_hat[0]), abs(b1_opt-beta_hat[1]), abs(sigma_opt-sigma_mle)):.2e}")beta OLS (forma fechada) = (0.47068209, 0.40756945), sigma = 0.83890652
beta MLE (busca numérica) = (0.47068210, 0.40756945), sigma = 0.83890653
diferença máxima entre os dois caminhos: 1.80e-08
scipy.optimize.minimize (Nelder-Mead, sem gradiente, sem fórmula fechada) parte de \(\beta_0=\beta_1=0,\sigma=1\).Encontra \(\hat\beta=(0{,}47068210,\,0{,}40756945)\), \(\hat\sigma=0{,}83890653\) — idêntico à forma fechada até a \(8^a\) casa decimal.
Diferença \(\approx1{,}8\times10^{-8}\): ruído numérico do otimizador, não erro sistemático. A prova algébrica não precisava disso — mas a confirmação mostra que os dois caminhos (álgebra linear e busca cega) levam ao mesmo ponto.
Grade \(150\times150\) em \((\beta_0,\beta_1)\), \(\sigma\) fixo no MLE: um único pico, exatamente onde a forma fechada e a busca numérica já haviam apontado.
\(\ell\) é RSS com sinal trocado e escalado \(\Rightarrow\) superfície é uma parabolóide invertida — sem máximos locais escondidos. Propriedade que otimização mais geral (redes neurais) não tem.
A busca numérica encontrou exatamente o mesmo \(\hat\beta\) que a fórmula fechada, a menos de \(10^{-8}\). Isso prova que maximizar a log-verossimilhança SEMPRE encontra o mínimo de RSS, para qualquer distribuição de ruído — ou é uma coincidência do caso gaussiano?
Dica
Voltando à pergunta: é uma propriedade do caso gaussiano especificamente — a prova do Bloco 3 usou a forma exponencial-quadrática da densidade gaussiana em um passo específico (isolar o termo em \(\beta\)). Outra distribuição de ruído produziria outra função de erro a minimizar, pela mesma lógica geral, mas não a mesma soma de quadrados.
Achado real 1 — censura: MedHouseVal truncado em \(5{,}00001\) — \(747/16\,640\) (\(4{,}49\%\)) no teto. Empurra \(\hat\beta_1\) para baixo do valor sem censura.
Achado real 2 — heterocedasticidade real: variância dos resíduos \(0{,}486\to0{,}653\to0{,}849\to0{,}825\) do 1º ao 4º quartil de renda — quase dobra.
Não torna o modelo inútil (\(\hat\beta_{\text{OLS}}\) segue não-viesado, Gauss-Markov), mas enfraquece a interpretação de “um único \(\hat\sigma\)” e a inferência exata (ICs, testes).
A receita de hoje — distribuição \(\to\) verossimilhança \(\to\) erro revelado pela maximização — não é exclusiva da gaussiana.
Aula 7: troca Gaussiana por Bernoulli (alvo binário). Mesma receita \(\Rightarrow\) entropia cruzada no lugar de soma de quadrados — o erro por trás da Regressão Logística.
censura: 747/16640 = 0.0449
quartil 1: renda média=1.92, var(resíduo)=0.486
quartil 2: renda média=2.99, var(resíduo)=0.653
quartil 3: renda média=4.00, var(resíduo)=0.849
quartil 4: renda média=6.28, var(resíduo)=0.825
Próximas aulas: Aula 7 (Bernoulli \(\to\) entropia cruzada), Aula 8 (penalidade \(=\) priori, MAP), Aula 9 (decomposição viés-variância).
UNICAMP — Instituto de Computação