본문 바로가기
단편 강의

이 데이터, 여기서 나왔을 확률은? - Membership Problem(3)

by 취미수학 2026. 4. 14.

 

자, 이제는 현실의 문제를 직시하자. 관측 데이터가 주어졌지만 군집 $G_1$과 $G_2$에 속할 확률 $\pi$, $1-\pi$를 모르고 사실 두 군집의 파라미터들도 모른다고 가정하자. 

 

난감한 문제1 - 관측 데이터 1개 / 소속확률만 모르는 경우

$G_1 \sim N(0,1^2)$, $G_2 \sim N(2,1^2)$입니다. 데이터 $x=1$이 주어졌을 때, 이 데이터가 $G_1$과 $G_2$에 속할 확률을 모르는 상태입니다. $x=1$이 $G_1$에 속할 가능성을 구하세요. 각각의 확률밀도함수는 $f_1(x)$, $f_2(x)$라 한다.

 

$G_1$에 속할 확률을 $\pi$라 하면 주어진 데이터의 가능도(우도)는 다음과 같이 쓸 수 있다.

 

$\ell(x=1 | \pi) = \pi f_1(1) + (1-\pi) f_2(1)$

 

그런데, $\pi$를 모르므로 더 이상 문제를 해결할 수 없다.

 

그렇다면 질문을 바꾸자. 어차피 구할 수 없다면, 주어진 관측 데이터를 가장 잘 설명할 수 있는 $\pi$값을 찾아보자. 즉, MLE처럼 주어진 데이터는 아웃라이어가 아닌 흔하게 관측될 수 있는 것이라고 생각해보자는 것이다.

 

위 식을 $\pi$에 대해 미분해서 $0$이 되는 곳을 찾아보자.

 

미분하면

 

$\dfrac{dp}{d\pi} = f_1(1) - f_2(1) = 0$

 

이 되어. $\pi$값에 관계없이 늘 미분값이 $0$이다. 이것은 하필 관측 데이터 $x=1$이 두 정규분포의 평균으로부터 같은 거리만큼 떨어져 있다보니 소속확률 $\pi$와 상관없이 늘 가능성이 일정하다는 결론이다. 그리고 관측 데이터가 두 정규분포의 평균으로부터 서로 다른 거리만큼 떨어져 있으면 미분값은 $0$아닌 상수가 되어 $\pi$를 구하지 못하기는 마찬가지다. 이런 현상은 군집이 많은데 데이터는 $1$개뿐이라서 발생하는 과적합(Overfitting)이다.

 

현실적으로도 $x=1$ 어디 소속이더라도 상관이 없는 이상적으로 가능성이 반반인 데이터라서 이런 문제를 일으키는 것이다. 다음 문제에서는 이런 이상치를 배제해보자.

 

난감한 문제2 - 관측 데이터 2개 / 소속확률만 모르는 경우

상황은 첫번째 문제와 같고 관측 데이터만 $x=0$과 $x=3$이라 하자. 그렇다면 가능성(우도)은

 

$\ell(x=0, x=3 | \pi) = p(x=0 | \pi) \cdot p(x=3 | \pi)$

 

단, $p(x=0 | \pi) = \pi f_1(0) + (1-\pi)f_2(0)$ 이고 $p(x=3 | \pi) = \pi f_1(3) + (1-\pi)f_2(3)$이다.

 

미분을 하기 좋게 양변에 로그를 씌워 로그우도를 만들자.

 

$\ln \ell(x=0, x=3 | \pi) = \ln p(x=0 | \pi) + \ln p(x=3 | \pi) $

 

양변을 $\pi$로 미분하면

 

$\dfrac{d\ln \ell}{d\pi} = \dfrac{ f_1(0) - f_2(0) }{ \pi f_1(0) + (1-\pi)f_2(0) } + \dfrac{ f_1(3) - f_2(3) }{ \pi f_1(3) + (1-\pi)f_2(3) }$

 

이므로 $\dfrac{d\ln \ell}{d\pi} = 0$이 되는 $\pi$값을 구하면

 

$\pi = \dfrac{ \left\{ f_2(0) - f_1(0) \right\}f_2(3) + \left\{ f_2(3) - f_1(3) \right\}f_2(0) }{ 2 \left\{ f_1(0) - f_2(0) \right\} \left\{ f_1(3) - f_2(3) \right\} }$

 

이렇게 구했다. 이제 이 값을 이용해서 각 군집에 속할 확률을 구할 수 있다.

 

난감한 문제라곤 했지만 그래도 정확한 값을 구할 수 있으니 어렵지 않다. 그렇다면 좀만 더 어렵게 가보자.

 

난감한 문제3 - 관측 데이터 3개 / 소속확률만 모르는 경우

같은 상황에서 관측 데이터가 $x=0, 3, 4$라 해보자. 바로 로그우도로 들어가면(항 하나만 추가하면 된다)

 

$\ln \ell(x=0, 3, 4 | \pi) = \ln p(x=0 | \pi) + \ln p(x=3 | \pi) + \ln p(x=4 | \pi)$

 

$\pi$로 미분하면

 

$\dfrac{d\ln \ell}{d\pi} = \dfrac{ f_1(0) - f_2(0) }{ \pi f_1(0) + (1-\pi)f_2(0) } + \dfrac{ f_1(3) - f_2(3) }{ \pi f_1(3) + (1-\pi)f_2(3) } + \dfrac{ f_1(4) - f_2(4) }{ \pi f_1(4) + (1-\pi) f_2(4) }$

 

이다. $\dfrac{\ln L}{d\pi} = 0$을 풀기 쉽게 하기 위해

 

$c_1 = f_1(0) - f_2(0)$, $c_2 = f_1(3) - f_2(3)$, $c_3 = f_1(4) - f_2(4)$

 

로 치환하면

 

$\dfrac{d\ln \ell}{d\pi} = \dfrac{c_1}{c_1 \pi +f_2(0)} + \dfrac{c_2}{c_2 \pi +f_2(3)} + \dfrac{c_3}{c_3 \pi + f_2(4)} $

 

이므로 $\dfrac{d\ln \ell}{d\pi} = 0$을 풀어보자. 분자가 중요하므로 통분한 분자만 구하면

 

$c_1 \{ c_2\pi+f_2(3) \}\{ c_3\pi+f_2(4) \} + c_2 \{ c_1\pi+f_2(0) \}\{c_3\pi+f_2(4)\} + c_3 \{ c_1\pi+f_2(0) \}\{ c_2\pi+f_2(3) \}$

 

이므로 위 분자가 $0$이 되려면

 

$ a\pi^2 + b\pi + c = 0$

 

$a = c_1c_2c_3$

$b = c_1\{ c_2f_2(4) + c_3f_2(3) \} + c_2\{ c_1f_2(4) + c_3f_2(0) \} + c_3\{ c_1f_2(3)+c_2f_2(3) \}$

$c = c_1f_2(3)f_2(4) + c_2f_2(0)f_2(4) + c_3f_2(0)f_2(3)$

 

이러한 이차방정식을 풀어야 한다.

 

관측 데이터가 2개일 때는 일차방정식, 3개일 때는 이차방정식이었으므로 4개 이상이면 손으로 푸는 것은 포기해야 한다. 관측 데이터가 $n$개 이면 풀어야 하는 방정식은 $n-1$차 방정식인데, 과연 어떻게 해야할까?

 

수학과 수치해석 시간에 방정식을 푸는 여러 가지 방법을 배우지만 머신러닝에서 가장 직관적이고 구현이 쉬운 방법은 경사하강법(Gradient Descent Method)이다.

 

하지만 경사하강법은 다음과 같은 문제가 있다.

 

① 제약 조건을 고려하는 것이 귀찮다.

확률 조건 $0 \le \pi \le 1$과 분산 조건 $\sigma^2>0$을 만족하지 않은 값을 구하게 될 수도 있다.(분산을 몰라서 추정해야 하는 경우)

 

② 보폭(Learning Rate) 설정 문제

보폭이 너무 작으면 수렴이 느리고 보폭이 너무 크면 수렴하지 않을 수 있는 문제가 있어서 경사하강법은 언제나 보폭 결정할 때 수많은 실험으로 결정할 수 밖에 없다.

 

따라서 다음 시간에는 태생적으로 위 두 가지 제약에서 자유로운 최적화 방법을 알아보자.