PRML [2.2] 다항 변수
K차원 벡터 (one hot encoding)
이산 확률 변수는 두 가지 값(0, 1) 중 하나가 일어나는 케이스에 대해서 사용한다. 하지만 세상의 대부분 케이스들은 그런 이분법적인 상황으로 나뉘어지지 않는다. 동전 던지기가 아니고 주사위라면? 인구 집단을 단순히 남성 여성이 아니라 다양한 직업군으로 나누게 된다면?
이런 상황에서 사용할 수 있는 게 one hot encoding 이다. 각각의 변수가 K차원의 벡터 $\bf x$로 나타내어지고, $x_k$들 중 하나가 1로 표시된다.
\[{\bf x} = (0,0,1,0,0,0)^T \qquad{(2.25)}\]이런 벡터들은 $\sum_{k=1}^{K}x_k=1$ 을 만족한다. K차원 벡터에서 딱 하나의 요소만 1이고, 나머지는 0이라는 뜻이다.
$x_k=1$ 이 될 확률을 $\mu_k$라고 한다면 $\bf x$의 분포는 다음과 같이 표현된다.
\[p({\bf x}|{\pmb \mu}) = \prod_{k=1}^{K}\mu_k^{x_k} \qquad{(2.26)}\]- $\pmb\mu=(\mu_1,…,\mu_K)^T$ : 각 범주에 속할 확률
- $\mu_k \geq 0$, $\sum_k \mu_k=1$ 조건 만족
- $\prod_{k=1}^{K}\mu_k^{x_k}$ : K개의 범주에 대한 모든 확률의 곱
- 즉, 위 식은 각 범주 k에 속할 $\mu_k$ 가 주어졌을 때, 관측된 데이터 $x$ 가 발생할 확률이다.
- 3개의 범주가 있고, 발생할 확률이 각각 $\mu_1, \mu_2, \mu_3$이고, 이 범주가 각각 $x_1, x_2, x_3$ 번 관찰되었으면, 전체 데이터셋이 관찰될 확률은 $\mu_1^{x_1}\mu_2^{x_2}\mu_3^{x_3}$
결국 식 2.26은 베르누이 분포를 결괏값이 두 가지 이상인 경우로 일반화한 것이다.
$\bf x$ 에 대해 다음을 만족한다.
\[\sum_{\bf x}p({\bf x} | {\pmb \mu})=\sum_{k=1}^{K}\mu_k =1 \qquad{(2.27)}\] \[E[{\bf x}|{\pmb \mu}] = \sum_{\bf x}p({\bf x}|{\pmb \mu}){\bf x} = (\mu_1, ..., \mu_K)^T = {\pmb \mu} \qquad{(2.28)}\]$p(D|{\pmb \mu})$
이제 관측값 $\bf x$들의 집합, $D$에 대한 가능도 함수를 계산해보자. 매개변수 $\mu$가 주어졌을 때 데이터 $D$가 나타날 가능도이다.
\[p(D|{\pmb \mu}) = \prod_{n=1}^{N}\prod_{k=1}^{K}\mu_k^{x_{nk}} = \prod_{k=1}^{K}\mu_k^{(\sum_n x_{nk})}=\prod_{k=1}^{K}\mu_k^{m_k} \qquad{(2.29)}\]이제 이 식에서 우리는 한 가지를 알 수 있다. 가능도 함수가 각 데이터 포인트의 세부적인 정보(예: 개별 데이터 포인트의 위치나 순서 등)보다는 각 범주에 속하는 데이터 포인트의 총 수에 더 의존한다는 것이다.
\[m_k = \sum_n{x_{nk}} \qquad{(2.30)}\]식 2.30은 다항 분포에서 $k$번째 범주에 대한 충분 통계량이다.
충분 통계량(Sufficient Statistic)은 데이터 셋의 특성을 요약하는 통계량으로, 원본 데이터와 동일한 양의 정보를 담고 있어, 해당 통계량만으로 매개변수의 추정에 필요한 모든 정보를 제공하는 것이다. 앞에서 동전 던지기에서도 봤지만, 앞이 나올 확률을 { 앞면 / 전체 }로 계산한 것과 같다. 이 범주가 나올 확률은 이 범주가 이미 나온 총 횟수에 종속적이라는 것이다.
$k$ 번째 범주에 해당하는 모든 관측치들의 합, 즉 $x_k=1$ 인 관측값의 개수이다. $k$ 번째 범주가 전체 데이터셋에서 나타난 총 횟수를 더한 값이다.
다항분포의 매개변수 추정
방금 매개변수 $\mu$가 주어졌을 때, 데이터 집합 $D$에 대한 가능도 함수를 알아봤다.
MLE를 이용해서 이 다항분포의 매개변수를 추정해야 하겠다. $\mu$ 값의 최대 가능도 해를 찾기 위해서는 로그 가능도 함수의 최댓값을 찾자. $\mu_k$의 합이 1이어야 한다는 제약 조건이 있기 때문에 라그랑주 승수 $\lambda$를 사용했다.
\[\sum_{k=1}^{K}m_k\ln \mu_k + \lambda\left(\sum_{k=1}^{K}\mu_k-1\right) \qquad{(2.31)}\]cf ) 라그랑주 승수
제약 조건이 있는 최적화 문제를 해결하는 데 사용된다.
제약 조건을 원해 목적 함수에 통합하여, 제약 조건 없이 최적화할 수 있는 새로운 함수 (라그랑주 함수)를 생성한다.
이러면 제약 조건을 자연스럽게 처리할 수 있다.
$p(D|\mu)$가 최대가 되는 $\mu_k$를 구하자. 식 2.32을 $\mu_k$에 대해 미분하고 0으로 두면 다음을 얻을 수 있다.
\[\mu_k = -\frac{m_k}{\lambda} \qquad{(2.32)}\]이 식을 제약 조건 $\sum_k \mu_k = 1$에 대입하면 $-{1 \over \lambda} (m_1+…+m_k)=1$ 이므로 라그랑주 승수 $\lambda = -N$임을 알 수 있다. 따라서 최대 가능도 해는 다음과 같다.
\[\mu_k^{ML} = \dfrac{m_k}{N} \qquad{(2.33)}\]결국 { 범주 $k$에서 1이 나온 횟수 / 전체 } 이다. 관측값 $N$개 중에 $x_k = 1$인 경우의 비율이다.
$m_1, …, m_K$의 결합 분포를 계산해보자.
\[Mult(m_1, m_2, ..., m_K|{\pmb \mu}, N) = \binom{N}{m_1m_2...m_k}\prod_{k=1}^{K}\mu_k^{m_k} \qquad{(2.34)}\]- $m_k$ : 범주 $k$에서 관찰된 횟수
- $\binom{N}{m_1m_2…m_k}$ : 관측값의 순서에 따라 달라지는 경우의 수. 정규화 계수.
- $\prod_{k=1}^{K}\mu_k^{m_k}$ : 각 범주의 확률을 곱한 값
식 2.34를 다항 분포 (multinominal distribution)이라고 한다.
그리고 당연하다면 당연한, 모든 범주에서 관찰된 모든 횟수의 합은 $N$이다.
\[\sum_{k=1}^{K}m_k=N \qquad{(2.36)}\]2.2.1 디리클레 분포 (Dirichlet distribution)
위에서 다항 분포의 매개변수 $\mu$를 추정하는 과정을 확인했다.
이제 이 다항 분포의 사전 분포를 살펴보자.
\[p({\pmb \mu}|{\pmb \alpha}) \propto \prod_{k=1}^{K}\mu_k^{a_k-1} \qquad{(2.37)}\]- $0 \leq \mu_k \leq 1$ , $\sum_k \mu_k = 1$
- $\pmb \alpha = (\alpha_1, …, \alpha_K)^T$
- $\mu_k$ : 다항 분포의 매개변수
- $\alpha$ : 사전 분포의 매개변수
식 2.37은 주어진 매개변수 $\alpha$ 에 대해 $\mu_k$들이 나타날 확률을 계산한 것이다. 이것이 $\mu_k$ 들에 대한 사전분포이다.
$\alpha_1, …, \alpha_K$ 들이 디리클레 분포의 매개변수라고 했는데, 분포의 형태(무게중심)을 결정한다. $\alpha_k$ 값에 따라 $\mu_k$의 분포가 바뀐다. 모든 $\alpha_k$가 1로 동일한 경우, 모든 $\mu_k$들은 균등하게 분포한다. 특정 $\alpha_k$가 크면 범주 k에 더 큰 비중을 두는 분포가 된다.
합산 제약 조건 때문에 {$\mu_k$} 공간에서 이 분포는 $K - 1$ 차원의 simplex로 표현된다.
위 그림은 $K=3$인 경우에 대한 심플렉스이다. 파란색 선으로 둘러쌓인 빨간색 평면, 즉 2차원의 공간 위에 분포되어 있다.
이 분포가 정규화된 것이 디리클레 분포(Dirichlet distribution)이다.
\[Dir({\pmb \mu}|{\pmb \alpha})=\dfrac{\Gamma(\alpha_0)}{\Gamma(\alpha_1)\cdots\Gamma(\alpha_K)}\prod_{k=1}^{K}\mu_k^{\alpha_k-1} \qquad{(2.38)}\]- $\Gamma(x)=\int_{0}^{\infty}\mu^{x-1}e^{-u}du$
- $\alpha_0=\sum_{k=1}^{K}\alpha_k \qquad{(2.39)}$
다음은 $\alpha_k$가 각각 0.1, 1, 10인 경우 디리클레 분포의 도표이다.
디리클레 분포로 사전 분포를 알아냈으니, 사후 분포를 계산할 수 있겠다. 식 2.38의 사전 분포에 식 2.34의 가능도 함수를 곱하면 {$\mu_k$} 의 사후 분포를 구할 수 있다.
\[p({\pmb \mu}|D, {\pmb \alpha}) \propto p(D|{\pmb \mu})p({\pmb \mu}|{\pmb \alpha}) \propto \prod_{k=1}^{K} \mu_k^{\alpha_k+m_k-1} \qquad{(2.40)}\]- $p(D|{\pmb \mu})$ : $\mu$에 대해 $D$가 나타날 확률. 가능도 함수
- $p({\pmb \mu}|{\pmb \alpha})$ : $\pmb \mu$가 Dirichlet($\pmb \alpha$)를 따를 때, $\pmb \mu$ 가 나타날 확률
- $\alpha_k$ : 사전 분포의 매개변수
- $m_k$ : 범주 $k$에서 나타난 횟수
식 2.40은 결국 데이터 $D$가 주어졌을 때 $\mu$의 사후 분포를 나타낸 것이다.
사후 분포를 구했더니, 또 다시 디리클레 분포의 형태를 띠고 있다. 사전 분포와 사후 분포가 켤레성을 띤다. 따라서, 디리클레 분포는 다항 분포의 켤레 사전 분포이다.
식 2.41은 매개변수 $\mu$에 대한 사후 분포를 나타낸다. 그런데 이제 정규화를 한.
\[p({\pmb \mu}|D, {\pmb \alpha}) = Dir({\pmb \mu}|{\pmb \alpha}+{\bf m}) = \dfrac{\Gamma(\alpha_0+N)}{\Gamma(\alpha_1+m_1)\cdots\Gamma(\alpha_K+m_K)}\prod_{k=1}^{K}\mu_k^{a_k+m_k-1} \qquad{(2.41)}\]- $\textbf m = (m_1, …, m_K)^T$ : 데이터에서 관찰된 각 범주의 빈도수(충분 통계량)
- $\pmb \alpha$ : 사전 분포의 매개변수
결론적으로 식 2.41은 주어진 데이터와 사전 분포를 바탕으로 다항 분포의 매개변수 $\mu$에 대한 사후 분포를 계산하는 공식이다. 이를 통해 데이터를 관찰한 후에 매개변수에 대한 믿음을 업데이트 할 수 있다.
정리
위 내용을 굉장히 굉장히 러프하게 보자면
- 데이터의 가능도 계산
- 적절한 사전 분포 선택
- 관측된 데이터를 통해 업데이트한 사후 분포 계산
의 일련의 과정을 통해 다항 분포 매개변수의 베이지안 추정 과정을 설명한다.
다항 분포의 가능도 함수 : 데이터의 가능도 계산
\[p(D|{\pmb \mu}) = \prod_{n=1}^{N}\prod_{k=1}^{K}\mu_k^{x_{nk}} = \prod_{k=1}^{K}\mu_k^{(\sum_n x_{nk})}=\prod_{k=1}^{K}\mu_k^{m_k} \qquad{(2.29)}\]- 주어진 매개변수 $\mu$에 대한 데이터 $D$의 가능도를 나타냄
다항 분포
\[Mult(m_1, m_2, ..., m_K|{\pmb \mu}, N) = \binom{N}{m_1m_2...m_k}\prod_{k=1}^{K}\mu_k^{m_k} \qquad{(2.34)}\]- $\mu$와 $N$이 주어졌을 때, 각 범주별로 $m_k$번 관찰될 확률을 나타내는 다항 분포의 확률 질량 함수
디리클레 분포의 사전 분포 : 매개변수 $\mu$에 대한 사전 분포 설정
\[p({\pmb \mu}|{\pmb \alpha}) \propto \prod_{k=1}^{K}\mu_k^{a_k-1} \qquad{(2.37)}\]- $\mu$의 사전 분포
디리클레 분포
\[Dir({\pmb \mu}|{\pmb \alpha})=\dfrac{\Gamma(\alpha_0)}{\Gamma(\alpha_1)\cdots\Gamma(\alpha_K)}\prod_{k=1}^{K}\mu_k^{\alpha_k-1} \qquad{(2.38)}\]- $\mu$에 대한 디리클레 분포의 확률 밀도 함수
- 다항 분포의 매개변수 $\mu$에 대한 켤레 사전 분포. 매개변수의 불확실성을 표현.
다항 분포의 매개변수에 대한 사후 분포 : 관측된 데이터 $D$를 고려하여 사전 분포 업데이트
\[p({\pmb \mu}|D, {\pmb \alpha}) \propto p(D|{\pmb \mu})p({\pmb \mu}|{\pmb \alpha}) \propto \prod_{k=1}^{K} \mu_k^{\alpha_k+m_k-1} \qquad{(2.40)}\]- 데이터 $D$와 사전 분포의 매개변수 $\alpha$가 주어졌을 때, 매개변수 $\mu$의 사후 분포
- 데이터의 가능도와 사전 분포를 결합하여 사후 분포 계산
- 관측된 데이터를 기반으로 매개변수 $\mu$에 대한 업데이트된 믿음을 나타냄