logo

혼합 분포 📂수리통계학

혼합 분포

도입1

아래 그림과 같은 확률밀도함수를 갖는 확률분포를 근사하고 싶다고 하자.

확률분포를 근사하는 기본적인 방법 중 하나는 근사하고자 하는 분포와 가장 닮은 정규분포를 찾는 것이다. 하지만 다음의 그림이 보여주듯이, 우리가 근사하고자하는 분포는 봉이 세 개이므로 정규분포로 이를 적절히 근사하는 것은 어려워보인다.

여기서 이렇게 생각해볼 수 있다. 정규분포는 하나의 봉을 갖고 있고, 우리가 근사하고자 하는 분포는 세 개의 봉을 갖고 있다. 그렇다면 세 개의 정규분포를 더하여 근사하고자 하는 분포를 근사할 수 있지 않을까? 이것이 바로 혼합 분포의 아이디어이다. 실제로 위의 확률밀도함수는 다음과 같다.

p(x)=12N(5,1)+14N(4,1)+14N(0,1.5) p(x) = \dfrac{1}{2}N(5, 1) + \dfrac{1}{4}N(-4, 1) + \dfrac{1}{4}N(0, 1.5)

정의

쉬운 정의

확률분포들의 선형결합혼합 분포mixture distribution라고 한다.

엄밀한 정의2

kk개의 확률분포의 확률밀도함수가 각각 f1,,fkf_{1}, \dots, f_{k}라 하자. 혼합 계수mixing coefficient π1,,πk\pi_{1}, \dots, \pi_{k}에 대해서 다음의 확률밀도함수 ff가 따르는 분포를 혼합분포mixture distribution라고 한다.

f(x)=π1f1(x)++πkfk(x)=i=1kπifi(x)(1) f(x) = \pi_{1} f_{1}(x) + \cdots + \pi_{k} f_{k}(x) = \sum_{i=1}^{k} \pi_{i} f_{i}(x) \tag{1}

설명

한편 ff가 확률밀도함수가 되기 위해서는 πi\pi_{i}들은 모두 더했을 때 11이 되어야 한다는 조건이 필요하다. 간단히 보이자면, (1)(1)의 양변을 적분하면 다음을 얻는다.

f(x)dx=(i=1kπifi(x))dx=i=1kπifi(x)dx=i=1kπi=1 \int f(x) dx = \int \left( \sum_{i=1}^{k} \pi_{i} f_{i}(x) \right) dx = \sum_{i=1}^{k} \pi_{i} \int f_{i}(x) dx = \sum_{i=1}^{k} \pi_{i} = 1     i=1kπi=1 \implies \sum_{i=1}^{k} \pi_{i} = 1

또한 fi0f_{i} \ge 0이므로 각각의 πi\pi_{i}πi[0,1]\pi_{i} \in [0, 1]을 만족해야 한다.

한편 πi\pi_{i}는 자연스럽게 확률, 가중치 등으로도 불릴 수 있다. 확률에 대한 해석은 문서 아래의 책임값 단원을 참고하자.

혼합 계수혼합 확률가중치
mixing coefficientsmixing probabilitesweights
πi\pi_{i}pip_{i}wiw_{i}
i=1kπi=1\sum\limits_{i=1}^{k} \pi_{i} = 1i=1kpi=1\sum\limits_{i=1}^{k} p_{i} = 1i=1kwi=1\sum\limits_{i=1}^{k} w_{i} = 1
0πi10 \le \pi_{i} \le 10pi10 \le p_{i} \le 10wi10 \le w_{i} \le 1

누적분포함수

확률밀도함수 ff에 대응되는 확률변수XX라고 하면, XX누적분포함수 FXF_{X}는 다음과 같다.

FX(x)=i=1kπkFi(x) F_{X}(x) = \sum\limits_{i=1}^{k} \pi_{k} F_{i}(x)

이때 FiF_{i}fif_{i}에 대응되는는 누적분포함수이다.

기댓값

각각의 fif_{i}에 대응되는 확률변수를 XiX_{i}라 하자. XiX_{i}들의 평균이 μi=E[Xi]\mu_{i} = E[X_{i}]라 하자. XX의 기댓값은 다음과 같다.

E[X]=xf(x)dx=xi=1kπifi(x)dx=i=1kπixfi(x)dx=i=1kπiμi=μ \begin{align*} E[X] &= \int x f(x) dx = \int x\sum\limits_{i=1}^{k} \pi_{i}f_{i}(x)dx \\ &= \sum\limits_{i=1}^{k}\pi_{i} \int x f_{i}(x)dx = \sum\limits_{i=1}^{k}\pi_{i}\mu_{i} \\ &= \mu \end{align*}

다시 말해 μ=E[X]\mu = E[X]μi\mu_{i}들의 가중평균이다.

분산

XX의 분산은 다음과 같다.

Var(X)=(xμ)2f(x)dx=(xμ)2i=1kπifi(x)dx=i=1kπi(xμ)2fi(x)dx=i=1kπi[(xμi)+(μiμ)]2fi(x)dx=i=1kπi[(xμi)2fi(x)dx+2(μiμ)(xμi)fi(x)dx+(μiμ)2fi(x)dx]=i=1kπi(xμi)2fi(x)dx+i=1kπi(μiμ)2fi(x)dx \begin{align*} &\Var(X) \\ &= \int (x - \mu)^{2} f(x) dx = \int (x - \mu)^{2} \sum\limits_{i=1}^{k} \pi_{i}f_{i}(x)dx \\ &= \sum\limits_{i=1}^{k}\pi_{i} \int (x - \mu)^{2} f_{i}(x)dx \\ &= \sum\limits_{i=1}^{k}\pi_{i} \int \big[(x - \mu_{i}) + (\mu_{i} - \mu) \big]^{2} f_{i}(x)dx \\ &= \sum\limits_{i=1}^{k}\pi_{i} \left[ \int (x - \mu_{i})^{2} f_{i}(x)dx + 2(\mu_{i} - \mu) \int (x - \mu_{i}) f_{i}(x)dx \right. \\ &\qquad \qquad + \left. \int (\mu_{i} - \mu)^{2} f_{i}(x)dx \right] \\ &= \sum\limits_{i=1}^{k}\pi_{i} \int (x - \mu_{i})^{2} f_{i}(x)dx + \sum\limits_{i=1}^{k}\pi_{i} (\mu_{i} - \mu)^{2} \int f_{i}(x)dx \end{align*}

마지막 등호는 교차항에서 (xμi)fi(x)dx=0\int (x - \mu_{i}) f_{i}(x)dx = 0이 되므로 성립한다. 수식을 마저 정리하면 다음과 같다.

Var(X)=i=1kπiσi2+i=1kπi(μiμ)2 \Var(X) = \sum\limits_{i=1}^{k}\pi_{i} \sigma_{i}^{2} + \sum\limits_{i=1}^{k}\pi_{i} (\mu_{i} - \mu)^{2}

이때 σi2\sigma_{i}^{2}XiX_{i}의 분산이다.

책임값

i=1kπi=1πi0i \begin{array}{c} \sum\limits_{i=1}^{k} \pi_{i} = 1 \\[1em] \pi_{i} \ge 0 \quad \forall i \end{array}

πi\pi_{i}가 만족해야하는 성질이 확률의 그것과 같기 때문에 이를 확률로 해석할 수 있고, 이 경우엔 혼합 확률mixing probability라 한다. f(i)=πif(i) = \pi_{i}ii번째 성분이 뽑힐 사전 확률밀도로 본다면, fi(x)f_{i}(x)를 다음과 같이 ii가 주어졌을 때의 조건부 확률밀도로 볼 수 있다.

fi(x)=f(xi) f_{i}(x) = f(x | i)

그러면 사후 확률밀도 f(ix)f(i | x)베이즈 정리에 따라 다음과 같으며 γi\gamma_{i}책임값responsibility이라고 한다.

γi(x)=f(ix)=f(i)f(xi)j=1kf(j)f(xj)=f(i)f(xi)f(x) \begin{align*} \gamma_{i}(x) &= f(i | x) \\ &= \dfrac{f(i) f(x | i)}{\sum\limits_{j=1}^{k} f(j) f(x | j)} \\ &= \dfrac{f(i) f(x | i)}{f(x)} \end{align*}


  1. Christoper M. Bishop, Pattern Recognition annd Machine Learning (2006), p110-113 ↩︎

  2. Hogg et al. (2018). Introduction to Mathematical Statistcs(8th Edition): p218~220. ↩︎