
지난 시간에 이어...
$n$개의 관측 데이터
$x_1, x_2, \cdots, x_n$
와 두 군집
$G_1 \sim N(0,1^2)$, $G_2 \sim N(2,1^2)$
이 있을 때, 주어진 데이터들을 가장 잘 설명하는 파라미터 $\pi$를 찾아야 한다.
우도 $\ell(\mathbf{X} | \pi)$는 다음과 같다.
$\ell(\mathbf{X} | \pi) = \displaystyle \prod_{k=1}^{n} p(x_k | \pi)$
여기서 $\mathbf{X}$는 $x_1, x_2, \cdots, x_n$을 하나의 벡터로 표기한 것이다.
로그를 씌우면
$\ln \ell(\mathbf{X} | \pi) = \displaystyle \sum_{k=1}^{n} \ln p(x_k | \pi)$
이다. 그런데
$p(x_k | \pi) = \pi f_1(x_k) + (1-\pi) f_2(x_k)$
이므로 로그우도는
$\ln \ell(\mathbf{X} | \pi) = \displaystyle \sum_{k=1}^{n} \ln \{ \pi f_1(x_k) + (1-\pi)f_2(x_k)\}$
이다. 이 식을 그대로 사용할 수도 있겠지만 로그 안에 덧셈이 식을 다루는데 큰 불편을 준다.
로그우도를 예쁘게
수학자들은 이 불편을 제거하기 위해 새로운 변수 하나를 도입한다. 이름하여 정답 확률변수 $\mathbf{Z} = (z_1, z_2, \cdots, z_n)$ 전지적인 신의 관점에는 $x_1$이 $G_1$에 속할지 $G_2$에 속하는지 안다.
$G_1$에 속하면 $z_1=1$ $G_2$에 속하면 $z_1=0$이라 가정하면 $x_1$의 관측 확률 $p(x_1 | \pi)$는 다음과 같이 다시 쓸 수 있다.
$p(x_1 | \pi) = \left[ \pi f_1(x_1) \right]^{z_1} \left[ (1-\pi)f_2(x_1) \right]^{1-z_1} $
새로운 확률 변수 $\mathbf{Z}$를 도입하여 로그우도를 계산해보자
$\begin{aligned} \ln \ell(\mathbf{X}, \mathbf{Z} | \pi) &= \displaystyle \sum_{k=1}^{n} \ln \left[ \pi f_1(x_1) \right]^{z_1} \left[ (1-\pi)f_2(x_1) \right]^{1-z_1} \\ &= \sum_{k=1}^{n} \left[ z_k \ln \pi f_1(x_k) + (1-z_k) \ln (1-\pi)f_2(x_k) \right]\\ &= \sum_{k=1}^{n} \left[ z_k \ln \pi + z_k \ln f_1(x_k) + (1-z_k) \ln \pi + (1-z_k) \ln f_2(x_k) \right] \end{aligned}$
새로운 확률변수를 도입하니까 로그우도가 정말 예쁘게 나왔다.
다만, 문제는 우리는 전지적 존재(Omniscient Existence)가 아니기 때문에 $\mathbf{Z}$를 알 수 없다는 사소한 문제가 있다.
$\mathbf{Z}$ - 가질 수 없다면 추정해버리겠어..!
첫번째 자료 $x_1$이 $G_1$과 $G_2$ 중 어디에 속하는지 모른다. 즉, 우리는 $z_1$이 $1$인지 $0$인지 모른다. 하지만 조금이라도 주어진 단서들을 이용해서 $z_1$ 대신 확률적으로 추정할 수 있지 않을까? $G_1$에 속할 확률은 $0.4$ 이런 식으로.. 이런 확률을 $\gamma_1$라 하면 다음과 같다.
$\gamma_1 = p(z_1 = 1 | x_1 , \pi) $
주어진 단서 $x_1$의 값과 미지의 파라미터 $\pi$를 이용해서 $x_1$이 $G_1$에 속할 가능성을 구해보자. 조건부확률에 의해(베이즈 정리에 의해)
$\gamma_1 = \dfrac{ \pi f_1(x_1) }{ \pi f_1(x_1) + (1-\pi)f_2(x_1) }$
다만, 여기서 $\pi$를 모르기 때문에 임의의 값을 사용할 수 밖에 없다.(이 부분에 강한 반발감이 들겠지만 베이지안적 사고방식을 받아들이거나 후에 나올 수치해석적으로 이와 같은 방법을 반복적용하여 참값을 얻을 수 있다는 사실을 이해해야 한다)
예를 들어 $\pi = 0.5$로 임의로 정했다고 가정하자.
이제 우리는 $\mathbf{Z} = (z_1, z_2, \cdots, z_n)$ 대신 $\mathbf{\Gamma} = (\gamma_1, \gamma_2, \cdots, \gamma_n)$을 사용하자. 그러면 로그우도는
$\ln \ell(\mathbf{X}, \mathbf{\mathbf{\Gamma}} | \pi) = \displaystyle \sum_{k=1}^{n} \left[ \gamma_k \ln \pi + \gamma_k \ln f_1(x_k) + (1-\gamma_k) \ln \pi + (1-\gamma_k) \ln f_2(x_k) \right]$
이다.
어? 그런데 $\pi=0.5$로 써야하는 것 아닌가? 아니다.
$\gamma_k$를 추정하기 위해 $\pi=0.5$라는 임의의 값을 썼지만 이렇게 구한 $\gamma_k$들을 가지고 로그우도가 최대가 되는 새로운 $\pi$(진정한 $\pi$에 좀 더 가까운 값)을 찾아야 한다. 처음에 사용한 임의의 $\pi$와 구분하기 위해 처음 값은 $\pi_0$, 새로 얻은 값은 $\pi_1$이라 하자.
그러하면 이렇게 얻은 $\pi_1$을 이용해서 새로운 $\gamma_k$들을 찾을 수 있지 않을까? 이것을 구분하기 위해 전에 사용한 $\mathbf{\Gamma}$를 $\mathbf{\Gamma}_0$라 하고 새롭게 구하려는 것을 $\mathbf{\Gamma}_1$라 하자.
① $\pi_0$를 이용해서 $\mathbf{\Gamma}_0$를 추정한다
② 추정한 $\mathbf{\Gamma}_0$를 로그우도에 대입 후 로그우도를 최대로 만드는 $\pi_1$을 찾는다.
③ $\pi_1$을 이용해서 새로운 $\mathbf{\Gamma}_1$을 추정한다.
...
이와 같은 반복을 하면 최적의 $\pi_{\text{opt}}$값을 찾을 수 있음이 수학적으로 알려져 있다.(정확히는 수렴성이)
이 방법이 그 유명한 EM알고리즘(Expectation-Maximization)이다. 수렴성 증명은 이곳으로
연습문제
1. $G_1 \sim N(0,1^2)$이고 $G_2$는 $\lambda=1$인 지수분포를 따릅니다. 데이터 $x=0$이 관측되었을 때, 이 데이터가 $G_1$과 $G_2$에 속할 확률을 모르는 상태입니다. $x$가 $G_1$에 속할 사전 확률이 $0.5$, $G_2$에 속할 사전 확률이 $0.5$일 때, $x$가 $G_1$과 $G_2$에 속할 확률을 구하시오. (단, $\frac{1}{\sqrt{2\pi}} \approx 0.4$)
2. 위 문제에서 얻은 사후 확률을 사전 확률로 두고 새로운 사후 확률을 구하는 과정을 10번 반복하여 얻은 값을 소수점 아래 네 번재 자리까지 반올림한 값을 구하시오.(컴퓨터나 계산기 사용 가능)
'단편 강의' 카테고리의 다른 글
| 행렬식(Determinants)(2) (0) | 2026.04.15 |
|---|---|
| 행렬식(Determinants)(1) (0) | 2026.04.15 |
| 이 데이터, 여기서 나왔을 확률은? - Membership Problem(3) (0) | 2026.04.14 |
| 이 데이터, 여기서 나왔을 확률은? - Membership Problem(2) (0) | 2026.04.13 |
| 이 데이터, 여기서 나왔을 확률은? - Membership Problem(1) (0) | 2026.04.13 |