Search
Duplicate

AI/ Gibbs Distribution, Gibbs Sampling

Gibbs Distribution

Gibbs Distribution는 통계 물리학에서 유래한 개념으로 특정 시스템의 가능한 모든 상태들을 확률적으로 설명한다. 이때 각 상태의 확률은 그 상태의 에너지에 반비례한다.
Gibbs 분포는 다음과 같은 형식으로 표현된다.
p(x)=eE(x)/τeE(x)/τdx=eE(x)/τZp(x) = {e^{-E(x)/\tau} \over \int e^{-E(x)/\tau} dx} = {e^{-E(x)/\tau} \over Z}
여기서 xx는 시스템의 상태이며, E(x)E(x)는 상태 xx의 에너지, τ\tau는 시스템의 온도 파라미터, ee는 오일러 상수, ZZ는 분할 함수 또는 정규화 상수로 모든 확률의 합이 1이 되도록 한다.

Gibbs Sampling

Gibbs Sampling은 Markov Chain Monte Carlo(MCMC) 방법의 하나인 Metropolis-Hastings(MH) 알고리즘의 특수한 경우에 해당한다.
MH은 복잡한 확률 분포에서 표본을 추출하는 알고리즘으로 현재 상태 x\bold{x}에서 새로운 상태 x\bold{x}'q(xx)q(\bold{x}'|\bold{x})의 확률로 움직이는 것을 제안하는 제안 분포(proposal distribution)라 하는 확률 분포를 사용하여 새로운 상태를 생성하고, 그 상태를 특정 확률로 수락하거나 거부하는 과정을 반복한다.
Gibbs Sampling은 MH에 대해 그래피컬 모델의 조건부 독립 속성을 활용하여 수락 확률 1의 좋은 제안을 자동으로 생성한다. 이를 위해 분포에서 모든 다른 변수들의 값을 조건화하여 각 변수를 차례로 샘플링한다. 예컨대 D=3D=3 변수를 가지면 다음을 사용한다.
x1s+1p(x1x2s,x3s)x2s+1p(x2x1s+1,x3s)x3s+1p(x3x1s+1,x2s+1)\begin{aligned} x_1^{s+1} &\sim p(x_1|x_2^s,x_3^s) \\ x_2^{s+1} &\sim p(x_2|x_1^{s+1},x_3^s) \\x_3^{s+1} &\sim p(x_3|x_1^{s+1},x_2^{s+1}) \end{aligned}
표현식 p(xixi)p(x_i|\bold{x}_{-i})는 변수 ii에 대한 full conditional이라 부른다. 일반적으로 xix_i는 다른 변수 중 일부에만 의존할 수 있다. p(x)p(\bold{x})가 그래피컬 모델로 표현하면 그래프의 이웃인 ii의 Markov blanket을 살펴봄으로써 의존성을 추론할 수 있다. 따라서 다음처럼 작성할 수 있다.
xis+1p(xixis)=p(xixmb(i)s)x_i^{s+1} \sim p(x_i|\bold{x}_{-i}^s) = p(x_i|\bold{x}_\text{mb(i)}^s)

참고