최대우도추정 (Maximum Likelihood Estimation)

통계
한 줄 정의: 관찰된 데이터가 나타날 확률(우도)을 가장 크게 만드는 모수(파라미터) 값을 찾아내는 통계적 추정 방법입니다.

쉽게 풀면

친구가 동전을 100번 던졌는데, 그 결과를 직접 보지는 못하고 "앞면이 70번, 뒷면이 30번 나왔다"는 결과만 전해 들었다고 해봅시다. 이 동전의 앞면이 나올 확률이 정확히 얼마였는지는 알 수 없지만, "확률이 0.5였다"고 가정할 때보다 "확률이 0.7이었다"고 가정할 때 이런 결과가 나올 가능성이 훨씬 높습니다. 그래서 우리는 0.7을 "가장 그럴듯한" 값으로 선택하게 됩니다. 이렇게 여러 후보 값 중에서 실제로 관찰된 데이터가 나올 확률(우도)을 최대로 만드는 값을 골라내는 방법이 바로 최대우도추정입니다.

왜 중요한가

최대우도추정은 통계 모형의 모수를 추정하는 가장 표준적인 방법 중 하나이기 때문에 통계학, 계량경제학, 기계학습 등 확률모형을 다루는 거의 모든 정량적 연구에서 등장합니다. 표본이 충분히 크면 추정량이 참값에 가까워지고 정규분포에 가까워지는 등 이론적으로 바람직한 성질을 갖는다는 점이 널리 알려져 있어, 회귀모형, 시계열모형, 잠재변수모형 등 다양한 분야의 표준 추정법으로 자리 잡고 있습니다. 또한 로지스틱회귀나 딥러닝의 손실함수 설계 등 현대적인 방법론의 이론적 토대로도 널리 활용됩니다.

논문에서는 이렇게 쓰입니다

"모형의 계수는 최대우도추정법(Maximum Likelihood Estimation, MLE)을 이용해 추정하였다."

이 문장은 "연구자가 세운 통계 모형의 여러 파라미터 값 중, 실제로 수집된 데이터가 나타날 가능성을 가장 높게 만드는 값들을 찾아 모형을 추정했다"는 뜻입니다. 로지스틱 회귀, 구조방정식모형 등 다양한 통계 기법에서 계수를 추정할 때 널리 사용됩니다.

"생존시간 모형의 모수는 중도절단된 관측치를 포함한 우도함수를 구성하여 최대우도추정법으로 계산하였다."

생존분석 연구에서는 관찰 기간 중 사건이 발생하지 않은 중도절단 자료까지 반영한 우도함수를 세운 뒤 이를 최대화하는 방식으로 모수를 추정하는 경우가 흔합니다.

"신경망의 파라미터는 교차 엔트로피 손실을 최소화하는 방향으로 학습되었으며, 이는 클래스 레이블에 대한 우도를 최대화하는 것과 동치이다."

기계학습 논문에서는 손실함수를 최소화하는 학습 과정이 통계적으로는 최대우도추정과 동일한 원리에 기반한다는 점을 명시적으로 언급하는 경우가 많습니다.

조금 더 깊게 보면

최대우도추정은 실제 계산에서 우도함수 자체보다 로그를 취한 로그우도함수를 최대화하는 방식으로 흔히 수행되는데, 로그를 취해도 최댓값의 위치는 변하지 않으면서 곱셈으로 이루어진 우도함수를 덧셈 형태로 바꿀 수 있어 계산과 미분이 훨씬 간단해지기 때문입니다. 닫힌 형태의 해가 존재하지 않는 복잡한 모형에서는 뉴턴-랩슨법이나 경사하강법 같은 반복적 수치최적화 기법을 이용해 로그우도를 최대화하는 값을 근사적으로 찾습니다. 논문을 읽을 때는 우도함수가 어떤 확률분포 가정 위에서 세워졌는지, 그리고 최적화가 닫힌 해로 이루어졌는지 수치적 반복으로 이루어졌는지를 함께 확인하면 추정의 신뢰성을 더 잘 판단할 수 있습니다.

주의할 점

최대우도추정은 연구자가 가정한 확률분포(모형)가 실제 데이터의 분포와 맞아야 신뢰할 수 있는 결과를 줍니다. 모형 설정이 잘못되면 추정값이 편향될 수 있습니다. 또한 관찰된 데이터를 고정된 것으로 보고 모수를 추정하는 빈도주의적 접근이라는 점에서, 모수 자체를 확률분포로 다루는 베이지안 추론과는 철학적으로 다릅니다.

관련 용어