본문 바로가기
스터디/인공지능, 딥러닝, 머신러닝

[Bayesian] Exponential Family & Conjugate Priors (지수족, 켤레사전분포)

by 궁금한 준이 2023. 9. 13.
728x90
반응형

 

 

Exponential Family

확률변수 $X$의 확률밀도함수(또는 확률질량함수)가 다음을 만족하면, $X$는 지수족이라고 한다.
\[ p(x|\eta) = \exp( T(x)^\top \eta - \mathbb{1}^\top A(\eta) - B(x) ) \]
이때 $T(x)$는 충분통계량, $\eta$는 natural parameter, $A(\eta)$는 log-partition function, $B(x)$는 base measure 이다.

Example 1: Bernoulli distribution

베르누이 분포의 확률질량함수는 다음과 같다.

\[ p(x|\theta) = \theta^{x} (1-\theta)^{1-x} = \exp\left(x \log \cfrac{\theta}{1-\theta} \right) + \log(1-\theta) \]

이때 $T(x)=x, \quad \eta=\log\cfrac{\theta}{1-\theta}, \quad A(\eta)= -\log(1-\theta) = \log(1+e^{\eta}), \quad B(x)=0$ 이므로 베르누이 분포는 지수족이다.

 

※ $A(\eta) = \log(1+e^\eta)-2,\ B(x)=2$로 해도 무방하다. 즉 $A(\eta),\ B(x)$는 유일하지 않다.

 

Example 2: Gamma distribution

$x \in (0, \inf)$에서 정의되고 $a>0,\ b>0$에 대하여 감마분포의 확률밀도함수는 다음과 같다.

\[ \mathrm{Gamma}(x|a,b) = \cfrac{b^a x^{a-1} e^{-bx}}{\Gamma(a)}, \quad \text{where } \Gamma(z)=\int_0^\infty t^{z-1} e^{-t} dt \]

감마분포 역시 아래 식으로 변형할 수 있으므로 지수족이다.

\[ p(x|a, b) = \exp\left( \begin{bmatrix} \log x \\ x \end{bmatrix}^\top \begin{bmatrix} a-1 \\ b \end{bmatrix} - \log \Gamma(a) + a \log b \right) \]

이때

$T(x) = [\log x, x]$

$\eta=[a, b-1]^\top \Rightarrow a=\eta_1,\ b = -\eta_2$

$A(\eta)=\log \Gamma(a) - a\log b = \log \Gamma(\eta_1+1) - (\eta_1 + 1)\log{-\eta_2}$

 

Example 3: Dirichlet distribution

※ 프랑스어 발음으로 디리클레, 독일어 발음으로 디리슐레(dee·ruhsh·lay) 라고 한다.

\[ p(x|\alpha) := \mathrm{Dir}(x|\alpha)=\cfrac{\Gamma(\alpha_\bullet)}{\prod_{j=1}^{d}\Gamma(\alpha_j)} {\prod_{j=1}^{d} x_j^{\alpha_j - 1} }, \quad \text{where } \alpha_\bullet = \sum_j \alpha_j \]

이를 지수족 형태로 바꾸면

\[ p(x|\alpha) = \exp\left( \alpha^\top \log{x} - \log\frac{\Gamma(\alpha_\bullet)}{\prod_{j=1}^{d}\Gamma(\alpha_j)} - \sum_{j=1}^{d} \log{x_j} \right) \]

\begin{align} T(x) &= \log{x} \\ \eta &= \alpha \\ A(\eta)&= \log\frac{\prod_{j=1}^{d}\Gamma(\alpha_j)}{\Gamma(\alpha_\bullet)} \\ B(x) &= \sum_{j=1}^{d} \log{x_j} \end{align}

 

※ $d=2$인 경우 베타분포이다. 디리클레 분포는 베타분포의 일반화된 분포이다. 

※ $d$개의 면을 가진 random dice의 분포로 볼 수 있다.

 

Example 4: Gaussian distribution

$\mathbb{R}^d$에서 정의되고 평균과 공분산이 $\mu,\ \Sigma$ 인 다변수 정규분포의 확률밀도함수는 다음과 같다.

\[ p(x|\mu, \Sigma) := \mathcal{N}(x|\mu, \Sigma) = \cfrac{1}{(2 \pi)^{d/2} |\Sigma|^{1/2} }\exp\bigg\{-\cfrac{1}{2}(x - \mu)^\top \Sigma^{-1} (x - \mu) \bigg\} \]

multivariate gaussian 역시 지수족 형태로 바꾸면 다음과 같다.

\[ p(x|\mu, \Sigma) = \exp \bigg\{ \begin{bmatrix} x \\ xx^\top \end{bmatrix}^\top \begin{bmatrix} \Sigma^{-1}\mu \\ -\frac{1}{2}\Sigma^{-1} \end{bmatrix} - \mathbb{1}^\top \begin{bmatrix} \frac{1}{2}\mu^\top \Sigma^{-1} \mu \\ \frac{1}{2}\log |\Sigma| \end{bmatrix} -\cfrac{d}{2}\log{2\pi} \bigg\} \]

이때 $T(x),\ \eta,\ A(\eta),\ B(x)$는 다음과 같다.

\begin{align} T(x)&=[x, xx^\top]^\top \\ \eta&= \begin{bmatrix} \Sigma^{-1}\mu, -\cfrac{1}{2}\Sigma^{-1} \end{bmatrix} ^\top \\ A(\eta)&= \begin{bmatrix} \cfrac{1}{2}\mu^\top \Sigma^{-1},\ \cfrac{1}{2}\log |\Sigma| \end{bmatrix}^\top \\ &= \begin{bmatrix} -\cfrac{1}{4}\eta_1^\top \eta_2^{-1} \eta_1,\ -\cfrac{1}{2} \log |-2\eta_2| \end{bmatrix} \\ B(x)&= \cfrac{d}{2}\log{2 \pi} \end{align}

Properties of exponential families

지수족의 형태여도 확률밀도함수이므로 전체 적분값은 $1$이다. 즉

\begin{align} \int f(x|\eta) \mathrm{d}x &= \int \exp(T(x)^\top \eta - \mathbb{1}^\top A(\eta) - B(x) ) \mathrm{d}x \\ &= \int \cfrac{\exp(T(x)^\top \eta - B(x) ) }{\exp(\mathbb{1}^\top A(\eta))} \mathrm{d} x \\ &= 1 \end{align}

따라서

\[ \exp(\mathbb{1}^\top A(\eta)) = \int \exp(T(x)^\top \eta - B(x)) \mathrm{d}x \]

$\eta$로 편미분하면 다음을 얻는다.

\[ \mathbb{E}[T(x)] = \cfrac{\partial \mathbb{1}^\top A(\eta)}{\partial \eta} \]

 

\[ \mathrm{Cov}(T(x_i),\ T(x_j)) = \cfrac{\partial^2 \mathbb{1}^\top A(\eta)}{\partial \eta_i \partial \eta_j} \]

반응형

Conjugate priors for exponential families

likelihood $p(x|\theta)$가 주어졌을 때, 우리는 사전분포 prior $p(\theta)$를 골라야한다.

특히 베이지안에서, $p(x|\theta)$와 $p(\theta)$가 같은 분포족(same distribution family)이면 $p(\theta)$를 켤레사전분포(conjugate prior distribution)이라 한다.

 

위키피디아에 여러가지 분포의 conjugate prior 표가 정리되어있다.

https://en.wikipedia.org/wiki/Conjugate_prior

 

Conjugate prior - Wikipedia

From Wikipedia, the free encyclopedia Concept in probability theory In Bayesian probability theory, if the posterior distribution p ( θ ∣ x ) {\displaystyle p(\theta \mid x)} is in the same probability distribution family as the prior probability distri

en.wikipedia.org

Conjugate priors example 1: Beta-Bernoulli

bernoulli likelihood가 $p(x|\theta)=\theta^x (1-\theta)^{1-x}$ 일때 사전분포 $p(\theta)$는 베타분포를 따른다.

\[ p(theta) = \text{Beta}(\theta|a, b) = \cfrac{\Gamma(a+b)}{\Gamma(a) \Gamma(b)} \theta^{a-1} (1-\theta)^{b-1} \]

 

$n$개의 데이터 $X = \{ x_1, \dots, x_n \}$에 대하여 $n_1=\sum_{i=1}^{n}x_i,\ n_0 = n - n_1$이라 하자. (각각 $1$과 $0$이 나온 횟수). 그러면 베이즈 정리에 의해 다음이 성립한다.

\[ p(\theta|X) \propto p(X,\theta) = \theta^{n_1 + a - 1} (1-\theta)^{n_0+b-1} \]

그래서 prior는 $\text{Beta}(\theta|a + n_1, b+n_0)$ 이다.

 

지수족의 prior는 같은 지수족이므로 베이지안 추론에 지수족이 중요하다.

likelihood를 $p(x|\eta)$, prior를 $p(\eta|\chi, \nu)$라 하면 각각 다음의 형태를 따른다.

\begin{align} p(\eta;\chi, \nu) &= \exp(\eta^\top \chi - \nu^\top A(\eta) - \mathbb{1}^\top C(\chi, \nu) ) \\ &= \exp\bigg( \begin{bmatrix} \eta \\ -A(\eta) \end{bmatrix} ^\top \begin{bmatrix} \chi \\ \nu \end{bmatrix} - \mathbb{1}^\top C(\chi, \nu) \bigg) \end{align}

 

$\begin{bmatrix} \eta \\ -A(\eta) \end{bmatrix}^\top$가 충분통계량, $\begin{bmatrix} \chi \\ \nu \end{bmatrix}\top$가 natural parameter, $C(\chi, \nu)$는 log-partition function으로 보면 $p(\eta|\chi, \nu)$ 역시 지수족이다.

 

Conjugate prior for exponential families

$n$개의 데이터 $X = \{ x_1, \dots, x_n \}$에 대하여

\begin{align} p(X, \eta) &= p(\eta) \prod_{i=1}^{n}p(x_i | \eta) \\ &= \exp\bigg( \begin{bmatrix} \eta \\ -A(\eta) \end{bmatrix}^\top \begin{bmatrix} \chi + \sum_{i=1}^{n}T(x_i) \\ \nu + n\mathbb{1} \end{bmatrix} - \mathbb{1}^\top C(\chi, \nu) - \sum_{i=1}^{n}B(x_i) \bigg) \end{align}

일 때, posterior를 구해보자.

 

\[ p(\eta | X) = \exp \left( \begin{bmatrix} \eta \\ -A(\eta) \end{bmatrix}^\top \begin{bmatrix} \chi + \sum_{i=1}^{n}T(x_i) \\ \nu + n\mathbb{1} \end{bmatrix} - \mathbb{1}^\top C \bigg( \chi + \sum_{i=1}^{n}T(x_i),\ \nu + n\mathbb{1} \bigg) \right) \]

 

\[ p(X) = \exp\left( \mathbb{1}^\top C \bigg( \chi + \sum_{i=1}^{n}T(x_i),\ \nu + n\mathbb{1} \bigg) - \mathbb{1}^\top C(\chi, \nu) - \sum_{i=1}^{n}B(x_i) \right) \]

 

Conjugate priors example 2: Beta-Bernoulli

bernoulli likelihood $p(x|\eta)$는 다음과 같다.

\[ p(x|\eta) = \exp \bigg( x\log\cfrac{\theta}{1-\theta} + \log (1-\theta) \bigg) \]

이때 beta prior $p(\eta)$는 다음과 같다.

\[ p(\eta) = \exp \left( \begin{bmatrix} \log\cfrac{\theta}{1-\theta} \\ \log{(1-\theta)} \end{bmatrix}^\top \begin{bmatrix} a-1 \\ a+b-2 \end{bmatrix} \log\cfrac{\Gamma(a+b)}{\Gamma(a) \Gamma(b)} \right) \]

이때 $\chi,\ \nu ,\ C(\chi, \nu)$는 다음과 같다.

\begin{align} \chi &= a-1 \\ \nu &= a+b-2 \\ C(\chi, \nu)&=\log\cfrac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)} \end{align}

 

posterior는 다음과 같다.

\begin{align} p(\eta|X) &\propto \exp \left( \begin{bmatrix} \log\frac{\theta}{(1-\theta)} \\ \log (1-\theta) \end{bmatrix}^\top \begin{bmatrix} a + \sum_{i=1}^{n}x_i - 1 \\ a+b+n-2 \end{bmatrix} \right) \\ &= \text{Beta}(x|a+n_1,\ b+n_0) \end{align}

 

marginal distribution은 다음과 같다.

\[ p(X) = \cfrac{\Gamma(a+b)}{\Gamma(a)\Gamma(b)} \cfrac{\Gamma(a+n_1) \Gamma(b+n_0)}{\Gamma(a+b+n)} \]

 

728x90
반응형