MLE란? 예시, 증명 (Maximum Likelihood Estimation)

확률과 통계에서 데이터를 분석하고 모델을 학습하는 방법 중 하나로 최대우도법(Maximum Likelihood Estimation, MLE) 이 널리 사용됩니다. MLE는 주어진 데이터가 특정 확률분포에서 발생했을 가능성을 최대화하는 모수(parameter) 추정 기법입니다.

이해하기 어려우니, 간단한 예시를 통해 직관적으로 이해해봅시다.

1. MLE의 기본 개념과 예시

MLE는 관찰된 데이터가 특정 확률모형에서 생성될 가능성이 가장 높은 모수 θ를 찾는 방법입니다.

예제: 간단한 직관적 이해

아래 그래프는 데이터 \( x \) ([2, 3, 3, 4, 5])와 두 가지 정규분포(분포 1: 평균 3, 분포 2: 평균 7)를 보여드리고 있습니다. MLE(Maximum Likelihood Estimation)의 핵심은 "이 데이터가 어느 분포에서 가장 자연스럽게 나왔을까?"를 판단해보는 것입니다. 즉, 이 데이터가 어떤 분포를 따를 확률이 더 높을지 생각해보는 것입니다.

그래프는 두 개의 정규 분포와 데이터 포인트를 시각화한 것입니다. 빨간색 곡선은 평균 3인 정규 분포, 파란색 곡선은 평균 7인 정규 분포를 나타냅니다. 검은 점들은 데이터 포인트 [2, 3, 3, 4, 5]를 나타내며, 범례에는 각 분포와 데이터에 대한 설명이 포함되어 있습니다. x축은 x 값을, y축은 확률 밀도를 나타냅니다.
  • 분포 1 (빨간색, 평균 3): 데이터 점(2, 3, 3, 4, 5)이 곡선의 중심(3) 근처에 몰려 있어 보입니다. 2와 4는 약간 옆에 위치하지만 곡선 안쪽에 잘 들어맞는 느낌이 듭니다. "이 분포라면 이런 데이터가 흔할 것 같아요"라는 직관이 형성될 수 있습니다.
  • 분포 2 (파란색, 평균 7): 데이터가 곡선 중심(7)에서 훨씬 왼쪽에 치우쳐 있는 모습입니다. 2, 3, 4는 거의 곡선 밖에 있고, 5조차 중심에서 멀리 떨어져 보입니다. "이 분포로는 이런 데이터가 나기 어려울 것 같아요"라는 생각이 듭니다.

여기서는 데이터가 분포 1(평균 3)의 곡선에 더 가까이 모여 있는 것을 보니, 분포 1이 더 그럴듯해 보입니다.

이 직관적 이해를 자세히 보면, 우리는 2가지 가정을 하였습니다.

  1. 데이터가 정규 분포로부터 나왔다는 것
  2. 데이터가 정규 분포의 평균에 더 가까이 있는 분포를 선택

MLE는 정규분포 뿐만 아니라 다양한 확률 분포를 가정할 수 있으나, 이번 글에서는 정규분포를 가정했을 때에 대해 자세히 알아보겠습니다.

2. Likelihood 함수

확률 분포 가정하기 전, MLE를 수행하기 위해서는 Likelihood 함수를 정의해야 합니다. Likelihood 함수는 주어진 데이터가 특정 분포에서 생성될 확률을 나타냅니다.

2.1 Likelihood 함수의 정의

주어진 데이터 샘플이 \(x = (x_1, x_2, ..., x_n)\) 일 때, 특정한 파라미터 \(\theta\) 에 대해 데이터가 발생할 확률(우도, Likelihood)은 다음과 같이 정의됩니다.

\[ P(x | \theta) = \prod_{i=1}^{n} P(x_i | \theta) \]

이 함수를 Likelihood 함수라고 하며, 이를 최대화하는 \(\theta\) 를 찾는 것이 MLE의 목표입니다.

2.2 Log-Likelihood 함수

수식의 복잡성을 줄이고 계산을 단순하게 만들기 위해 로그 변환을 사용하여 Log-Likelihood 함수를 정의합니다.

\[ L(\theta | x) = \log P(x | \theta) = \sum_{i=1}^{n} \log P(x_i | \theta) \]

로그 변환을 적용하면 곱셈 연산이 덧셈으로 바뀌어 계산이 간편해지고, 수치적으로도 안정적인 값을 얻을 수 있습니다.

3. MLE를 이용한 모수 추정

MLE는 주어진 데이터를 가장 잘 설명하는 분포의 모수를 찾는 과정입니다. 이를 수학적으로 구현하기 위해 Log-Likelihood 함수를 미분하여 극댓값을 찾는 방법을 사용합니다.

정규분포 \(N(\mu, \sigma^2)\) 를 가정하고, 관찰된 데이터 \(x_1, x_2, ..., x_n\) 을 기반으로 모평균(\( \mu \)) 과 모분산(\(\sigma^2)\)을 MLE로 추정해보겠습니다.

3.1 정규분포의 확률밀도함수

정규분포의 확률밀도함수(PDF)는 다음과 같습니다.

\[ f_{\mu, \sigma^2}(x_i) = \frac{1}{\sigma \sqrt{2\pi}} \exp \left( - \frac{(x_i - \mu)^2}{2\sigma^2} \right) \]

데이터 \( x_1, x_2, ..., x_n \) 이 독립적으로 정규분포에서 추출되었으므로, 전체 데이터의 우도 함수는 각 개별 확률밀도함수의 곱으로 표현됩니다.

\[ P(x | \mu, \sigma^2) = \prod_{i=1}^{n} \frac{1}{\sigma \sqrt{2\pi}} \exp \left( - \frac{(x_i - \mu)^2}{2\sigma^2} \right) \]

로그-우도를 취하면:

\[ L(\mu, \sigma^2 | x) = \sum_{i=1}^{n} \left[ \log \left( \frac{1}{\sigma \sqrt{2\pi}} \right) - \frac{(x_i - \mu)^2}{2\sigma^2} \right] \]

로그 항을 전개하면:

\[ L(\mu, \sigma^2 | x) = \sum_{i=1}^{n} \left[ - \log (\sigma \sqrt{2\pi}) - \frac{(x_i - \mu)^2}{2\sigma^2} \right] \]

이를 \( \mu \) 와 \( \sigma^2 \) 에 대해 각각 미분하여 최대우도를 찾겠습니다.


3.2 모평균 \(\mu\) 의 최댓값 찾기

\( L(\mu, \sigma^2 | x) \) 를 \(\mu\) 에 대해 미분하여 0이 되는 지점을 찾습니다.

로그-우도를 \( \mu \) 에 대해 편미분하면:

\[ \frac{\partial L}{\partial \mu} = \sum_{i=1}^{n} \left[ - \frac{1}{2 \sigma^2} \cdot \frac{\partial}{\partial \mu} (x_i^2 - 2 x_i \mu + \mu^2) \right] \]

내부 미분을 계산하면:

\[ \frac{\partial}{\partial \mu} (x_i^2 - 2 x_i \mu + \mu^2) = -2 x_i + 2 \mu \]

따라서,

\[ \frac{\partial L}{\partial \mu} = \sum_{i=1}^{n} \left[ - \frac{1}{2 \sigma^2} (-2 x_i + 2 \mu) \right] \]

정리하면:

\[ \frac{\partial L}{\partial \mu} = \sum_{i=1}^{n} \frac{x_i - \mu}{\sigma^2} \]

최대우도를 찾기 위해 \( \frac{\partial L}{\partial \mu} = 0 \) 을 풀면:

\[ \sum_{i=1}^{n} (x_i - \mu) = 0 \]

즉,

\[ \hat{\mu} = \frac{1}{n} \sum_{i=1}^{n} x_i \]

즉, MLE를 이용한 모평균 추정치는 단순히 샘플의 평균값입니다.


3.3 모분산 \(\sigma^2\) 의 최댓값 찾기

\( L(\mu, \sigma^2 | x) \) 를 \(\sigma^2\) 에 대해 미분하여 0이 되는 지점을 찾습니다.

로그-우도를 \( \sigma^2 \) 에 대해 편미분하면:

\[ \frac{\partial L}{\partial \sigma^2} = \sum_{i=1}^{n} \left[ -\frac{1}{2} \frac{(x_i - \mu)^2}{\sigma^4} - \frac{1}{\sigma} \right] \]

정리하면:

\[ \frac{\partial L}{\partial \sigma^2} = -\frac{n}{2 \sigma^2} + \frac{1}{2 \sigma^4} \sum_{i=1}^{n} (x_i - \mu)^2 \]

최대우도를 찾기 위해 \( \frac{\partial L}{\partial \sigma^2} = 0 \) 을 풀면:

\[ -\frac{n}{2 \sigma^2} + \frac{1}{2 \sigma^4} \sum_{i=1}^{n} (x_i - \mu)^2 = 0 \]

양변에 \( 2 \sigma^4 \) 를 곱하면:

\[ - n \sigma^2 + \sum_{i=1}^{n} (x_i - \mu)^2 = 0 \]

정리하면:

\[ \hat{\sigma}^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \mu)^2 \]

즉, MLE를 이용한 모분산 추정치는 표본 분산의 비편향 추정량과 거의 동일합니다.

4. 정규분포를 가정할 필요는 없다.

MLE는 특정한 분포를 가정하지만, 반드시 정규분포(가우시안 분포)를 가정할 필요는 없습니다. 정규분포를 따르는 경우 MLE를 사용하여 평균(μ)과 분산(σ²)을 추정할 수 있지만, 이는 특정한 예시에 불과합니다. 이 글에서는 정규분포일 경우를 수식을 통해 설명하기 때문에 정규분포를 가정한 예시를 들었습니다.

MLE는 분포의 형태를 사용자가 지정해야 하며, 다양한 분포에서 사용할 수 있습니다. 예를 들면:

  1. 정규분포(가우시안 분포, \( \mathcal{N}(\mu, \sigma^2) \))

    • MLE로 평균 \( \mu \) 및 분산 \( \sigma^2 \) 추정 가능
    • 많이 사용되는 경우: 회귀 분석, 통계적 가설 검정
  2. 베르누이 분포 (Bernoulli)

    • 성공 확률 \( p \) 추정 가능 (예: 코인 던지기에서 앞면이 나올 확률)
  3. 이항분포 (Binomial)

    • 시행 횟수와 성공 확률을 기반으로 추정 가능
  4. 푸아송 분포 (Poisson)

    • 평균 발생률 \( \lambda \) 추정 가능 (예: 일정 시간 동안 도착하는 고객 수)
  5. 지수 분포 (Exponential)

    • 평균 발생 간격을 추정 가능 (예: 서버 응답 시간)

결론

  • MLE는 평균을 직접적으로 가정하지 않음 (평균은 특정 분포의 파라미터일 뿐)
  • MLE는 정규분포만을 가정하는 것이 아님 (다양한 확률분포에 적용 가능)
  • 사용자가 적절한 확률분포를 설정해야 하며, 데이터가 해당 분포를 잘 따르는지를 확인하는 것이 중요함

즉, MLE는 정규분포를 포함한 다양한 분포에서 사용될 수 있는 일반적인 파라미터 추정 방법입니다.

5. MLE의 특징과 한계

특징 설명
일반성 다양한 확률분포에 적용 가능
일관성 충분히 많은 데이터가 있으면 참값에 수렴
불편성 표본 크기가 크면 편향이 줄어듦
최대우도점(MAP)과 차이 사전 확률을 고려하는 MAP와 달리 MLE는 사전 정보를 고려하지 않음

한계점

  • 작은 표본에서는 편향이 존재할 수 있음
  • 계산량이 많고 복잡한 경우 수치적 최적화 기법 필요
  • 특정 분포 가정이 틀리면 잘못된 추정 가능성

6. 결론

MLE는 확률분포의 모수(parameter) 를 추정하는 강력한 방법이며, 정규분포뿐만 아니라 다양한 분포에서 활용될 수 있습니다. 특히 로그-우도(log-likelihood) 함수를 최적화하여 미분을 통해 최댓값을 찾는 방식이 핵심입니다.