데이터를 보고 그것을 만든 분포의 모수(동전의 앞면 확률, 정규분포의 평균)를 알아내는 것이 추정입니다. 이 장의 주인공인 최대우도 추정은 “이 데이터가 나올 확률을 가장 크게 하는 모수”를 고르는 방법입니다. 머신러닝 논문의 손실 함수는 대부분 음의 로그 가능도입니다. 평균제곱오차는 정규분포를, 교차 엔트로피는 범주형 분포를 가정한 최대우도입니다. 이 사실 하나로 많은 손실 함수가 왜 그 모양인지 설명됩니다.
7.1 추정량
정의 7.1. 데이터 X1,…,Xn의 함수로 모수 θ를 어림하는 θ^=T(X1,…,Xn)를 추정량(estimator)이라 합니다.
추정량도 데이터에 따라 달라지는 확률변수입니다. 좋은 추정량은 평균적으로 맞고(불편), 흔들림이 작아야(분산이 작음) 합니다.
정의 7.2. E[θ^]=θ이면 불편(unbiased)이고, bias=E[θ^]−θ를 편향이라 합니다.
정리 7.3 (편향–분산 분해). 평균제곱오차(mean squared error) MSE(θ^)=E[(θ^−θ)2]=bias2+Var(θ^).
편향을 조금 허용하고 분산을 크게 줄이면 전체 오차가 줄 수 있습니다. 머신러닝의 정규화(가중치 감쇠)가 그런 거래입니다.
예제 7.4. 표본평균 Xˉ는 μ의 불편추정량입니다. 분산의 추정량 n1∑(Xi−Xˉ)2는 편향되어 있고(E=nn−1σ2), n−1로 나눈 표본분산 s2=n−11∑(Xi−Xˉ)2가 불편입니다. Xˉ를 쓰면서 자유도 하나를 잃기 때문입니다.
7.2 가능도
정의 7.5 (가능도). 관측한 데이터 x1,…,xn을 고정하고, 모수 θ의 함수로 본
L(θ)=i=1∏nf(xi∣θ)
를 가능도(likelihood)라 합니다(i.i.d. 가정). 그 로그 ℓ(θ)=∑ilnf(xi∣θ)를 로그 가능도(log-likelihood)라 합니다.
식은 확률(밀도)과 같지만, 데이터가 아니라 모수의 함수로 봅니다. 로그를 쓰는 이유는 곱을 합으로 바꿔 미분하기 쉽고, 작은 확률을 많이 곱해 컴퓨터에서 0이 되어 버리는 것을 막기 위해서입니다.
7.3 최대우도 추정
정의 7.6. θ^MLE=argmaxθℓ(θ)를 최대우도 추정량(maximum likelihood estimator, MLE)이라 합니다.
argmax는 “최댓값 자체가 아니라, 최댓값을 주는 θ”라는 뜻입니다. 보통 ℓ′(θ)=0을 풉니다.
예제 7.7 (동전). n번 중 k번 앞면이면 ℓ(p)=klnp+(n−k)ln(1−p). ℓ′(p)=pk−1−pn−k=0에서 p^=k/n. 직관 그대로입니다.
예제 7.8 (정규분포). ℓ(μ,σ2)=−2nln(2πσ2)−2σ21∑(xi−μ)2. μ로 미분하면 μ^=xˉ, σ2로 미분하면 σ^2=n1∑(xi−xˉ)2(예제 7.4의 편향된 추정량).
예제 7.9 (지수분포). ℓ(λ)=nlnλ−λ∑xi이므로 λ^=n/∑xi=1/xˉ.
정리 7.10 (MLE의 성질, 개요). 적당한 조건에서 n→∞이면 MLE는 참값으로 수렴하고(일치성), 대략 정규분포를 따르며, 그 분산은 가능한 추정량 가운데 가장 작은 수준(크라메르–라오 하한)에 이릅니다.
7.4 손실 함수의 정체
정리 7.11 (최소제곱 = 정규 잡음의 MLE). 모델 yi=g(xi;θ)+εi, εi∼N(0,σ2) i.i.d.이면, 음의 로그 가능도는 2σ21∑(yi−g(xi;θ))2+(상수)입니다. 그러므로 MLE는 제곱오차를 최소로 하는 θ입니다.
정리 7.12 (교차 엔트로피 = 범주형 분포의 MLE). 분류 모델이 pθ(y∣x)를 내고 데이터가 (xi,yi)이면 음의 로그 가능도는 −∑ilnpθ(yi∣xi)이고, 이것이 교차 엔트로피 손실(다변수 미적분 11장)입니다.
손실 함수를 바꾸는 것은 잡음의 분포 가정을 바꾸는 것입니다. 절댓값 오차는 라플라스 분포 잡음의 MLE이고, 이상치에 더 강합니다.
7.5 이 장의 요약
- 추정량의 오차 = 편향² + 분산. 표본분산은 n−1로 나눕니다.
- MLE = 로그 가능도를 최대로 하는 모수. 미분해 0으로 둡니다.
- 제곱오차는 정규 잡음, 교차 엔트로피는 범주형 분포의 음의 로그 가능도입니다.
쓰이는 곳. 머신러닝 논문의 “negative log-likelihood(NLL)”, “we maximize the log-likelihood”, 언어 모델의 학습 목표(다음 토큰의 로그 확률 합), 통계 모델 적합, 물리 실험의 매개변수 맞춤(카이제곱 최소화 = 정규 오차의 MLE)이 모두 이 장입니다.
문제
7.1 [계산] · 확인 문제
동전을 20번 던져 앞면이 7번 나왔을 때 앞면 확률의 최대우도 추정값은?
정답
풀이
p^=7/20=0.35입니다.
7.2 [계산] · 확인 문제
데이터 2,4,4,5,10에 대해 값을 씁니다.
| 값 |
답 |
| 표본평균 xˉ |
[?] |
| 정규분포의 MLE σ^2 (n으로 나눔) |
[?] |
| 표본분산 s2 (n−1로 나눔) |
[?] |
정답
풀이
xˉ=25/5=5. 편차 제곱합 9+1+1+0+25=36. σ^2=36/5=7.2, s2=36/4=9.
7.3 [계산] · 확인 문제
대기 시간 데이터 1,3,2,6이 지수분포에서 나왔다고 할 때 λ의 최대우도 추정값은?
정답
풀이
λ^=1/xˉ=1/3입니다.
7.4 [계산]
포아송 분포 데이터 3,1,4,0,2에서 λ의 최대우도 추정값은?
힌트 1
ℓ(λ)=∑(xilnλ−λ−lnxi!)를 미분합니다.
정답
풀이
ℓ′(λ)=λ∑xi−n=0이므로 λ^=xˉ=10/5=2입니다.
7.5 [증명]
편향–분산 분해 E[(θ^−θ)2]=(E[θ^]−θ)2+Var(θ^)를 보입니다.
풀이
m=E[θ^]로 두면 θ^−θ=(θ^−m)+(m−θ)입니다. 제곱해 기댓값을 취하면 E[(θ^−m)2]+2(m−θ)E[θ^−m]+(m−θ)2이고, 가운데 항은 E[θ^−m]=0이라 사라집니다. 남은 두 항이 분산과 편향의 제곱입니다.