본문 바로가기

빅데이터(Big Data) 이론과 코드/6. 통계지식

최대 우도 추정법(Maximum Likelihood Estimation, MLE)

 

 

최대 우도 추정법 Maximum Likelihood Estimation 수식에 대한 이해

 

데이터 분석과 인공지능 개발에서 중요한 것은 "데이터" 입니다.
우리가 학교에서 배운 통계의 하나는 분포를 먼저 가정하고, 해당 분포에서 특정 값이 나올 통계적 확률을 계산하는 것이었습니다.
 
$$X \sim N(μ, σ^2)$$
 
이것은 확률변수 X가 평균 μ, 표준편차 σ인 정규분포(Normal distribution)를 따른다(~)는 표현식입니다. 어렵지 않죠?
 
그런데, 우리는 실제 분석과 개발에서 대부분 그 "분포" 라는 것을 모릅니다. 우리에게 주어진 것은 한 줌의  샘플 "데이터" 뿐이죠. 그래서 우리는 그 Sample data를 가지고, 전체 집단(Population)을 추정해야 합니다. 전체 집단을 다른 말로는 모집단이라고도 하죠. 이 모집단을 추정한다는 것은 앞서 정규분포를 정의했을 때 처럼, 평균과 표준편차와 같은 파라미터(Parameter) 를 추정한다는 의미와 같습니다.
 

모집단을 추정한다 = 파라미터(\( \theta \))를 추정한다

 
 주어진 데이터를 통해 파라미터(=모수)를 추정할 때 사용하는 방법이 바로 최대 우도 추정법(Maximum Likelihood Estimation, MLE) 입니다. 우도를 최대로 하는 방법이라고 이해가 되는데요. 그럼 먼저 그 "우도"가 무엇인지 살펴보겠습니다.  
 
데이터 분석과 통계에서 자주 등장하는 두 가지 개념, 확률 우도에서 시작해보겠습니다. 사실은 이미 앞서 설명한 두 가지 방식이 그것입니다.
 
1) 모수가 정해졌을 때, 특정 값이 나타날 가능성
2) 샘플 데이터가 주어졌을 때, 모수가 나타날 가능성 
 


#1. 확률 (Probability)

확률은 특정 사건이 발생할 가능성을 나타냅니다.
예를 들어, 변수 \( X \) 가 특정 값 \( x \) 를 가질 확률은 다음과 같이 표현됩니다
$$P(X=x)$$
 
또는 확률 밀도 함수 (Probability Density Function, PDF)를 이용하여 특정 구간에서 발생할 확률
 
$$P(a \leq X \leq b) = \int_a^b f(x) dx$$
 
여기서
\( f(x) \) 는 \( X \) 의 확률 밀도 함수입니다.
 
확률은 분포가 정해지고, 모수가 정해졌을때, 특정값이 나타날 가능성을 계산한 값입니다.
 
$$X \sim N(μ, σ^2)$$
 
예를 들어, 어떤 학교에서 학생들의 수학 시험 점수가 평균이 50점이고, 점수의 분포가 대체로 평균 주변에 몰려 있다고 가정해 봅시다. 이 분포를 정규분포라고 합니다. 이제 다음 질문에 답해봅시다:

  • "점수가 90점 이하일 확률은 얼마일까?"

이를 계산하면 약 95%라는 결과가 나옵니다. 즉, 이 학교 학생들 중 97.72%가 90점 이하의 점수를 받을 가능성이 있다는 뜻입니다.
 


#2. 우도 ( Likelihood )

우도는 주어진 데이터가 특정 확률 모수에 의해 설명될 가능성을 나타냅니다.
주어진 데이터 \( \mathbf{x} = \{x_1, x_2, \dots, x_n\} \)와 모수 \( \theta \) 에 대한 우도는 다음과 같이 표현됩니다
 
$$L(\theta | x_1, x_2, \dots, x_n) = \prod_{i=1}^n f(x_i | \theta)$$
 
여기서

  • \( \mathbf{x} = \{x_1, x_2, \dots, x_n\} \) 는 관측 데이터.
  • \( f(x_i \mid \theta) \) 는 주어진 모수 \( \theta \) 하에서의 확률 밀도 함수

우도는 관찰된 데이터를 기반으로 특정 확률 분포가 얼마나 "적합"한지를 측정합니다.
예를 들어, 우리가 30개의 샘플 데이터를 얻었다고 가정하면, 이 데이터가 주어진 분포로부터 생성되었을 가능성을 계산할 수 있습니다. 우도의 값을 계산하는 과정에서 우리는 "어떤 분포가 주어진 데이터를 가장 잘 설명하는가?"라는 질문에 답합니다.
 

 "분포1과 분포2 중에서 어떤 분포가 주어진 데이터를 가장 잘 설명하는가?"

분포와 우도

 
위의 그래프는 두 가지 주요 요소를 시각적으로 보여줍니다.
첫 번째 파란선의 분포는 모수가 \( N(0, 1^2) \), 두 번째 초록 선의 분포는 모수가 \( N(1.5, 0.5^2) \)인 확률 밀도 함수(PDF)를 나타냅니다.

 

 


 

#3. 최대 우도 추정 ( Maximum Likelihood Estimation, MLE ) 

 

앞서 설명한 그래프를 다시 보겠습니다. 샘플 데이터와 확률 밀도 함수 간의 높이인 확률을 점선으로 표현했습니다. 이 점선은 각 샘플 데이터가 해당 분포에서 어떤 확률 밀도 값을 가지는지를 나타냅니다.

파란 점선은 샘플 데이터와 첫 번째 분포 간의 연결을 보여줍니다.
초록 점선은 샘플 데이터와 두 번째 분포 간의 연결을 보여줍니다.

 
이제 각 분포에 대해 우도(Likelihood) 값을 계산합니다. 
우도는 각 점선을 전부 순차적으로 곱한(Product) 값으로 앞서 알아본 우도 수식으로 표현됩니다.
 
$$L(\theta | x_1, x_2, \dots, x_n) = \prod_{i=1}^n f(x_i | \theta)$$

  • 첫 번째 분포  \( N(0, 1^2) \) 의 우도는 \( 4.96 * 10^{-18} \)  입니다.
  • 두 번째 분포  \( N(1.5, 0.5^2) \) 의 우도는 \( 2.48 * 10^{-98} \) 입니다.
분포 1가 더 큰 우도(최대 우도)를 가진다.

최대 우도 추정 방법

 
이처럼 최대 우도 추정법은 우도를 최대화하는 모수 \( \hat{\theta} \)를 찾는 방법입니다.
 \[ \hat{\theta} = \arg\max_{\theta} L(\theta \mid \mathbf{x}) \]
로그 우도를 사용하여 최적화 문제를 단순화
\[ \hat{\theta} = \arg\max_{\theta} \log L(\theta \mid \mathbf{x}) = \arg\max_{\theta} \sum_{i=1}^n \log f(x_i \mid \theta) \]
 
여기서 \( \hat{\theta} \)는 관측 데이터를 가장 잘 설명하는 모수의 추정치입니다.

 


 

#4. 인공지능과 데이터 분석에서 최대 우도 추정법(MLE) 가 중요한 이유

 

첫째, 데이터로부터 확률분포를 추정하기 위한 핵심 도구이기 때문입니다.
 
보통 데이터 분석이나 인공지능은 개발은 우리가 잘 아는 분포의 데이터가 아닌, 새로운 상황의 데이터를 대상으로 합니다. 그래서 주어진 데이터 샘플을 탐색하면서 데이터의 분포를 추정을 해야하는 일입니다.  그리고, 우리가 오늘 다른 최대우도법이 관측된 데이터가 가장 잘 설명될 수 있는 확률 분포의 모수(parameter)를 추정하는 방식입니다.
 
많은 데이터가 관측되었을 때, 최대우도법은 데이터의 패턴을 가장 잘 나타낼 수 있는 확률적 특성을 파악합니다.실무에서 수집된 대규모 데이터(로그 데이터, IoT 센서 데이터 등)는 특정한 분포를 가질 가능성이 높습니다. 최대우도법은 이러한 분포를 추정하여 데이터의 성격을 정의하고, 이후 분석과 의사결정에 사용할 수 있는 기반을 제공합니다.
 

 

둘째, 머신러닝과 딥러닝 모델에 활용되는 추정 방법입니다.
 
이러한 추정은 모델링의 기반이 되며, 분류, 회귀, 클러스터링 등 다양한 분석과 알고리즘에 활용됩니다. 최대우도법은 특정 분포(정규분포, 감마분포, 베르누이 분포 등)를 가정하고, 해당 분포의 파라미터를 추정할 수 있는 범용적인 방법입니다.

정규분포 : 평균(μ), 표준편차(σ)
감마분포 : 스케일(a), 형태(b)
베르누이 분포 : 성공 확률(p)


이러한 분포 추정은 데이터의 특성을 기반으로 모델링하거나 이상치 탐지, 데이터 시뮬레이션에 활용됩니다.
예를 들어, 머신러닝 알고리즘은 최대우도법의 원리를 기반으로 설계됩니다. 로지스틱 회귀, 선형 회귀 등에서 손실 함수(loss function)는 최대우도 추정에 기반한 로그 우도 함수(Log-Likelihood)로 정의됩니다. 딥러닝에서도 교차 엔트로피 손실 함수가 최대우도법과 동일한 원리에 의한 것입니다. 이러한 손실 함수를 최소화하는 것이 결국 최대우도를 추정하는 과정과 같습니다.
 

 

셋째, 분류와 예측 알고리즘에서 분포와 군집화에 쓰입니다.
 
1) 분류(Classification) : 각 데이터가 특정 클래스에 속할 확률을 계산
예를 들어, 이메일 스팸 필터링에서 "스팸"과 "정상 메일" 두 분포를 추정하여 새로운 데이터가 어느 분포에 속할 가능성이 높은지 판별합니다.
 
2) 클러스터링(Clustering) : 관측된 데이터가 어떤 군집(cluster)에 속하는지 결정
예를 들어, 가우시안 혼합 모델(GMM)을 사용하여 데이터 군집화 할 수 있습니다.