수학 개념 지도
확률과 통계(Probability and statistics)

최대가능도법(Maximum likelihood)

관찰한 자료를 가장 그럴듯하게 만드는 모수⁠(parameter)⁠를 고르는 추정법. 모수를 고정하고 자료의 확률⁠(probability)⁠을 묻는 대신, 자료를 고정한 채 그 확률을 모수의 함수(가능도⁠, likelihood⁠)로 읽어 가장 큰 곳을 찾는다.

L(θ)=P(data∣θ),θ^=arg⁡max⁡θ∑i=1nlog⁡f(xi; θ)L(\theta) = P(\text{data} \mid \theta), \qquad \hat\theta = \arg\max_{\theta} \sum_{i=1}^{n} \log f(x_i;\,\theta)

동전을 10번 던졌더니 앞면이 7번 나왔습니다. 이 동전의 앞면 확률 p를 얼마로 짐작해야 할까요? 대부분 0.7이라고 답할 것입니다. 이렇게 모형을 정하는 수, 여기서는 앞면 확률 p를 모수라 부릅니다. 최대가능도법은 이 직감에 이유를 붙이고, 직감이 닿지 않는 복잡한 모형에서도 같은 방식으로 답을 내는 방법입니다. 이유는 이렇습니다. p가 0.7이라면 10번 중 7번 앞면은 꽤 흔한 일(확률 약 0.267)이고, p가 0.5라면 그보다 드문 일(약 0.117)입니다. 실제로 일어난 일을 가장 흔한 일로 만드는 p를 고르자는 것입니다.

확률과 가능도. 두 계산에 쓴 식은 같습니다. 앞면 확률이 p인 동전을 n번 던져 앞면이 k번 나올 확률은 이항분포⁠(binomial distribution)⁠의 식

P(K=k∣p)=(nk) pk(1−p)n−kP(K = k \mid p) = \binom{n}{k}\, p^{k} (1-p)^{n-k}

입니다. 이 식은 두 방향으로 읽을 수 있습니다. p를 고정하고 k를 바꾸면, 일어날 수 있는 결과 0, 1, …, n에 확률을 나눠 주는 분포가 됩니다. k에 대해 모두 더하면 정확히 1입니다. 거꾸로 이미 관찰한 k를 고정하고 p를 바꾸면, 여러 가설 p가 이 자료를 얼마나 잘 설명하는지 매기는 점수가 됩니다. 이것을 가능도 함수⁠(function)⁠ L(p)라 부릅니다. 확률은 '가설이 이렇다면 무엇이 일어날까'를 묻고, 가능도는 '이것이 일어났다면 어느 가설이 그럴듯한가'를 묻습니다. 그래서 'p = 0.7에서 가능도가 0.267'이라는 말은 'p가 0.7일 확률이 0.267'이라는 뜻이 아닙니다. 가능도는 p에 대한 분포가 아니어서, 곡선 아래 넓이⁠(area)⁠가 1이 되지도 않습니다.

던진 횟수 n = , 앞면 k = 번. 오른쪽 곡선 위의 노란 점을 끌어 p를 바꿔 보세요. 세로축은 입니다.

왼쪽은 p를 고정했을 때 결과마다의 확률(파란 막대, 합이 1), 오른쪽은 결과 k를 고정했을 때 p마다의 가능도입니다. 왼쪽 노란 막대의 높이와 오른쪽 노란 점의 높이는 같은 수입니다. 가능도 곡선 아래 넓이를 재면 k와 상관없이 언제나 1/(n + 1)입니다(지금은 ). 확률분포라면 넓이가 1이어야 합니다.

가장 큰 곳 찾기. 곱은 다루기 어려우니 로그를 취합니다. 로그는 늘 증가하는 함수라서 L이 가장 큰 곳과 log L이 가장 큰 곳은 같습니다.

log⁡L(p)=klog⁡p+(n−k)log⁡(1−p)+const,ddplog⁡L=kp−n−k1−p=0  ⇒  p^=kn\log L(p) = k \log p + (n-k)\log(1-p) + \text{const}, \qquad \frac{d}{dp}\log L = \frac{k}{p} - \frac{n-k}{1-p} = 0 \;\Rightarrow\; \hat p = \frac{k}{n}

미분⁠(differentiation)⁠해서 0이 되는 곳을 찾으면(최적화⁠, optimization⁠) 직감대로 앞면의 비율이 나옵니다. log L은 위로 볼록한 곡선이라, 기울기⁠(slope)⁠가 0인 곳이 곧 가장 높은 곳입니다. 로그를 쓰는 데는 계산의 이유도 있습니다. 서로 독립⁠(independence)⁠인 관측 n개의 가능도는 관측 하나하나의 확률의 곱이라서, 관측이 많으면 아주 작은 수가 됩니다. 동전을 1만 번 던져 앞면이 7천 번 나온 특정한 앞뒤 순서 하나의 확률은 p = 0.7에서도 약 10−265310^{-2653}이라서, 컴퓨터가 보통 쓰는 소수(제 정밀도⁠(precision)⁠로 나타낼 수 있는 가장 작은 양수가 약 10−30810^{-308})로 계산하면 0이 되어 버립니다. 로그를 취하면 곱이 합 ∑log⁡f(xi;θ)\sum \log f(x_i;\theta)이 되어 다루기 쉬워집니다. 세로축을 '로그 가능도⁠(log-likelihood)⁠'로 바꾸면 봉우리가 완만한 언덕이 되고, n을 키울수록 언덕이 좁아집니다. 자료가 많을수록 그럴듯한 p의 범위가 좁아진다는 뜻입니다.

최소제곱⁠(least squares)⁠과 같은 답. 측정값 yiy_i가 참값 f(xi)f(x_i)에 서로 독립인 정규분포⁠(normal distribution)⁠ 오차가 더해진 것이라고 합시다. 오차 하나의 밀도는 e−(yi−f(xi))2/2σ2e^{-(y_i - f(x_i))^2/2\sigma^2}에 비례하므로 로그 가능도는

log⁡L=−12σ2∑i=1n(yi−f(xi))2+const\log L = -\frac{1}{2\sigma^2}\sum_{i=1}^{n} \bigl(y_i - f(x_i)\bigr)^2 + \text{const}

입니다. 이것을 가장 크게 하는 것은 오차 제곱의 합을 가장 작게 하는 것, 곧 최소제곱법⁠(method of least squares)⁠과 똑같습니다. 가우스는 1809년 이 관계를 거꾸로 이용했습니다. 여러 관측의 평균⁠(mean)⁠이 가장 그럴듯한 값이 되려면 오차의 분포가 어떤 모양이어야 하는지 물어 정규분포를 얻었고, 그것으로 최소제곱법을 정당화했습니다. 한편 같은 계산에서 분산⁠(variance)⁠ σ²의 최대가능도 추정값은 잔차⁠(residual)⁠ 제곱의 평균, 곧 n으로 나눈 값인데, 이것은 평균적으로 참값보다 조금 작습니다(편향). 교과서의 표본분산이 n 대신 n − 1로 나누는 까닭입니다. 최대가능도가 언제나 가장 좋은 답은 아니라는 작은 예입니다.

교차 엔트로피⁠(cross-entropy)⁠와 같은 답. 사진을 보고 고양이인지 개인지 답하는 분류기는 각 답에 확률 qθ(y∣x)q_\theta(y \mid x)를 내놓습니다. 학습 자료의 정답 yiy_i들에 대한 로그 가능도는 ∑ilog⁡qθ(yi∣xi)\sum_i \log q_\theta(y_i \mid x_i)이고, 여기에 −1을 곱해 자료 수로 나누면 신경망⁠(neural network)⁠이 줄이는 손실 함수⁠(loss function)⁠인 교차 엔트로피가 됩니다(쿨백–라이블러 발산⁠(Kullback–Leibler divergence)⁠). 그러니 교차 엔트로피를 줄이도록 경사 하강법⁠(gradient descent)⁠으로 학습하는 것은 최대가능도 추정을 하는 것과 같습니다. n-그램⁠(n-gram)⁠ 언어 모형에서 '이 낱말 다음에 저 낱말이 나온 횟수 ÷ 이 낱말이 나온 횟수'로 확률을 매기는 것도 동전의 k/n과 같은 최대가능도 추정입니다. 두 갈래를 가르는 로지스틱 회귀⁠(logistic regression)⁠도, 앞의 토큰⁠(token)⁠들로 다음 토큰의 확률을 내는 언어 모델⁠(language model)⁠도 이렇게 최대가능도로 학습합니다.

역사. 가장 그럴듯한 값을 고른다는 생각은 18세기에도 있었습니다. 1778년 다니엘 베르누이는 천문 관측값 여러 개에서 하나를 고를 때 관측들이 함께 나올 확률을 가장 크게 하는 값을 고르자고 제안했습니다. 이를 이론으로 세운 사람은 로널드 피셔입니다. 케임브리지를 졸업하던 1912년에 낸 첫 논문에서 자료가 나올 확률을 가장 크게 하는 모수를 고르는 '절대 기준'을 제안했고, 1921년 이 양이 확률과 다르다는 점을 분명히 하려고 '가능도'라는 이름을 붙였으며, 1922년 「이론 통계학⁠(statistics)⁠의 수학적 기초⁠(basics)⁠」에서 좋은 추정이 갖춰야 할 성질들을 정리했습니다. 그는 표본⁠(sample)⁠이 커지면 최대가능도 추정값이 참값 둘레의 정규분포로 모이고, 그 흩어짐이 편향 없는 추정이 가질 수 있는 가장 작은 값에 다가간다고 논증했습니다. 동전이라면 그 표준편차⁠(standard deviation)⁠는 약 p(1−p)/n\sqrt{p(1-p)/n}입니다. 엄밀한 증명과 정확한 조건은 1940년대 해럴드 크라메르와 에이브러햄 월드 등이 채웠습니다.

조심할 점. 자료가 적으면 최대가능도는 대담해집니다. 동전을 한 번 던져 앞면이 나오면 p^=1\hat p = 1, 곧 뒷면은 절대 나오지 않는다고 답합니다. 미리 가진 믿음을 섞는 베이즈 추론은 이 극단을 누그러뜨립니다. 어떤 p도 똑같이 그럴듯하다는 평평한 사전 분포⁠(prior distribution)⁠에서 출발하면, 사후 분포⁠(posterior distribution)⁠의 평균이 라플라스의 계승 규칙⁠(rule of succession)⁠ (k+1)/(n+2)(k+1)/(n+2)이고, 한 번 던져 앞면이면 2/3입니다. 같은 사후 분포에서 가장 높은 곳은 최대가능도 추정값 k/n과 같습니다. 그러니 두 방법의 차이는 사전 믿음을 얼마나 쓰느냐와, 믿음의 분포에서 어느 값을 답으로 내놓느냐에 있습니다. 또 모수가 자료만큼 많으면 모형을 자료에 꼭 맞춰 가능도를 얼마든지 키울 수 있고, 그렇게 고른 모형은 잡음까지 외웁니다(과적합⁠, overfitting⁠). 계수에 평균 0인 정규분포 사전 분포를 두고 사후 분포에서 가장 높은 곳을 고르면, 손실에 계수 제곱합의 벌점을 더하는 릿지 정규화와 같은 답이 나옵니다.

이어지는 곳. 가능도를 가장 크게 하는 모수를 찾는 일은 최적화이고, 모수가 많으면 경사 하강법으로 풉니다. 숨은 상태가 있는 모형에서는 가능도를 직접 최대화하기 어려워 숨은 값을 번갈아 짐작하는 방법(EM 알고리즘⁠(algorithm)⁠)을 쓰는데, 은닉 마르코프 모델⁠(hidden Markov model)⁠의 학습이 그 예입니다. 두 가설의 가능도의 비는 베이즈 정리⁠(Bayes' theorem)⁠에서 증거의 무게⁠(weight of evidence)⁠가 되고, 참인 가설 아래에서 잰 그 로그의 평균이 쿨백–라이블러 발산입니다. 추정 전반은 통계학에서, 자료에서 규칙을 배우는 넓은 틀은 기계 학습⁠(machine learning)⁠에서 이어집니다.

이 개념이 나오는 긴 글

최소제곱과 선형대수 잃어버린 소행성 1801년, 발견 몇 주 만에 태양 뒤로 사라진 세레스. 스물네 살의 가우스는 흩어진 관측값에서 궤도를 되찾았다. 통계와 인과 담배와 폐암 상관관계는 인과관계가 아니라고들 한다. 그렇다면 담배가 폐암을 일으킨다는 것은 어떻게 알게 되었을까? 언어 모델 다음 단어를 맞히는 기계 다음 낱말을 짐작하는 일만으로 어디까지 갈 수 있을까? 마르코프의 글자 세기에서 섀넌의 추측 게임, 트랜스포머와 규모의 법칙, 사람의 선호까지. 밑바닥에는 확률의 곱셈 규칙과 로그 하나가 있고, 그 수학은 모델이 왜 그럴듯하게 틀리는지도 말해 준다. 역문제 거꾸로 푸는 문제는 왜 어려운가 원인에서 결과를 계산하기는 쉽다. 흐린 사진, CT, 블랙홀 사진은 왜 결과에서 원인을 되찾기 어려웠을까? 작은 특잇값이 잡음을 키우는 벽과, 정규화·릿지 회귀·베이즈 사전확률이 사실은 같은 처방이라는 이야기. 반환과 동적 계획법 같은 계산, 다른 덧셈 가장 짧은 길, 길의 가짓수, 가장 그럴듯한 해석, 갈 수 있는지 없는지. 따로 태어난 알고리즘들이 사실은 한 계산이고, 달라지는 것은 더하기와 곱하기 자리에 무엇을 넣느냐뿐이다. 그렇게 바꿔 넣어도 되는 까닭은 분배법칙 하나다. 압축과 과학 압축하는 것이 이해하는 것이다 튀코 브라헤가 20년 동안 적은 행성의 위치를 케플러는 법칙 세 줄로 줄였다. 짧게 적는 일과 이해하는 일은 정말 같은 일일까? 오컴의 면도날을 비트로 재는 법, 과적합을 압축의 실패로 읽는 법, 그리고 그 말이 정리인 곳과 철학인 곳.

이 개념 위에 세워진 것

이 개념을 언급하는 페이지

이 페이지가 가리키는 개념