본문 바로가기
머신러닝/확률모델

확률에 대한 Frequentist와 Bayesian 접근, 그리고 MLE와 MAP

by CHML 2023. 12. 5.
1. 확률 (Probability)

우리는 일상 생활에서 "확률적으로", "확률이 높다" 등과 같이 확률에 기반한 서술을 많이 듣는다. 그러나 "주사위를 던졌을 때 1이 나올 확률은 1/6이다"라는 하나의 명제는 빈도주의 (frequentist)베이지안 (Bayesian)이라는 두 가지 해석이 존재한다. 첫 번째는 아래와 같은 빈도주의 해석이다.

주사위를 60,000번 던지면 1이 10,000번 나온다

그러나 두 번째의 베이지안 해석은 같은 확률에 대해 빈도주의 해석과는 조금 다른 관점을 갖는다. 베이지안 해석에서 확률은 아래와 같이 어떠한 사건의 발생에 대한 가능성을 의미한다.

주사위를 던질 때 1이 나오는 사건은 1/6의 확률로 발생한다 

이 글에서는 빈도주의와 베이지안 접근에 대한 개념, 그리고 두 해석에 기반한 머신러닝 방법론의 이론적 배경에 대해 설명한다.

 

2. 빈도주의 접근 (Frequentist approach)

빈도주의 접근에서 확률은 특정 사건이 어떠한 빈도로 일어날지를 결정하는 값이다. $\mathcal{D}$가 관측된 데이터이고 $\theta$가 확률을 결정하는 매개변수일 때, 확률에 대한 빈도주의 해석은 $p(\mathcal{D}|\theta)$를 바탕으로 이해할 수 있다. 

주사위를 60,000번 던지면 1이 10,000번 나온다

"주사위를 던졌을 때 1이 나올 확률은 1/6이다"라는 명제에 대한 위의 빈도주의 해석은 $\theta$에 의해 1이 나올 확률이 1/6으로 결정된 상황에서 60,000번의 주사위 던지기로 얻어진 $\mathcal{D}$에 대해 서술하는 것과 같다. 즉, 빈도주의 접근에서 확률은 다음의 관측을 예상하기 위한 어떠한 값이다.

 

3. 베이지안 접근 (Bayesian approach)

베이지안 접근에서 확률은 기존의 관측을 바탕으로 어떠한 사건이 일어날 가능성을 나타내는 값이다. 이러한 관점은 아래의 "주사위를 던졌을 때 1이 나올 확률은 1/6이다"라는 명제에 대한 베이지안 해석에서도 나타난다.

주사위를 던질 때 1이 나오는 사건은 1/6의 확률로 발생한다 

베이지안 접근은 반대로 $p(\theta|\mathcal{D})$의 관점에서 이해할 수 있다. 주사위를 여러번 던졌을 때의 관측값들이 $\mathcal{D}$라고 주어졌을 때, 주사위의 값이 1인 사건이 발생할 가능성 ($\theta$에 의해 결정되는 확률)은 1/6이었다. 즉, 베이지안 접근에서 확률은 주어진 사건 또는 관측 $\mathcal{D}$에 대한 어떠한 믿음이다. 베이지안 접근에서 우리는 주어진 관측 $\mathcal{D}$에 대해 어떠한 사건의 확률 $\theta$를 결정하는 것에 관심이 있으며, $p(\theta|\mathcal{D})$는 베이즈 정리를 통해 아래와 같이 계산될 수 있다.

$$p(\theta|\mathcal{D}) = \frac{p(\mathcal{D}|\theta) p(\theta) }{p(\mathcal{D})} \tag{1}$$

베이지안 접근에 대한 더 깊은 이해를 위해서는 conjugate priorMarkov chain Monte Carlo (MCMC) 방법에 관한 내용을 찾아보는 것이 좋다.

 

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

최대 우도 추정 (MLE)은 빈도주의 접근과 밀접한 연관이 있다. 간단한 예제로 100번의 동전 던지기에서 앞면이 43번 나왔을 때, 앞면이 나올 확률 $\theta$는 MLE를 통해 아래의 식 (2)와 같이 추정된다. 이 예제에서 동전 던지기는 앞면이 나올 확률이 $\theta$인 베르누이 시행을 따른다고 가정했다.

$$\begin{align*} &\max_{\theta} p(\mathcal{D}|\theta)\\ \Leftrightarrow \; &\max_{\theta} \prod_{i=1}^{100} p(x_i|\theta)\\ \Leftrightarrow \; &\max_{\theta} \theta^C (1-\theta)^{100 - C}, \tag{2} \end{align*}$$

식 (2)에서 $C = \sum_{i=1}^{100} x_i$이며, 동전이 앞면이면 $x_i=1$, 뒷면이면 $x_i=0$이다. 먼저 계산을 쉽게 하기 위해 식 (2)의 목적 함수 $L$에 로그를 취하고, $\theta$에 대해 목적 함수를 미분하면 아래의 식 (3)을 얻을 수 있다.

$$\begin{align*} \frac{\partial \log L}{\partial \theta} &= \frac{\partial}{\partial \theta} \left(C\log\theta + (100-C) \log(1-\theta) \right) = 0\\ &\Leftrightarrow \frac{C}{\theta} - \frac{100 - C}{1-\theta} = 0\\ &\Leftrightarrow \frac{C - 100\theta}{\theta(1 - \theta)} = 0 \tag{3}\end{align*}$$

식 (3)을 만족하는 $\theta$는 $C/100 = 0.430$이다. 즉, MLE로 추정한 앞면이 나올 확률은 빈도주의 접근으로 계산한 확률 (앞면이 나온 사건의 수 / 전체 시행 수)와 같다. MLE에서는 likelihood $p(\mathcal{D}|\theta)$를 최대화하는 하나의 $\theta$가 존재하며, 이는 빈도주의 접근에서 확률이 하나의 상수로 정의되는 것과 같다.

 

5. 최대 사후 확률 추정 (Maximum A Posteriori Estimation, MAP Estimation)

최대 사후 확률 (MAP) 추정은 베이지안 접근에 기반을 두고 있다. 동전 던지기 예제에서 앞면이 나올 확률은 MAP를 통해 아래와 같이 추정된다.

$$\begin{align*} &\max_{\theta} p(\theta|\mathcal{D})\\ \Leftrightarrow \; &\max_{\theta} \frac{p(\mathcal{D}|\theta)p(\theta)}{p(\mathcal{D})}\\ \Leftrightarrow \; &\max_{\theta} p(\mathcal{D}|\theta)p(\theta) \tag{4} \end{align*}$$

식 (4)의 목적 함수에 로그를 취하고, $p(\theta)$가 베타 분포 (beta distribution) Beta(2, 2)를 따를 것이라는 우리가 가정한 사전 지식을 적용하면 위의 최적화 문제는 아래의 식 (5)로 정의된다. MAP에서 사전 지식에 해당하는 prior 분포 $p(\theta)$의 형태는 절대적인 수학적 법칙에 의해 결정되는 것이 아니라, 기존의 관측 또는 연구자의 직관을 토대로 설정된다.

$$\begin{align*} &\max_{\theta} \log p(\mathcal{D}|\theta) + \log p(\theta)\\ \Leftrightarrow \; &\max_{\theta} C\log \theta + (100 - C)\log (1 - \theta) + \log \theta + \log (1-\theta) - \log \text{B}(2, 2) \tag{5} \end{align*}$$

최적 $\theta$를 찾기 위해 식 (5)의 목적 함수를 $\theta$에 대해 미분하면 아래의 식을 얻을 수 있다.

$$\begin{align*} &\frac{C}{\theta} - \frac{100 - C}{1 - \theta} + \frac{1}{\theta} - \frac{1}{1 - \theta} = 0\\ \Leftrightarrow  \; &\frac{C + 1 - 102\theta}{\theta(1 - \theta)} = 0 \tag{6} \end{align*}$$

따라서, $\theta$는 아래의 과정을 통해 0.431이 된다.

$$\begin{equation} \theta = \frac{C + 1}{102} \approx 0.431 \tag{7} \end{equation}$$

MAP를 통해 얻은 확률 0.431은 MLE를 통해 얻은 확률 0.430 보다 실제 앞면이 나올 확률인 0.5에 더 근접한 것을 확인할 수 있다. 베이지안 접근 및 MAP에서 중요한 점은 $\theta$는 하나의 값이 아니라, 어떠한 분포를 따르는 확률 변수라는 것이다. MLE에서는 $\theta$가 오직 데이터 $\mathcal{D}$에 의해서만 결정되었다면, MAP에서는 데이터와 prior 분포에 대한 가정이 모두 고려되어 $\theta$가 결정된다.

 

6. MLE와 MAP의 장단점

MLE와 MAP는 각각 빈도주의와 베이지안 접근에 기반을 두고 있으며, 아래와 같은 장단점이 있다.

  • MLE는 데이터가 많은 경우에 효율적으로 최적의 $\theta$를 찾을 수 있다.
  • MAP는 데이터가 적거나 편향된 경우에도 prior 분포에 대한 정보를 활용함으로써 $\theta$에 대한 추정 결과를 보정할 수 있다.
  • 일반적으로 MAP는 MLE 보다 더 많은 가정과 계산이 필요하다.
  • 정확한 prior 분포를 설정하는 것은 MAP의 결과에 큰 영향을 준다.

아래의 식 (8)은 마지막으로 언급된 prior 분포의 설정과 MAP 결과의 정확도에 대한 예시이다. 이 예시에서는 prior 분포 $p(\theta)$를 Beta(2, 2)가 아닌 Beta(6, 6)으로 설정했다.

$$\begin{align*} &\frac{\partial}{\partial \theta} \left\{ C \log \theta + (100 - C)\log (1 - \theta) + 3\log \theta + 3\log (1 - \theta) \right\} = 0\\ \Leftrightarrow \; &\frac{C + 3 - 106\theta}{\theta (1 - \theta)} = 0\\ \Leftrightarrow \; &\theta = \frac{C + 3}{106} \approx 0.436 \tag{8} \end{align*}$$

식 (8)과 같이 prior 분포가 Beta(6, 6)일 때 추정된 확률은 0.436으로, 식 (7)에 의해 추정된 확률인 0.431보다 0.5에 더 가까운 것을 확인할 수 있다.

 

7. MLE와 MAP의 관계

MLE는 MAP에서 prior 분포 $p(\theta)$가 균등 분포 (uniform distribution)인 특수한 경우이다. 균등 분포는 매개변수 $\theta$에 관계없이 모든 값이 일정한 확률값 $a$를 갖는다. 따라서, 아래의 식 (9)와 같이 MAP는 MLE와 같아진다.

$$\begin{align*} \theta_{MAP} &= \underset{\theta}{\text{argmax}} \; \log p(\mathcal{D}|\theta) + \log p(\theta)\\ &= \; \underset{\theta}{\text{argmax}} \log p(\mathcal{D}|\theta) + \log a\\ &= \underset{\theta}{\text{argmax}} \; p(\mathcal{D}|\theta)\\ &= \theta_{MLE} \tag{9} \end{align*}$$

MLE로 $\theta$를 추정한다는 것은 prior 분포 $p(\theta)$를 가장 단순한 균등 분포로 가정한다는 것이다. MLE와 MAP 간의 이러한 관계는 왜 MAP가 더 많은 가정과 계산을 요구함에도 MLE 보다 좋은 결과를 줄 수 있는지를 보여준다.

 

참고 1. 베이즈 정리 (Bayes' Theorem)

베이지안 접근 및 MAP의 기본이 되는 베이즈 정리에 대해 설명한다. 베이즈 정리는 식 (10)과 같이 두 조건부 확률의 관계를 정의한 것이다.

$$P(A|B) = \frac{P(A, B)}{P(B)} = \frac{P(B|A)P(A)}{P(B)} \tag{10}$$

베이즈 정리의 가장 큰 이점은 사전 지식을 활용하여 우리가 알고자 하는 확률 분포를 추정할 수 있다는 것이다. 아래는 베이즈 정리를 활용하여 확률을 추정하는 예제이다.

발병률이 1%인 어떠한 질병의 감염 여부를 판별하기 위한 검사가 있다. 이 검사에서는 실제로 병에 걸린 사람은 99%, 병에 걸리지 않은 사람은 0.1%의 확률로 양성이 나온다. 검사에서 양성이 나왔을 때, 검사 대상자가 진짜 질병에 걸렸을 확률은 얼마인가?

위 예제에서는 A와 B를 아래와 같이 각각 TRUE와 FALSE라는 두 개의 값을 가질 수 있는 확률변수로 정의할 수 있다.

  • A = T: 질병에 걸림
  • A = F: 질병에 걸리지 않음
  • B = T: 검사 결과가 양성
  • B = F: 검사 결과가 음성

예제에서 우리가 알고자 하는 확률은 $P(A=T|B=T)$이며, 이는 베이즈 정리에 의해 아래와 같이 계산된다.

$$\begin{align*} P(A=T|B=T) &= \frac{P(B=T|A=T)P(A=T)}{P(B=T)}\\ &= \frac{P(B=T|A=T)P(A=T)}{P(B=T|A=T)P(A=T) + P(B=T|A=F)P(A=F)}\\ &= \frac{0.99 \times 0.01}{0.99 \times 0.01 + 0.001 \times 0.99}\\ &\approx 0.917 \tag{2} \end{align*}$$

따라서, 예제의 검사에서 양성이 나오면 검사 대상자는 약 91%의 확률로 실제 질병에 걸린 것이다. 즉, 해당 검사의 적중률은 약 91%이다.