Prob-07 — Estimation: MLE & MAP

Este módulo responde la pregunta de fondo: ¿de dónde salen las loss functions? La respuesta es maximum likelihood: casi todos los modelos de ML se derivan como "elige los parámetros que hacen los datos más probables". El error cuadrático sale de MLE con ruido gaussiano; la cross-entropy sale de MLE con etiquetas Bernoulli/Categorical. MAP añade un prior y produce la regularización. Aquí probabilidad y cálculo se unen para fabricar modelos.

Why this matters for ML

Este módulo responde la pregunta de fondo: ¿de dónde salen las loss functions? La respuesta es maximum likelihood: casi todos los modelos de ML se derivan como "elige los parámetros que hacen los datos más probables". El error cuadrático sale de MLE con ruido gaussiano; la cross-entropy sale de MLE con etiquetas Bernoulli/Categorical. MAP añade un prior y produce la regularización. Aquí probabilidad y cálculo se unen para fabricar modelos.

Concepts covered

  • Likelihood y log-likelihood
  • Maximum Likelihood Estimation (MLE)
  • MLE → error cuadrático (ruido gaussiano) y → cross-entropy (Bernoulli)
  • Maximum A Posteriori (MAP) y priors
  • MAP → regularización (L2/L1)

Intuition first

🎬 StatQuest "Maximum Likelihood, clearly explained". MML 8.3; Goodfellow cap. 5.5. Idea: entre todos los parámetros posibles, elige el que mejor explica los datos observados.

Theory & key results

Likelihood: dados datos D={x1,,xn}\mathcal{D}={x_1,\dots,x_n} y un modelo con parámetro θ\theta, la likelihood es L(θ)=p(Dθ)L(\theta)=p(\mathcal{D}\mid\theta). Si los datos son i.i.d., L(θ)=i=1np(xiθ).L(\theta)=\prod_{i=1}^n p(x_i\mid\theta).

Log-likelihood: como productos son incómodos (y numéricamente inestables), tomamos log (Calc-00: productos→sumas): (θ)=logL(θ)=i=1nlogp(xiθ).\ell(\theta)=\log L(\theta)=\sum_{i=1}^n \log p(x_i\mid\theta). El log\log es monótono, así que maximiza en el mismo θ\theta.

MLE: θ^MLE=argmaxθ(θ)\hat\theta_{\text{MLE}}=\arg\max_\theta \ell(\theta). Se resuelve con cálculo: θ=0\nabla_\theta\ell=0 (Calc-05/10). Minimizar la negative log-likelihood (NLL) es lo mismo que maximizar \ell → por eso las losses son NLLs.

Dos derivaciones estelares:

  1. Ruido gaussiano ⇒ error cuadrático. Si yi=fθ(xi)+εiy_i=f_\theta(x_i)+\varepsilon_i con εiN(0,σ2)\varepsilon_i\sim\mathcal{N}(0,\sigma^2), entonces (θ)=const12σ2i(yifθ(xi))2.\ell(\theta)=\text{const}-\frac{1}{2\sigma^2}\sum_i (y_i-f_\theta(x_i))^2. Maximizar \ell = minimizar la suma de errores cuadráticos. ¡La MSE loss es MLE gaussiano!
  2. Etiquetas Bernoulli ⇒ cross-entropy. Si yi{0,1}y_i\in{0,1} con p(yi=1)=p^ip(y_i=1)=\hat p_i, la NLL es =i[yilogp^i+(1yi)log(1p^i)],-\ell=-\sum_i\big[y_i\log\hat p_i+(1-y_i)\log(1-\hat p_i)\big], que es exactamente la binary cross-entropy loss de logistic regression.

MAP: en vez de solo la likelihood, incluye un prior p(θ)p(\theta) (Bayes, Prob-02): θ^MAP=argmaxθ[logp(Dθ)+logp(θ)].\hat\theta_{\text{MAP}}=\arg\max_\theta\big[\log p(\mathcal{D}\mid\theta)+\log p(\theta)\big]. El término del prior actúa como regularización:

  • Prior gaussiano sobre θ\theta ⇒ penalización L2 (ridge / weight decay).
  • Prior Laplace ⇒ penalización L1 (lasso, sparsity).

Así, "regularizar para no sobreajustar" = "tener una creencia previa de que los pesos son pequeños". MLE es MAP con prior uniforme.

Worked example (MLE de una moneda)

Observas nn lanzamientos con kk caras (Bernoulli). Likelihood L(p)=pk(1p)nkL(p)=p^k(1-p)^{n-k}. Log-likelihood (p)=klogp+(nk)log(1p)\ell(p)=k\log p+(n-k)\log(1-p). Deriva e iguala a 0: (p)=kpnk1p=0  p^MLE=kn.\ell'(p)=\frac{k}{p}-\frac{n-k}{1-p}=0\ \Rightarrow\ \hat p_{\text{MLE}}=\frac{k}{n}. El estimador MLE es simplemente la frecuencia observada — reconfortantemente sensato. Con MAP y prior Beta obtendrías k+αn+α+β\frac{k+\alpha}{n+\alpha+\beta} (suavizado tipo Laplace).

Notebook exercises (by hand)

  1. Deriva p^MLE=k/n\hat p_{\text{MLE}}=k/n para la moneda (arriba) mostrando todos los pasos.
  2. Deriva el MLE de μ\mu para datos xiN(μ,σ2)x_i\sim\mathcal{N}(\mu,\sigma^2) (resultado: la media muestral).
  3. Muestra que maximizar la log-likelihood gaussiana equivale a minimizar la MSE.
  4. Escribe la NLL de logistic regression y confirma que es la binary cross-entropy.
  5. Con un prior gaussiano θN(0,τ2)\theta\sim\mathcal{N}(0,\tau^2), muestra que el término del prior en MAP es 12τ2θ2-\frac{1}{2\tau^2}|\theta|^2 (regularización L2).
  6. Explica en una frase por qué "log" hace la MLE tratable.

Python lab

import numpy as np
from scipy.optimize import minimize_scalar

# MLE de una moneda: n=100, k=63
n, k = 100, 63
neg_ll = lambda p: -(k*np.log(p) + (n-k)*np.log(1-p))
res = minimize_scalar(neg_ll, bounds=(1e-6, 1-1e-6), method="bounded")
print("MLE numérico:", res.x, " analítico k/n:", k/n)    # coinciden ~0.63

# MLE de la media gaussiana = media muestral
data = np.random.normal(5, 2, 10_000)
print("MLE mu:", data.mean())                             # ~5

# MSE == NLL gaussiana (salvo constantes): compara argmin
x = np.linspace(0, 10, 200)[:, None]
y = 3*x.ravel() + np.random.normal(0, 1, 200)
mse = lambda w: np.mean((w*x.ravel() - y)**2)
ws = np.linspace(0, 6, 1000)
print("w que minimiza MSE:", ws[np.argmin([mse(w) for w in ws])])  # ~3

Examen final 📝

Intenta cada nivel antes de abrir las soluciones.

🟡 Medio

  1. Observas 7 caras en 10 lanzamientos. ¿Cuál es la MLE de pp?
  2. Escribe la log-likelihood de nn observaciones i.i.d. N(μ,σ2)\mathcal{N}(\mu,\sigma^2) con σ\sigma conocido.

🟠 Medio-difícil

  1. Deriva la MLE de μ\mu para datos N(μ,σ2)\mathcal{N}(\mu,\sigma^2) (resultado: media muestral) resolviendo /μ=0\partial\ell/\partial\mu=0.
  2. Deriva la MLE de σ2\sigma^2 para datos gaussianos con μ\mu conocido.

🔴 Difícil

  1. Deriva completamente que la MLE de logistic regression = minimizar binary cross-entropy: escribe la likelihood Bernoulli con p^i=σ(wxi)\hat p_i=\sigma(\mathbf w^\top\mathbf x_i), toma log-\log, y muestra que el gradiente es 1mX(p^y)\frac{1}{m}X^\top(\hat{\mathbf p}-\mathbf y).
  2. Demuestra que MAP con prior gaussiano wN(0,τ2I)\mathbf w\sim\mathcal{N}(0,\tau^2 I) equivale a MLE + regularización L2, e identifica la relación entre τ2\tau^2, σ2\sigma^2 y el coeficiente λ\lambda de ridge.
✅ Soluciones
  1. p^=k/n=7/10=0.7\hat p=k/n=7/10=0.7.
  2. (μ)=n2ln(2πσ2)12σ2i(xiμ)2\ell(\mu)=-\frac{n}{2}\ln(2\pi\sigma^2)-\frac{1}{2\sigma^2}\sum_i(x_i-\mu)^2.
  3. /μ=1σ2(xiμ)=0μ^=1nxi=xˉ\partial\ell/\partial\mu=\frac{1}{\sigma^2}\sum(x_i-\mu)=0\Rightarrow\hat\mu=\frac1n\sum x_i=\bar x.
  4. /σ2=n2σ2+12σ4(xiμ)2=0σ^2=1n(xiμ)2\partial\ell/\partial\sigma^2=-\frac{n}{2\sigma^2}+\frac{1}{2\sigma^4}\sum(x_i-\mu)^2=0\Rightarrow\hat\sigma^2=\frac1n\sum(x_i-\mu)^2 (MLE, sesgada; el estimador insesgado divide por n1n-1).
  5. L=p^iyi(1p^i)1yiL=\prod\hat p_i^{y_i}(1-\hat p_i)^{1-y_i}; logL=[yilogp^i+(1yi)log(1p^i)]-\log L=-\sum[y_i\log\hat p_i+(1-y_i)\log(1-\hat p_i)] = binary cross-entropy. Con p^i=σ(wxi)\hat p_i=\sigma(\mathbf w^\top\mathbf x_i) y usando w(logL)=(p^iyi)xi\frac{\partial}{\partial\mathbf w}(-\log L)=\sum(\hat p_i-y_i)\mathbf x_i, en forma matricial 1mX(p^y)\frac{1}{m}X^\top(\hat{\mathbf p}-\mathbf y).
  6. MAP: maxlogp(Dw)+logp(w)\max\log p(\mathcal D\mid\mathbf w)+\log p(\mathbf w). Prior gaussiano da logp(w)=12τ2w2+const\log p(\mathbf w)=-\frac{1}{2\tau^2}|\mathbf w|^2+\text{const}. Con likelihood gaussiana (1/2σ21/2\sigma^2 delante de la suma de cuadrados), el objetivo es 12σ2Xwy2+12τ2w2\frac{1}{2\sigma^2}|X\mathbf w-\mathbf y|^2+\frac{1}{2\tau^2}|\mathbf w|^2 ⇒ ridge con λ=σ2/τ2\lambda=\sigma^2/\tau^2. Prior más fuerte (τ pequeño) ⇒ λ grande ⇒ más regularización.