맨위로가기

기브스 표집

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

기브스 표집은 다변량 분포에서 표본을 추출하는 알고리즘으로, 메트로폴리스-헤이스팅스 알고리즘의 특수한 경우이다. 결합 분포 대신 조건부 분포에서 표집하는 것이 핵심이며, 마르코프 연쇄를 구성하여 목표 분포에 수렴하도록 한다. 통계적 추론, 특히 베이즈 추론에 유용하게 사용되며, 소프트웨어 패키지를 통해 구현할 수 있다. 하지만, 표본 간의 상관 관계가 높거나 특정 상태의 확률이 0인 경우 수렴이 느려지는 단점이 존재하며, 블록 깁스 표집, 축약된 깁스 표집 등의 변형을 통해 개선할 수 있다.

더 읽어볼만한 페이지

  • 몬테카를로 방법 - 메트로폴리스-헤이스팅스 알고리즘
    메트로폴리스-헤이스팅스 알고리즘은 마르코프 연쇄 몬테카를로 방법으로, 확률 밀도 함수에 비례하는 함수를 알 때 원하는 확률 분포에서 난수열을 생성하며 통계 모델링, 데이터 분석 등에 응용된다.
  • 몬테카를로 방법 - 피셔-예이츠 셔플
    피셔-예이츠 셔플은 유한 집합에서 임의의 순열을 생성하는 알고리즘으로, 피셔와 예이츠가 처음 소개한 후 더스텐펠트에 의해 컴퓨터에 최적화되었으며, 구현 시 편향 요인을 주의해야 한다.
  • 표집 - 표본조사
    표본조사는 모집단의 일부인 표본을 추출하여 전체 모집단의 특성을 추정하는 통계적 방법으로, 시간과 비용을 절약하면서 비교적 정확한 결과를 얻을 수 있도록 다양한 표본 추출 방법과 오차 최소화, 가중치 조정 등의 과정을 포함한다.
  • 표집 - 가위바위보
    가위바위보는 두 명 이상이 주먹, 가위, 보 세 가지 손 모양으로 승패를 가리는 놀이로, 간단한 규칙과 직관성으로 널리 알려져 있으며 중국 또는 일본에서 유래되었다는 설이 있다.
기브스 표집
개요
깁스 샘플링의 애니메이션 예시
깁스 샘플링의 애니메이션 예시
유형마르코프 연쇄 몬테카를로 방법
상세 정보
다른 이름깁스 샘플러
사용 분야베이즈 추론
특징
장점고차원 문제에서 계산 효율성이 높음
단점조건부 분포를 알아야 함
관련 항목
관련 방법변분 베이즈 방법

2. 알고리즘

깁스 표집은 결합 확률 분포에서 표본을 추출하는 반복적인 과정이다. 각 단계에서 하나의 변수를 선택하고, 다른 변수들의 현재 값이 주어졌을 때 해당 변수의 조건부 분포에서 새로운 값을 추출한다.

깁스 표집은 조지아 윌라드 깁스의 이름을 따서 명명되었으며, 이는 표집 알고리즘과 통계 물리학 사이의 유사성을 나타낸다. 이 알고리즘은 깁스가 사망한 지 약 80년 후인 1984년에 스튜어트 게만과 도널드 게만 형제에 의해 설명되었으며,[1] 주변 확률 분포, 특히 사후 분포를 계산하는 데 널리 사용된다.[2]

깁스 표집은 결합 분포를 명시적으로 알 수 없거나 직접 표집하기 어려운 경우에 적용할 수 있지만, 각 변수의 조건부 분포는 알고 있고 표집하기 쉬운 경우에 유용하다. 깁스 표집 알고리즘은 다른 변수들의 현재 값을 조건으로 하여 각 변수의 분포에서 표본을 차례로 생성한다. 이 표집 시퀀스는 마르코프 연쇄를 구성하며, 이 마르코프 연쇄의 정상 분포는 원하는 결합 분포가 된다.[3]

깁스 표집은 베이시안 네트워크가 일반적으로 조건부 분포의 모음으로 지정되기 때문에 사후 분포를 표집하는 데 특히 적합하다.

2. 1. 작동 원리

n개의 확률변수 (X_1, \cdots, X_n)의 결합 확률 분포 p(x_1, \cdots, x_n)로부터 k개의 표본 X를 얻는 과정은 다음과 같다.

1. 임의의 X^{(0)} = (x_1^{(0)}, \cdots, x_n^{(0)})을 선택한다.

2. 각 변수 x_1, \cdots, x_n에 대하여, 현재의 값을 기반으로 한 새로운 값을 조건부 확률분포 p(x_i^{(t)}|x_1^{(t)}, \cdots, x_{i-1}^{(t)}, x_{i+1}^{(t-1)}, \cdots, x_{n}^{(t-1)})에서 표집한다.

3. X^{(t)} = (x_1^{(t)}, \cdots, x_n^{(t)})X에 추가한다.

실제 사용 시에는 처음 수집되는 표본을 사용하지 않고 버리게 된다. 이것은 기브스 표집에서 수집되는 표본은 서로 독립적이지 않고 마르코프 연쇄에 속하기 때문인데, 표본의 앞 부분은 초기 상태 X^{(0)}에 크게 의존하지만 충분히 많은 시행이 지난 후에는 초기 상태에 관계없이 p에 기반한 표본을 수집할 수 있다.

기본적인 형태의 깁스 표집은 메트로폴리스-헤이스팅스 알고리즘의 특수한 경우이다. 깁스 표집의 요점은 다변량 분포가 주어졌을 때, 결합 분포를 적분하여 주변 분포를 구하는 것보다 조건부 분포에서 표집하는 것이 더 간단하다는 것이다.

더 자세한 절차는 다음과 같다.

1. 초기값 \boldsymbol{X}^{(0)}을 설정한다.

2. 조건부 확률 p(x_j|x_1^{(i)},\dotsc,x_{j-1}^{(i)},x_{j+1}^{(i-1)},\dotsc,x_n^{(i-1)})로부터 i번째 표본 x_j^{(i)}를 표본 추출한다.

3. ik 이하이면 i=i+1로 하고 2번 과정으로 돌아간다. 그렇지 않으면 종료한다.

표본은 다른 변수에 조건이 붙은 분포로부터 표본 추출되지만, 다른 변수에는 새로운 표본을 사용해야 한다. 즉, 한 단계마다 한 변수를 표본 추출하고, 새로운 표본으로 대체한다. 이 표본 집합은 모든 변수에 대한 결합 분포를 근사한다.

이에 더해, 모든 표본에 대해 평균을 취함으로써 기댓값을 근사할 수 있다.
주의점

  • 초기값 설정에는 EM 알고리즘 등을 사용하거나, 무작위로 결정해도 좋다. 그러나 초기값 설정에 민감해지지 않아도, 번인(burn-in) 기간을 설정하면 문제가 되지 않는다.
  • 표본 추출 초기의 값을 버리는 기간(''번인 기간'')을 설정하는 경우가 많다. 또한, 기댓값을 계산할 때에는 n번째마다의 값만 사용하기도 한다. 그 이유는 다음과 같다.
  • 생성되는 표본 열이 마르코프 연쇄이며 표본 간에 어느 정도의 상관 관계가 존재하기 때문에 독립적인 표본이 아니다.
  • 마르코프 연쇄의 정상 분포가 목적 분포가 되지만, 초기값에서 정상 분포에 도달하기까지 시간이 걸린다.
  • 시뮬레이티드 어닐링은 표본 추출의 초기에 자주 사용된다. 그러나 표본 공간의 이동이 느리고 표본의 상관 관계가 강해져 버린다. 그 외의 자기 상관을 감소시키는 방법에는 ''collapsed Gibbs sampling''과 ''blocked Gibbs sampling'', ''ordered overrelaxation'' 등이 있다.

2. 2. 조건부 확률분포와 결합 확률분포의 관계

조건부 확률분포는 결합 확률분포에 비례한다.[1]

:p(x_j|x_1,\dots,x_{j-1},x_{j+1},\dots,x_n) = \frac{p(x_1,\dots,x_n)}{p(x_1,\dots,x_{j-1},x_{j+1},\dots,x_n)} \propto p(x_1,\dots,x_n)

여기서 "비례한다"는 것은 분모가 x_j의 함수가 아니므로 x_j의 모든 값에 대해 동일하며, x_j에 대한 분포의 정규화 상수의 일부를 형성한다는 의미이다.[1] 실제로, 요인 x_j의 조건부 분포의 성격을 결정하기 위해, 변수에 대한 그래프 모델에 의해 정의된 개별 조건부 분포에 따라 결합 분포를 인수분해하고, x_j의 함수가 아닌 모든 요인(이 모든 요인은 위의 분모와 함께 정규화 상수를 구성)을 무시한 다음, 필요에 따라 마지막에 정규화 상수를 다시 적용하는 것이 가장 쉽다.[1]

다른 모든 변수가 주어졌을 때 특정 변수에 대한 조건부 확률은 결합 확률에 비례한다.[1]

:p(x_j|x_1,\dotsc,x_{j-1},x_{j+1},\dotsc,x_n) = \frac{p(x_1,\dotsc,x_n)}{p(x_1,\dotsc,x_{j-1},x_{j+1},\dotsc,x_n)} \propto p(x_1,\dotsc,x_n)

여기서 ''비례한다''는 것은 분모가 x_j의 함수가 아니고, x_j가 어떤 값이든 분모가 상수임을 의미한다.[1] 주변화 상수는 결합 확률을 x_j에 대해 주변화한 값이다.[1]

:

p(x_1,\dotsc,x_{j-1},x_{j+1},\dotsc,x_n)

= \int p(x_1,\dotsc,x_n) dx_j



실용적으로, 확률 변수 x_j의 조건부 분포를 구하는 가장 쉬운 방법은 그래픽 모델의 변수 중 x_j의 함수가 아닌 값을 독립으로 간주하여 인수분해하는 것이다.[1]

3. 수학적 배경

깁스 표집은 가역적 마르코프 연쇄를 구성하며, 이 연쇄의 정상 분포는 목표로 하는 결합 확률 분포이다. 주어진 표본 x에서 i번째 변수를 변경하여 다음 표본 y를 수집할 확률은 다음과 같다.

:\Pr(x|y) = \begin{cases}

\frac{p(y)}{\sum_{z \in \Theta: z \sim_i x} p(z) } & x \sim_i y \\

0 & \text{otherwise}

\end{cases}

여기에서 \Theta는 모든 가능한 표본의 집합을 의미하며, x \sim_i yxyi번째를 제외한 모든 값이 같다는 것을 의미한다.

이때 다음 성질이 성립한다.

:p(x) \Pr(y|x) = p(y) \Pr(x|y)

이러한 성질은 변수를 하나만 변경하는 것이 아니라 각 변수를 차례대로 변경하여 x^{(t-1)}에서 x^{(t)}를 얻을 때에도 동일하게 보존된다.

\Theta와 위의 표집 확률을 기반으로 하는 마르코프 연쇄를 구성하면, 이 마르코프 연쇄는 가역적이다. 가역적 성질은 정상(stationary) 성질을 포함하는데, 이것은 표본을 연속적으로 수집할 때 표본의 수집 확률은 초기 표본에 관계없이 p에 수렴한다는 것을 의미한다.

샘플 X가 길이 d의 파라미터 벡터 \theta \in \Theta에 기반한 사전 분포 g(\theta_1, \dotsc, \theta_d)에서 샘플링한다고 가정한다. d가 큰 경우, 수치 적분을 수행하여 \theta_i의 주변화 분포를 계산하는 것은 어렵다. 이때문에 주변화 분포 계산을 \Theta 공간상의 마르코프 연쇄를 생성하는 것으로 대체한다. 이를 위해 다음의 2단계를 반복한다.

1. 1 \leq j \leq d를 만족하는 j를 선택한다.

2. g(\theta_1, \dotsc, \theta_{j-1}, \, \cdot \, , \theta_{j+1}, \dotsc, \theta_d)의 분포에 따라 새로운 변수 \theta_j를 선택한다.

이 2단계는 분포 g에 따르는 가역적인 마르코프 연쇄를 생성한다.

이는 다음과 같이 증명할 수 있다. 모든 i \neq j에 대하여 x_i = y_i이면, x \sim_j y로 나타낸다. x \sim_j y는 동치 관계이다. p_{xy}x \in \Theta에서 y \in \Theta로의 전이 확률 분포를 나타낸다. 따라서 전이 확률은 다음과 같다.

:p_{xy} = \begin{cases}

\dfrac{1}{d} \dfrac{g(y)}{\sum_{z \in \Theta: z \sim_j x} g(z) } & x \sim_j y \\

0 & \text{otherwise}

\end{cases}



따라서,

:

g(x) p_{xy} = \frac{1}{d}\frac{ g(x) g(y)}{\sum_{z \in \Theta: z \sim_j x} g(z) }

= \frac{1}{d}\frac{ g(y) g(x)}{\sum_{z \in \Theta: z \sim_j y} g(z) }

= g(y) p_{yx}



이처럼 상세 평형 조건이 만족된다.

실용적으로는 j는 무작위로 선택되지 않고 순서대로 선택된다. 또한 정확히 말하면, 이것은 비정상 마르코프 연쇄를 생성하지만, 각 단계는 가역적이며, 전체 프로세스는 원하는 정상 분포를 제공한다.

4. 성질


  • 표본은 모든 변수의 결합 분포에 근사한다.
  • 변수의 임의의 하위 집합의 주변 분포는 나머지 부분을 무시하고 해당 변수 하위 집합에 대한 표본을 고려함으로써 근사할 수 있다.
  • 변수의 기댓값은 모든 표본을 평균하여 근사할 수 있다.


표집을 수행할 때:

  • 변수의 초기 값은 기대값-최대화와 같은 임의의 값 또는 다른 알고리즘으로 결정될 수 있다.
  • 처음 표집된 변수에 대한 초기 값을 실제로 결정할 필요는 없다.
  • 처음 몇 개의 표본을 무시하고 (소위 ''번인 기간'') 기댓값을 계산하기 위해 값을 평균할 때 n번째 표본만 고려하는 것이 일반적이다. 예를 들어, 처음 1,000개의 표본을 무시하고 100번째 표본마다 평균을 내어 나머지는 모두 버릴 수 있다. 이는 다음 두가지 이유 때문이다. (1) 마르코프 연쇄의 정상 분포가 변수에 대한 원하는 결합 분포이지만, 해당 정상 분포에 도달하는 데 시간이 걸릴 수 있다. (2) 연속적인 표본은 서로 독립적이지 않고 어느 정도의 상관 관계를 갖는 마르코프 연쇄를 형성한다.
  • 때때로 알고리즘을 사용하여 표본 간의 자기상관 정도와 n의 값 (실제로 사용되는 표본 간의 주기)을 계산할 수 있지만, 실제로는 상당한 양의 "블랙 매직"이 관련되어 있다.
  • 시뮬레이티드 어닐링 프로세스는 표집 프로세스 초기의 "랜덤 워크" 동작 (즉, 샘플 공간을 천천히 이동하는 경향, 표본 간의 높은 자기상관이 있으며 원하는 대로 빠르게 움직이는 대신)을 줄이는 데 자주 사용된다. 자기상관을 줄일 수 있는 다른 기술로는 ''축약된 깁스 표집'', ''블록된 깁스 표집'', ''정렬된 과잉 완화'' 등이 있다.

5. 추론

깁스 표집은 통계적 추론, 특히 베이즈 추론에 유용하게 사용된다. 관측된 데이터를 고정하고, 나머지 변수들을 표집함으로써 사후 분포를 근사할 수 있다.[3]

원하는 매개변수의 가장 가능성이 높은 값(최빈값)은 가장 일반적으로 발생하는 표본 값을 선택하여 간단히 정할 수 있다. 이는 기본적으로 매개변수의 최대 사후 확률 추정과 같다. (매개변수는 보통 연속적이므로 의미 있는 최빈값을 얻기 위해 표집된 값을 유한한 범위나 "bin" 중 하나로 묶는 것이 필요하다.)[3]

하지만 더 일반적으로는 표집된 값의 기댓값(평균)이 선택된다. 이는 베이즈 추정량이며 베이즈 표집에서 사용할 수 있는 전체 분포에 대한 추가 데이터를 활용하는 반면, 기대값 최대화 (EM)와 같은 최대화 알고리즘은 분포에서 단일 지점만 반환할 수 있다. 예를 들어, 단봉 분포의 경우 평균(기댓값)은 일반적으로 최빈값(가장 일반적인 값)과 유사하지만 분포가 한 방향으로 왜도가 있는 경우 평균은 해당 방향으로 이동하며, 이는 해당 방향의 추가 확률 질량을 효과적으로 설명한다. (분포가 다봉이면 기댓값은 의미 있는 지점을 반환하지 못할 수 있으며, 모든 모드가 일반적으로 더 나은 선택이다.)[3]

일부 변수는 일반적으로 관심 있는 매개변수에 해당하지만, 다른 변수는 변수 간의 관계를 적절하게 표현하기 위해 모델에 도입된 관심 없는 ("귀찮은") 변수이다. 표집된 값은 모든 변수에 대한 결합 분포를 나타내지만, 기댓값 또는 최빈값을 계산할 때 귀찮은 변수는 단순히 무시할 수 있다. 이는 귀찮은 변수에 대해 주변 분포를 구하는 것과 같다. 여러 변수에 대한 값이 필요한 경우 기댓값은 각 변수에 대해 별도로 계산된다. (최빈값을 계산할 때는 모든 변수를 함께 고려해야 한다.)[3]

지도 학습, 비지도 학습 및 반지도 학습 (일명 누락된 값을 사용한 학습)은 모두 값이 알려진 모든 변수의 값을 고정하고 나머지를 표집함으로써 처리할 수 있다.[3]

관찰된 데이터의 경우, 예를 들어 관찰 집합의 표본 평균 또는 표본 분산에 해당하는 하나의 변수가 아니라 각 관찰에 대해 하나의 변수가 있게 된다. 실제로 "표본 평균" 또는 "표본 분산"과 같은 개념에 해당하는 변수는 일반적으로 전혀 없다. 대신, 이러한 경우 알 수 없는 실제 평균과 실제 분산을 나타내는 변수가 있을 것이며, 이러한 변수에 대한 표본 값의 결정은 깁스 표집기의 작동에서 자동으로 발생한다.[3]

일반화 선형 모형 (즉, 선형 회귀의 변형)은 깁스 표집으로 처리할 수도 있다. 예를 들어, 회귀 계수에 정규 분포 사전 분포가 있는 주어진 이진(예/아니오) 선택의 확률을 결정하기 위한 프로빗 회귀는 추가 변수를 추가하고 공액 사전 분포를 활용할 수 있기 때문에 깁스 표집으로 구현할 수 있다. 그러나 로지스틱 회귀는 이 방식으로 처리할 수 없다. 한 가지 가능성은 로지스틱 함수를 정규 분포의 혼합(일반적으로 7~9)으로 근사하는 것이다. 그러나 일반적으로 메트로폴리스-헤이스팅스가 깁스 표집 대신 사용된다.[3]

깁스 표본 추출은 메트로폴리스-헤이스팅스 알고리즘의 하나이다. 결합 분포로부터 주변화된 조건부 확률 분포로부터, 주어진 확률 분포를 따르는 표본을 추출한다. 결합 확률 (x_1, \dotsc, x_n)에서 확률 변수 \boldsymbol{X} = \{x_1, \dotsc, x_n\}에 대해 k개의 표본을 얻고 싶을때, n차원의 i번째 표본을 \boldsymbol{X}^{(i)} = \{x_1^{(i)}, \dotsc, x_n^{(i)}\}라고 하면, 절차는 다음과 같다.

# 초기값 \boldsymbol{X}^{(0)}을 설정한다.

# 조건부 확률 p(x_j|x_1^{(i)},\dotsc,x_{j-1}^{(i)},x_{j+1}^{(i-1)},\dotsc,x_n^{(i-1)})로부터 i번째 표본 x_j^{(i)}를 표본 추출한다.

# ik 이하이면 i=i+1로 하고 2로 돌아간다. 그렇지 않으면 종료한다.

표본은 다른 변수에 조건이 붙은 분포로부터 표본 추출되지만, 다른 변수에는 새로운 표본을 사용해야 한다. 즉, 한 단계마다 한 변수를 표본 추출하고, 새로운 표본으로 대체한다. 이 표본 집합은 모든 변수에 대한 결합 분포를 근사한다.

이에 더해, 모든 표본에 대해 평균을 취함으로써 기댓값을 근사할 수 있다.

다음은 주의할 점이다.


  • 초기값 설정에 EM 알고리즘 등을 사용하거나, 무작위로 결정해도 좋다. 그러나 초기값 설정에 민감해지지 않아도, 번인(burn-in) 기간을 설정하면 문제가 되지 않는다.
  • 표본 추출 초기의 값을 버리는 기간(''번인 기간'')을 설정하는 경우가 많다. 또한, 기댓값을 계산할 때에는 n번째마다의 값만 사용하기도 한다. 이 이유에는 두 가지가 있다. 하나는 생성되는 표본 열이 마르코프 연쇄이며 표본 간에 어느 정도의 상관 관계가 존재하기 때문에 독립적인 표본이 아니라는 것이다. 다른 하나는 마르코프 연쇄의 정상 분포가 목적 분포가 되지만, 초기값에서 정상 분포에 도달하기까지 시간이 걸린다는 것이다. 자기 상관의 양이나 n을 알고리즘으로 결정할 수도 있지만, 그것은 블랙 매직과 같다.
  • 시뮬레이티드 어닐링은 표본 추출의 초기에 자주 사용된다. 그러나 표본 공간의 이동이 느리고 표본의 상관 관계가 강해져 버린다. 그 외의 자기 상관을 감소시키는 방법에는 ''collapsed Gibbs sampling''과 ''blocked Gibbs sampling'', ''ordered overrelaxation'' 등이 있다.

'''블록 깁스 샘플러'''는 개별 변수를 고려하는 대신, 변수를 여러 그룹으로 나누어 조건부 분포를 고려한다. 예를 들어, 은닉 마르코프 모델에서는 전방-후방 알고리즘을 사용하여 은닉 변수에 관한 마르코프 연쇄를 생성한다.

6. 한계 및 개선

깁스 표집은 변수 간의 상관관계가 높거나 확률 분포가 여러 개의 봉우리를 가질 때, 수렴 속도가 느려지거나 잘못된 결과로 이어질 수 있다. 이러한 문제는 표본 추출 과정에서 발생하는 '높은 확률 상태의 섬' 또는 '단일 섬 문제'로 설명될 수 있다.

예를 들어, 두 개의 이진 변수(0 또는 1)를 가진 확률 분포에서 (0, 0)과 (1, 1) 상태의 확률은 높지만, (0, 1)과 (1, 0) 상태의 확률은 매우 낮은 경우를 생각해 보자. 깁스 표집은 (0, 0)에서 (1, 1)로 이동하기 위해 (0, 1) 또는 (1, 0)을 거쳐야 하는데, 이 상태들의 확률이 낮기 때문에 표본이 적으면 제대로 표집되지 않을 수 있다.[9] 만약 (0, 1)과 (1, 0)의 확률이 0이라면, 깁스 표집은 두 상태 중 하나에 갇혀 다른 상태로 이동할 수 없게 된다.[9]

이러한 한계를 극복하기 위해 깁스 표집을 개선하는 다양한 방법들이 개발되었다. 대표적인 방법으로는 여러 변수를 묶어서 한 번에 표집하는 블록 깁스 표집, 특정 변수를 적분하여 제거하고 나머지 변수들에 대한 조건부 분포에서 표집하는 축약된 깁스 표집, 그리고 이전 단계의 값과 함께 정렬된 후보 값들 중에서 특정 위치의 값을 선택하는 순서 초과 완화 등이 있다.[5][6]

6. 1. 단점

기브스 표집은 변수를 하나씩 바꾸어가며 표본을 수집하기 때문에, 중간 상태의 확률이 작을 경우 올바른 근사를 위해 많은 표본이 필요하다는 단점이 있다.[9] 예를 들어, 0과 1의 두 값을 갖는 변수 두 개에 대한 확률 분포에서 (0, 0)과 (1, 1)의 확률은 높지만 (0, 1)과 (1, 0)의 확률이 낮은 경우를 생각해 보자. 이 경우, (0, 0)에서 (1, 1)을 표집하려면 (0, 1)이나 (1, 0)을 거쳐야 하지만, 이들의 확률이 낮아 표본이 적으면 잘 표집되지 않을 수 있다.[9]

특히, (0, 1)과 (1, 0)의 확률이 0일 경우에는 표집이 불가능하다. 이는 기브스 표집이 가정하는 마르코프 연쇄의 정상 성질이 깨지기 때문이다.

이러한 문제점은 깁스 표집이 실패할 수 있는 두 가지 상황으로 이어진다.

1. 높은 확률 상태의 섬: 높은 확률을 가지는 상태들이 존재하지만, 그 사이를 연결하는 경로가 없을 때 발생한다. 예를 들어, 두 비트 벡터 (0, 0)과 (1, 1)은 각각 1/2의 확률을 가지지만, 다른 두 벡터 (0, 1)과 (1, 0)은 확률이 0인 경우, 깁스 표집은 두 벡터 중 하나에 갇혀 다른 벡터에 도달하지 못한다.

2. 단일 섬 문제: 모든 상태가 0이 아닌 확률을 가지고, 단일 높은 확률 상태 섬만 있는 경우에도 발생할 수 있다. 예를 들어, 100비트 벡터에서 모든 0 벡터는 1/2의 확률을 가지고, 다른 모든 벡터는 매우 낮은 동일한 확률을 가지는 경우, 0 벡터의 확률을 정확하게 추정하기 위해서는 깁스 표집으로 2100개 이상의 표본을 추출해야 하는데, 이는 현실적으로 불가능하다.

이러한 문제는 차원의 저주의 결과로 볼 수 있으며, 번인 기간을 길게 설정해도 해결되지 않는다. 100비트 벡터 전체를 한 번에 블록 표집하는 방식으로 해결할 수 있지만, 이는 깁스 표집을 수행하지 않는 것과 같다.

6. 2. 확장

깁스 표집은 표본 간의 자기상관을 줄이고 계산 효율성을 높이기 위해 다양한 방식으로 확장된다.

  • 블록 깁스 표집: 여러 변수를 하나의 블록으로 묶어, 해당 블록의 결합 분포에서 한 번에 표집한다. 다른 변수들은 조건으로 주어진다. 예를 들어, 은닉 마르코프 모델에서 전방-후방 알고리즘을 사용하여 모든 잠재 변수를 한 번에 표집할 수 있다.
  • 축약된 깁스 표집: 하나 이상의 변수를 적분하여 제거(주변화)하고, 나머지 변수들에 대한 조건부 분포에서 표집한다. 예를 들어, 변수 ''A'', ''B'', ''C''가 있을 때, ''B''를 적분하여 제거한 ''p''(''A'' | ''C'')에서 표집하거나, ''B''를 완전히 무시하고 ''p''(''A'' | ''C'')와 ''p''(''C'' | ''A'')에서 번갈아 표집할 수 있다. ''B''가 ''A''의 공액 사전 분포이거나 지수족에 속하면 계산이 용이하다.[5]
  • 순서 초과 완화: 주어진 단계에서 특정 홀수 개의 후보 값을 표집하고, 이전 단계의 값과 함께 정렬한 후, 특정 위치의 값을 선택하는 방법이다. 자세한 내용은 Neal (1995)을 참조하라.[6]


이 외에도, 조건부 분포에서 표집하기 어려운 변수에 대해 슬라이스 표집이나 메트로폴리스-헤이스팅스 알고리즘을 사용할 수 있다. 또한, 확률 변수가 아닌, 다른 변수들에 의해 결정론적으로 결정되는 변수도 통합할 수 있다. 예를 들어, 로지스틱 회귀와 같은 일반화 선형 모형을 깁스 표집에 통합할 수 있다.

7. 응용

깁스 표집은 통계적 추론에 일반적으로 사용된다. 예를 들어, 특정 날짜에 특정 상점에서 쇼핑할 가능성이 있는 사람의 수나 유권자가 가장 투표할 가능성이 있는 후보 등과 같이 매개변수의 최적 값을 결정하는 데 사용될 수 있다. 관찰된 데이터 각각에 대해 별도의 변수를 생성하고 해당 변수를 관찰된 값으로 고정하여, 관찰된 데이터를 표집 과정에 통합한다. 그러면 나머지 변수의 분포는 관찰된 데이터를 조건으로 하는 사후 분포가 된다.

원하는 매개변수의 가장 가능성이 높은 값(최빈값)은 가장 일반적으로 발생하는 표본 값을 선택하여 간단히 결정할 수 있다. 이는 기본적으로 매개변수의 최대 사후 확률 추정과 동일하다. 그러나 더 일반적으로는 표집된 값의 기댓값(평균)이 선택된다. 이는 베이즈 추정량이며 베이즈 표집에서 사용할 수 있는 전체 분포에 대한 추가 데이터를 활용한다. 예를 들어, 단봉 분포의 경우 평균(기댓값)은 일반적으로 최빈값과 유사하지만, 분포가 한 방향으로 왜도가 있는 경우 평균은 해당 방향으로 이동한다.

일부 변수는 관심 있는 매개변수에 해당하지만, 다른 변수는 변수 간의 관계를 표현하기 위해 모델에 도입된 "귀찮은" 변수일 수 있다. 표집된 값은 모든 변수에 대한 결합 분포를 나타내지만, 기댓값 또는 최빈값을 계산할 때 귀찮은 변수는 무시할 수 있다. 이는 귀찮은 변수에 대해 주변 분포를 구하는 것과 같다.

지도 학습, 비지도 학습, 반지도 학습(누락된 값을 사용한 학습)은 모두 값이 알려진 변수의 값을 고정하고 나머지를 표집함으로써 처리할 수 있다.

관찰된 데이터의 경우, 각 관찰에 대해 하나의 변수가 존재한다. "표본 평균" 또는 "표본 분산"과 같은 개념에 해당하는 변수는 일반적으로 없다. 대신, 알 수 없는 실제 평균과 실제 분산을 나타내는 변수가 있으며, 이러한 변수에 대한 표본 값의 결정은 깁스 표집 과정에서 자동으로 발생한다.

일반화 선형 모형(예: 선형 회귀의 변형)도 깁스 표집으로 처리할 수 있다. 예를 들어, 회귀 계수에 정규 분포 사전 분포가 있는 프로빗 회귀는 깁스 표집으로 구현할 수 있다. 그러나 로지스틱 회귀는 이 방식으로 처리할 수 없고, 일반적으로 메트로폴리스-헤이스팅스가 깁스 표집 대신 사용된다.

8. 소프트웨어


  • OpenBUGS(''깁스 표본 추출을 사용한 베이시안 추론'')는 마르코프 연쇄 몬테카를로를 사용하여 복잡한 통계 모델의 베이즈 분석을 수행하는 소프트웨어이다.[1]
  • JAGS (''또 다른 깁스 표본 추출기'')는 마르코프 연쇄 몬테카를로를 사용하여 베이즈 계층 모델을 분석하기 위한 GPL 프로그램이다.[2]
  • 처치는 확률적 프로그램으로 지정된 임의의 분포에 대한 깁스 추론을 수행하기 위한 자유 소프트웨어이다.[3]
  • PyMC는 일반적인 확률적 그래프 모델의 베이즈 학습을 위한 오픈 소스 파이썬 라이브러리이다.[4]
  • [https://turing.ml/ 튜링]은 확률적 프로그래밍을 사용한 베이즈 추론을 위한 오픈 소스 줄리아 라이브러리이다.[5]

9. 둘러보기

참조

[1] 논문 Stochastic Relaxation, Gibbs Distributions, and the Bayesian Restoration of Images
[2] 논문 Sampling-Based Approaches to Calculating Marginal Densities https://www.tandfonl[...] 1990-06-01
[3] 서적 Bayesian data analysis CRC press Boca Raton
[4] 논문 Gibbs sampler and coordinate ascent variational inference: A set-theoretical review
[5] 논문 The Collapsed Gibbs Sampler in Bayesian Computations with Applications to a Gene Regulation Problem 1994-09
[6] 간행물 Suppressing Random Walks in Markov Chain Monte Carlo Using Ordered Overrelaxation
[7] 논문 The Collapsed Gibbs Sampler in Bayesian Computations with Applications to a Gene Regulation Problem
[8] 논문
[9] 논문 http://arxiv.org/abs[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com