7장. 추정과 최대우도

확률과 통계 · 3부. 통계적 추론

심화 · 약 10분 · 연습문제 5

요약

모수와 추정량, 불편성과 평균제곱오차, 편향–분산 분해, 가능도와 로그 가능도, 최대우도 추정, 최소제곱과 교차 엔트로피의 정체

데이터를 보고 그것을 만든 분포의 모수(동전의 앞면 확률, 정규분포의 평균)를 알아내는 것이 추정입니다. 이 장의 주인공인 최대우도 추정은 “이 데이터가 나올 확률을 가장 크게 하는 모수”를 고르는 방법입니다. 머신러닝 논문의 손실 함수는 대부분 음의 로그 가능도입니다. 평균제곱오차는 정규분포를, 교차 엔트로피는 범주형 분포를 가정한 최대우도입니다. 이 사실 하나로 많은 손실 함수가 왜 그 모양인지 설명됩니다.

7.1 추정량

정의 7.1. 데이터 X1,…,XnX_1, \dots, X_n의 함수로 모수 θ\theta를 어림하는 θ^=T(X1,…,Xn)\hat\theta = T(X_1, \dots, X_n)를 추정량(estimator)이라 합니다.

추정량도 데이터에 따라 달라지는 확률변수입니다. 좋은 추정량은 평균적으로 맞고(불편), 흔들림이 작아야(분산이 작음) 합니다.

정의 7.2. E[θ^]=θE[\hat\theta] = \theta이면 불편(unbiased)이고, bias=E[θ^]−θ\mathrm{bias} = E[\hat\theta] - \theta를 편향이라 합니다.

정리 7.3 (편향–분산 분해). 평균제곱오차(mean squared error) MSE(θ^)=E[(θ^−θ)2]=bias2+Var(θ^)\mathrm{MSE}(\hat\theta) = E[(\hat\theta - \theta)^2] = \mathrm{bias}^2 + \mathrm{Var}(\hat\theta).

편향을 조금 허용하고 분산을 크게 줄이면 전체 오차가 줄 수 있습니다. 머신러닝의 정규화(가중치 감쇠)가 그런 거래입니다.

예제 7.4. 표본평균 Xˉ\bar X는 μ\mu의 불편추정량입니다. 분산의 추정량 1n∑(Xi−Xˉ)2\frac1n\sum(X_i - \bar X)^2는 편향되어 있고(E=n−1nσ2E = \frac{n-1}n\sigma^2), n−1n - 1로 나눈 표본분산 s2=1n−1∑(Xi−Xˉ)2s^2 = \frac{1}{n - 1}\sum(X_i - \bar X)^2가 불편입니다. Xˉ\bar X를 쓰면서 자유도 하나를 잃기 때문입니다.

7.2 가능도

정의 7.5 (가능도). 관측한 데이터 x1,…,xnx_1, \dots, x_n을 고정하고, 모수 θ\theta의 함수로 본

L(θ)=∏i=1nf(xi∣θ)L(\theta) = \prod_{i=1}^nf(x_i \mid \theta)

를 가능도(likelihood)라 합니다(i.i.d. 가정). 그 로그 ℓ(θ)=∑iln⁡f(xi∣θ)\ell(\theta) = \sum_i\ln f(x_i \mid \theta)를 로그 가능도(log-likelihood)라 합니다.

식은 확률(밀도)과 같지만, 데이터가 아니라 모수의 함수로 봅니다. 로그를 쓰는 이유는 곱을 합으로 바꿔 미분하기 쉽고, 작은 확률을 많이 곱해 컴퓨터에서 0이 되어 버리는 것을 막기 위해서입니다.

7.3 최대우도 추정

정의 7.6. θ^MLE=arg⁡max⁡θℓ(θ)\hat\theta_{\mathrm{MLE}} = \arg\max_\theta\ell(\theta)를 최대우도 추정량(maximum likelihood estimator, MLE)이라 합니다.

arg⁡max⁡\arg\max는 “최댓값 자체가 아니라, 최댓값을 주는 θ\theta”라는 뜻입니다. 보통 ℓ′(θ)=0\ell'(\theta) = 0을 풉니다.

예제 7.7 (동전). nn번 중 kk번 앞면이면 ℓ(p)=kln⁡p+(n−k)ln⁡(1−p)\ell(p) = k\ln p + (n - k)\ln(1 - p). ℓ′(p)=kp−n−k1−p=0\ell'(p) = \frac kp - \frac{n - k}{1 - p} = 0에서 p^=k/n\hat p = k/n. 직관 그대로입니다.

예제 7.8 (정규분포). ℓ(μ,σ2)=−n2ln⁡(2πσ2)−12σ2∑(xi−μ)2\ell(\mu, \sigma^2) = -\frac n2\ln(2\pi\sigma^2) - \frac{1}{2\sigma^2}\sum(x_i - \mu)^2. μ\mu로 미분하면 μ^=xˉ\hat\mu = \bar x, σ2\sigma^2로 미분하면 σ^2=1n∑(xi−xˉ)2\hat\sigma^2 = \frac1n\sum(x_i - \bar x)^2(예제 7.4의 편향된 추정량).

예제 7.9 (지수분포). ℓ(λ)=nln⁡λ−λ∑xi\ell(\lambda) = n\ln\lambda - \lambda\sum x_i이므로 λ^=n/∑xi=1/xˉ\hat\lambda = n/\sum x_i = 1/\bar x.

정리 7.10 (MLE의 성질, 개요). 적당한 조건에서 n→∞n \to \infty이면 MLE는 참값으로 수렴하고(일치성), 대략 정규분포를 따르며, 그 분산은 가능한 추정량 가운데 가장 작은 수준(크라메르–라오 하한)에 이릅니다.

7.4 손실 함수의 정체

정리 7.11 (최소제곱 = 정규 잡음의 MLE). 모델 yi=g(xi;θ)+εiy_i = g(x_i; \theta) + \varepsilon_i, εi∼N(0,σ2)\varepsilon_i \sim \mathcal{N}(0, \sigma^2) i.i.d.이면, 음의 로그 가능도는 12σ2∑(yi−g(xi;θ))2+(상수)\frac{1}{2\sigma^2}\sum(y_i - g(x_i; \theta))^2 + (\text{상수})입니다. 그러므로 MLE는 제곱오차를 최소로 하는 θ\theta입니다.

정리 7.12 (교차 엔트로피 = 범주형 분포의 MLE). 분류 모델이 pθ(y∣x)p_\theta(y \mid x)를 내고 데이터가 (xi,yi)(x_i, y_i)이면 음의 로그 가능도는 −∑iln⁡pθ(yi∣xi)-\sum_i\ln p_\theta(y_i \mid x_i)이고, 이것이 교차 엔트로피 손실(다변수 미적분 11장)입니다.

손실 함수를 바꾸는 것은 잡음의 분포 가정을 바꾸는 것입니다. 절댓값 오차는 라플라스 분포 잡음의 MLE이고, 이상치에 더 강합니다.

7.5 이 장의 요약

  • 추정량의 오차 = 편향² + 분산. 표본분산은 n−1n - 1로 나눕니다.
  • MLE = 로그 가능도를 최대로 하는 모수. 미분해 0으로 둡니다.
  • 제곱오차는 정규 잡음, 교차 엔트로피는 범주형 분포의 음의 로그 가능도입니다.

쓰이는 곳. 머신러닝 논문의 “negative log-likelihood(NLL)”, “we maximize the log-likelihood”, 언어 모델의 학습 목표(다음 토큰의 로그 확률 합), 통계 모델 적합, 물리 실험의 매개변수 맞춤(카이제곱 최소화 = 정규 오차의 MLE)이 모두 이 장입니다.

문제

7.1 [계산] · 확인 문제

동전을 20번 던져 앞면이 7번 나왔을 때 앞면 확률의 최대우도 추정값은?

정답
0.35
풀이

p^=7/20=0.35\hat p = 7/20 = 0.35입니다.

7.2 [계산] · 확인 문제

데이터 2,4,4,5,102, 4, 4, 5, 10에 대해 값을 씁니다.

값 답
표본평균 xˉ\bar x [?]
정규분포의 MLE σ^2\hat\sigma^2 (nn으로 나눔) [?]
표본분산 s2s^2 (n−1n - 1로 나눔) [?]
정답
5
36/5
9
풀이

xˉ=25/5=5\bar x = 25/5 = 5. 편차 제곱합 9+1+1+0+25=369 + 1 + 1 + 0 + 25 = 36. σ^2=36/5=7.2\hat\sigma^2 = 36/5 = 7.2, s2=36/4=9s^2 = 36/4 = 9.

7.3 [계산] · 확인 문제

대기 시간 데이터 1,3,2,61, 3, 2, 6이 지수분포에서 나왔다고 할 때 λ\lambda의 최대우도 추정값은?

정답
1/3
풀이

λ^=1/xˉ=1/3\hat\lambda = 1/\bar x = 1/3입니다.

7.4 [계산]

포아송 분포 데이터 3,1,4,0,23, 1, 4, 0, 2에서 λ\lambda의 최대우도 추정값은?

힌트 1

ℓ(λ)=∑(xiln⁡λ−λ−ln⁡xi!)\ell(\lambda) = \sum(x_i\ln\lambda - \lambda - \ln x_i!)를 미분합니다.

정답
2
풀이

ℓ′(λ)=∑xiλ−n=0\ell'(\lambda) = \frac{\sum x_i}{\lambda} - n = 0이므로 λ^=xˉ=10/5=2\hat\lambda = \bar x = 10/5 = 2입니다.

7.5 [증명]

편향–분산 분해 E[(θ^−θ)2]=(E[θ^]−θ)2+Var(θ^)E[(\hat\theta - \theta)^2] = (E[\hat\theta] - \theta)^2 + \mathrm{Var}(\hat\theta)를 보입니다.

풀이

m=E[θ^]m = E[\hat\theta]로 두면 θ^−θ=(θ^−m)+(m−θ)\hat\theta - \theta = (\hat\theta - m) + (m - \theta)입니다. 제곱해 기댓값을 취하면 E[(θ^−m)2]+2(m−θ)E[θ^−m]+(m−θ)2E[(\hat\theta - m)^2] + 2(m - \theta)E[\hat\theta - m] + (m - \theta)^2이고, 가운데 항은 E[θ^−m]=0E[\hat\theta - m] = 0이라 사라집니다. 남은 두 항이 분산과 편향의 제곱입니다.