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이 빠르게 동작할수 있다.
'머신러닝 > 문일철 교수님 강의 정리 (인공지능및기계학습개론)' 카테고리의 다른 글
10.6 Metropolis-Hastings Algorithm (0) | 2019.12.11 |
---|---|
Week 10.5 Markov Chain for Sampling (0) | 2019.12.10 |
Week 10.4 Markov Chain (0) | 2019.12.02 |
Week 10.3 Importance Sampling (0) | 2019.11.28 |
Week 10.2 Rejection Sampling (0) | 2019.11.27 |