logo

혼합 분포 📂수리통계학

혼합 분포

도입1

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

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

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

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

정의

쉬운 정의

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

엄밀한 정의2

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

$$ f(x) = \pi_{1} f_{1}(x) + \cdots + \pi_{k} f_{k}(x) = \sum_{i=1}^{k} \pi_{i} f_{i}(x) \tag{1} $$

설명

한편 $f$가 확률밀도함수가 되기 위해서는 $\pi_{i}$들은 모두 더했을 때 $1$이 되어야 한다는 조건이 필요하다. 간단히 보이자면, $(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 $$ $$ \implies \sum_{i=1}^{k} \pi_{i} = 1 $$

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

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

혼합 계수혼합 확률가중치
mixing coefficientsmixing probabilitesweights
$\pi_{i}$$p_{i}$$w_{i}$
$\sum\limits_{i=1}^{k} \pi_{i} = 1$$\sum\limits_{i=1}^{k} p_{i} = 1$$\sum\limits_{i=1}^{k} w_{i} = 1$
$0 \le \pi_{i} \le 1$$0 \le p_{i} \le 1$$0 \le w_{i} \le 1$

누적분포함수

확률밀도함수 $f$에 대응되는 확률변수가 $X$라고 하면, $X$의 누적분포함수 $F_{X}$는 다음과 같다.

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

이때 $F_{i}$는 $f_{i}$에 대응되는는 누적분포함수이다.

기댓값

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

$$ \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*} $$

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

분산

$X$의 분산은 다음과 같다.

$$ \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*} $$

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

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

이때 $\sigma_{i}^{2}$는 $X_{i}$의 분산이다.

책임값

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

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

$$ f_{i}(x) = f(x | i) $$

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

$$ \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. ↩︎