MCMC(Markov Chains Monte Carlo) algorithms 은 주어진 분포에 대한 sampling 또는 분포의 parameter estimation 에 사용되는 알고리즘이다.
graph/graphical model 에서 사용되는 sampling 방식으로, 어떤 K 개의 노드 (variable) 이 존재할 때, 이에 대한 joint distribution p\left(x_{1}, \ldots, x_{K}\right) 을 sampling 으로 구하는 방식을 의미한다.
Rejection sampling 은 어떤 확률 밀도 함수 p(x) 에 대해, 다음과 같은 조건에서 효율적으로 sampling 을 수행할 수 있는 방법이다.
몬테카를로 방법이란 랜덤 표본을 뽑아 함수의 값을 확률적으로 계산하는 알고리즘
Metropolis-Hasting 알고리즘은 pdf P(x) 에 해당하는 어떤 확률 분포 (a.k.a. a target distribution) 의 샘플링을 가능하게 해준다.
Importance sampling 은 뽑기 어려운 분포의 기댓값을, 뽑기 쉬운 분포에서 뽑아서 계산하는 방법이다.
SMOTE 는 낮은 비율 클래스 데이터들의 최근접 이웃을 이용하여 새로운 데이터를 생성합니다.
Gibbs sampling 은 특정 multivariate 확률 분포에서 approximated 된 일련의 관찰값 (observations) 들을 획득하기 위한 MCMC 알고리즘으로, 직접적인 샘플링이 어려울 때 사용한다.
Inverse transform sampling 는 어떤 확률 분포에서 해당 분포의 inverse cumulative distribution (또는 quantile function) F^{-1}(x) 를 활용해서 임의의 값을 생성하는 방법을 의미한다.
Markov property 를 만족한 상태에서 Markov 연쇄를 반복하다 보면 현재 상태의 확률이 직전 상태의 확률과 같아지면서 수렴하게 되는데, 이렇게 평형 상태에 도달한 확률 분포를 정적분포 (Stationary Distribution) 라고 합니다.