본문으로 바로가기

Gibbs samplling 은 M-H 알고리즘의 special case 이다.

M-H 알고리즘에서 특징적인 부분은 Proposal distribution 이 있었다는 점이다.

Proposal distribution 에 대해서 우리가 어떠한 특징을 가지고 있느지 알수 없기 때문에 그래서 ratio를 만들어서

accept probability 를 정의하였다.

그러면 Probosal distribution을 어떻게 잡아볼까?  그런데 Gibbs가 왜 새로운 probosal distribution을 잡으려해? 기존의 잘 정의 된 p를 이용하면 되지않을까라는 아이디어를 제안하였다.

 

한번 sampling을 할때마다 개별 zk 에 대해서만 update만 *로 업데이트하고 나머지는 Keep 해보자.

Gibbs가 제안한것은 아래이다.

q라는 것을 새롭게 만들지 말고 기존의 P를 이용해보자는 것이다. 한 latent variable z*k에 대해서만 update 해보자는 것이다. 위처럼 q를 정의하면  accept probability 가 사라지게 되고(1이 된다.), detailed balanced equation 이 만족됨을 보일수 있다. 

그러면 accept probability는 언제나 1이 된다.

 

For loop를 아주 긴시간(T) 동안 돌린다. 한 variable update 치고, 그다음 다른 variable을 update 하는데 , 그동안 다른 variable은 given 이다라고 생각하고 , 개별 case 마다 sample을 통해 업데이트하는것이다.

 

개별 point 마다 z에 대한 assignment가 되는것이다.

깁스는 sampling 기반이기 때문에 converge 속도가 느릴수 있다. 하지만 정확도가 높을수 있다.

EM은 saddle / local 에 대한 problem이 발생할수 있다. 하지만 EM이 빠르게 동작할수 있다.