모던지 / 수학 / 통계학 6강. 최대우도추정

통계학 6강. 최대우도추정

딥러닝의 손실함수가 왜 하필 그 모양인지 묻는다면, 답은 1922년의 한 논문에 있습니다.

풀고 시작

문제 1. 최대우도추정이 찾는 값은 무엇일까요?
최대우도추정은 데이터를 고정해 두고 모수를 움직이며 그 데이터가 나올 그럴듯함이 최대가 되는 지점을 찾습니다. "모수가 참일 확률"은 베이즈 쪽 표현이고, 빈도주의 틀에서 모수는 확률변수가 아니라 고정된 미지의 값입니다.

확률과 우도는 방향이 반대입니다

동전을 열 번 던져 앞면이 일곱 번 나왔다고 해 봅시다. 이 동전의 앞면 확률 p는 얼마일까요.

직관은 0.7이라고 말합니다. 그런데 왜 0.7인지 설명하려면 생각의 방향을 뒤집어야 합니다.

확률은 모수를 알 때 데이터를 예측합니다. "p가 0.5라면 열 번 중 일곱 번 앞면이 나올 확률은 얼마인가"를 묻죠. 우도(likelihood) 는 정반대입니다. 데이터를 이미 봤을 때, 어떤 모수가 이 데이터를 가장 그럴듯하게 만드는가를 묻습니다.

같은 수식을 쓰지만 무엇을 고정하고 무엇을 움직이는지가 반대입니다. 확률은 모수를 고정하고 데이터를 움직이며, 우도는 데이터를 고정하고 모수를 움직입니다.

p를 0.1부터 0.9까지 넣어 보면 앞면 일곱 번이 나올 그럴듯함이 p=0.7에서 가장 커집니다. 이 지점을 고르는 것이 최대우도추정(MLE, maximum likelihood estimation) 입니다. 1922년 피셔가 정식화했고, 오늘날 통계 모형과 기계학습 모형의 학습 절차 대부분이 이것입니다.

우도를 그대로 다루지 않고 로그를 씌워 다루는 것이 관행입니다. 곱셈이 덧셈으로 바뀌어 미분이 쉬워지고, 아주 작은 확률을 여러 번 곱할 때 생기는 수치적 밑넘침도 피할 수 있습니다. 로그는 증가함수라 최대가 되는 지점은 바뀌지 않습니다.

손실함수의 정체

여기서 기계학습과 만납니다. 모형을 학습시킨다는 것은 손실을 최소화하는 일이고, 최대우도추정은 로그우도를 최대화하는 일입니다. 부호만 뒤집으면 같은 문제입니다. 그래서 음의 로그우도(negative log-likelihood) 가 손실함수가 됩니다.

이 관점으로 보면 익숙한 손실함수들이 전부 설명됩니다.

가정한 분포 최대우도추정이 낳는 손실
정규분포(오차가 정규) 평균제곱오차(MSE)
베르누이(예/아니오) 이진 교차엔트로피
범주분포(여러 갈래) 교차엔트로피
포아송(횟수) 포아송 손실

회귀에서 왜 제곱오차를 쓰는가라는 물음의 답이 여기 있습니다. 오차가 정규분포를 따른다고 가정하면 로그우도에서 제곱항이 튀어나오기 때문입니다. 임의로 고른 것이 아니라 가정에서 유도된 것이죠. 그래서 오차가 정규분포와 거리가 멀면(이상값이 많으면) 제곱오차를 고집할 이유도 사라집니다.

분류에서 교차엔트로피를 쓰는 이유도 같습니다. 정답 클래스에 모형이 부여한 확률의 로그를 최대화하는 것이 곧 교차엔트로피 최소화입니다. 로지스틱 회귀가 최적화하는 것도 정확히 이것입니다.

좋은 성질과 그 대가

최대우도추정이 널리 쓰이는 데는 이유가 있습니다. 표본이 커지면 참값으로 수렴하고(일치성), 정규분포에 가까워지며, 일정 조건에서 가장 작은 분산을 갖습니다. 이론적 보증이 두텁습니다.

그런데 대가도 분명합니다.

표본이 작으면 편향될 수 있습니다. 정규분포의 분산을 최대우도로 추정하면 n으로 나누는데, 이는 참값보다 작게 나오는 편향추정량입니다. 표본분산에서 n-1로 나누는 관행이 이 편향을 고치려는 것이죠.

데이터를 지나치게 믿습니다. 동전을 세 번 던져 세 번 다 앞면이면 최대우도추정은 p=1이라고 답합니다. 뒷면이 절대 안 나온다는 뜻인데, 세 번 던져 놓고 할 말은 아닙니다. 이 과신을 누르는 것이 정규화이고, 베이즈 관점에서 정규화는 사전분포를 넣는 일과 같습니다. L2 정규화는 계수에 정규분포 사전을, L1 정규화는 라플라스 사전을 둔 것과 수학적으로 일치합니다.

모형이 틀리면 답도 틀립니다. 최대우도추정은 가정한 분포 안에서 최선을 찾을 뿐, 그 분포가 현실과 다르면 최선을 다해 틀립니다.

인출 문제

문제 1. 우도와 확률의 차이를 바르게 설명한 것은 무엇일까요?
같은 함수를 쓰지만 무엇을 변수로 보는지가 반대입니다. 우도는 확률처럼 합이 1이 되지 않으므로 0과 1 사이라는 보장도 없습니다. 이 방향의 차이를 놓치면 최대우도추정이 무엇을 하는지 흐릿해집니다.
문제 2. 회귀에서 평균제곱오차를 손실로 쓰는 것을 최대우도 관점에서 설명하면 무엇일까요?
정규분포의 지수부에 제곱항이 있어 로그를 취하면 제곱오차가 남습니다. 임의로 고른 것이 아니라 분포 가정에서 유도된 것이죠. 그래서 이상값이 많아 정규 가정이 깨지면 제곱오차를 고집할 근거도 약해집니다.
문제 3. 우도 대신 로그우도를 최대화하는 이유로 옳지 않은 것은 무엇일까요?
로그 변환은 계산상의 편의를 위한 것이지 편향을 없애 주지 않습니다. 정규분포 분산의 최대우도추정량이 편향된 것은 로그를 씌우든 아니든 마찬가지이고, 그래서 표본분산에서 n-1로 나눕니다.
문제 4. 정규화와 베이즈 사전분포의 관계로 옳은 것은 무엇일까요?
사전분포에 로그를 취하면 손실에 더해지는 벌칙항이 됩니다. 정규분포 사전은 제곱 벌칙(L2), 라플라스 사전은 절댓값 벌칙(L1)을 낳습니다. 사전분포의 영향은 데이터가 많아질수록 오히려 줄어듭니다.

이전: 통계학 5강 · 다음: 통계학 7강

모던지 · 궁금하면 모던지 GitHub · 2026-09-10