Importance Sampling
Importance Sampling(IS)는 Monte Carlo 방법의 변형으로 확률 분포에서 직접 표본을 추출하기 어려울 때 이를 근사하는 방법으로 다음과 같은 형식을 갖는다.
여기서 는 타겟 함수라고 하고 는 종종 형식의 조건부 분포인 타겟 분포라고 한다. 일반적으로 타겟 분포에서 샘플링 하는 것이 어렵기 때문에 IS는 제안 분포(proposal distribution)라 부르는 에서 샘플을 뽑은 다음, 이 샘플들을 가중치를 이용해 재조정한다. 이것은 결국 weighted MC approximation이 된다.
타겟이 정규화 된 경우와 정규화 되지 않은 경우에 대해 다음의 두 가지 접근 방법이 존재한다.
Direct Importance Sampling
우선 타겟 분포 가 정규화 되었고 평가 할 수 있지만 거기서 샘플링할 수 없는 경우 proposal 에서 샘플링할 수 있다. 이것을 다음과 같이 작성할 수 있다.
타겟 이 0이 아닐 때마다 proposal 도 0이 아니어야 한다. 즉 의 지지는 의 지지와 같거나 커야 한다.
여기서 타겟 과 proposal 의 비율을 importance weight이라 하고 다음처럼 정의한다.
을 샘플하면 다음과 같이 작성할 수 있다.
결과는 실제 평균 의 비편향 추정치가 된다.
Self-Normalized Importance Sampling
타겟 분포가 비정규화 된 경우 이를 다음과 같이 작성할 수 있다.
여기서 는 다음과 같이 정의되는 정규화 상수이다. 예컨대 이면 이고
핵심 아이디어는 Importance Sampling으로 정규화 상수 를 근사하는 것이다. 이 방법을 Self-Normalized Importance Sampling(SNIS)이라고 한다. 결과 추정은 두 추정치의 비율이므로 편향이다. 그러나 으로 가면 어떤 약한 가정하에 편향이 0이 된다.
더 자세히 SNIS는 다음 근사에 기반한다.
여기서 unnormalized weights를 다음과 같이 정의한다.
위 가중치를 사용하면 근사 식을 다음과 같이 더 간략하게 작성할 수 있다.
여기서 normalized weights를 다음처럼 정의한다.
이것은 델타 함수의 가중합을 사용하여 타겟 분포를 근사한 것과 동등하다.
이 알고리즘의 부산물로 정규화 상수에 대한 다음의 근사를 얻을 수 있다.
Annealed Importance Sampling (AIS)
Annealed Importance Sampling(AIS)은 복잡한 멀티모달 분포에서 샘플링하는 방법으로 타겟 분포와 시작 분포 사이에 ‘온도’를 조절하며 일련의 중간 분포를 만들고 각 분포 사이에 Importance Sampling을 수행하는 방법이다. 이때 최종 샘플의 가중치는 모든 중간 단계의 샘플 가중치를 곱해서 얻는다. 참고로 Annealing이라는 용어는 물리학에서 물질을 가열한 후 천천히 식혀서 결정 구조를 개선하는 과정에서 유래했다.
AIS는 Energy Based Model(EBM)과 같이 복잡하고 정규화하기 어려운 분포에서 샘플링 방법으로 사용되거나 Restricted Boltzmann Machine(RBM)이나 Deep Belief Network(DBN) 같은 복잡한 로그 확률함수를 가진 딥러닝 모델에서 정규화 상수를 추정하는데 사용될 수 있다. AIS는 몬테카를로 방법 중에서 특히 분포의 꼬리를 잘 탐색할 수 있어서 다른 샘플링 방법에 비해 정확한 추정이 가능하다.
보다 형식적으로 어떤 타겟 분포 (여기서 는 unnormalized)가 고차원이거나 멀티모달이라서 직접 샘플링하기 어렵지만 라고 부르는 샘플링 할 수 있는 더 쉬운 분포가 있다고 가정하자. 예컨대 이것은 prior일 수 있다.
그러면 을 시작 분포로 설정한 다음 온도 파라미터를 이용하여 타겟 분포 사이에 다음과 같은 일련의 중간 분포를 설정할 수 있다.
여기서 .
각 에서 샘플하기 위해 불변량으로 유지하고 다음과 같은 마르코프 체인을 정의할 수 있다고 가정하자.
즉, .
이것이 주어지면 우선 을 샘플링하고 그 다음 을 샘플링하고 이것을 을 샘플링할 때까지 반복하여 에서 을 샘플링 할 수 있다. 마지막으로 을 설정하고 가중치를 다음과 같이 부여한다.
이것은 알고리즘을 확장된 상태 공간 에서의 Importance Sampling의 형식으로 볼 수 있다.
AIS의 중요한 응용은 분할 함수(또는 정규화 상수)의 비율을 평가하는 것이다. 이고 이므로
여기서 . 이 prior이고 이 posterior인 경우, 알려진 정규화 상수 을 갖는 prior를 제공하여 위의 방정식을 사용하여 을 계산할 수 있다.