본문으로 건너뛰기
151 / GRAPHICAL MODEL LAB
먼저 알아두면 좋아요 · 연결된 선수 절의 조건부확률·Bayes 추론·유한 그래프·주변화
단원 목록 (600) · Junction Tree와 Separator 보정
이해하는 속도로 읽으세요.개념도이론실험확인 문제
BUILD YOUR INTUITION

먼저 그림으로 이해하기

한 번에 한 단계씩 살펴보세요.

클러스터 트리의 두 메시지로 겹치는 변수의 주변분포를 일치시킵니다.

Four-cycle triangulated with diagonal AC; clusters ABC and ACD share separator AC. Each original factor is assigned ONCE. Messages sum out B or D; normalized separator beliefs must agree.

ABCACACD
구조 그림입니다. 간선 길이는 의존 강도를 나타내지 않습니다. 주황 테두리는 관측 또는 조건화 표시입니다.
030.5960
가로: separator A C 할당 · 파랑: ABC에서 구한 주변 · 주황: ACD에서 구한 주변
A Cmessage ABC→ACDmessage ACD→ABCseparator from ABCseparator from ACD
002.8844.3020.2550.255
102.98420.1230.123
011.34120.0550.055
116.4184.3020.5670.567

partition/evidence normalizer = 48.66

고정 기준 예제의 그림과 수치입니다. 각 단계에서 같은 그림의 의미를 차례로 살펴보세요. 고정된 기준 예제이며 아래 실험의 설정과 독립적입니다.
1 / 4

삼각화

AC를 넣어 ABC와 ACD를 만듭니다.

ABCD cycle + AC

실험에서 확인하기 →
이 단원 목차

순환을 클러스터의 나무로 바꾸기

네 변수의 cycle A−B−C−D−A에 대각선 AC를 넣으면 클러스터 ABC와 ACD로 나눌 수 있습니다. 두 클러스터가 공유하는 separator는 AC입니다. 원래 그래프가 순환이어도 클러스터들을 연결한 구조는 나무입니다.

Junction tree에는 각 인자의 scope를 담는 클러스터가 있어야 하고, 같은 변수를 담는 클러스터들은 연결된 부분나무를 이루어야 합니다. 두 번째 조건이 running intersection입니다. 단순히 임의의 클러스터들을 나무로 연결하는 것만으로는 충분하지 않습니다.

인자를 정확히 한 번 배정하기

φ₁(A,B,C)=φAψABψBCe(C), φ₂(A,C,D)=ψCDψDA로 둡니다. 공통 변수 A,C가 있다고 unary나 관측 인자를 두 번 곱하면 다른 모형이 됩니다. 이 실습은 원래 인자를 한 클러스터에만 배정합니다.

두 방향 메시지

메시지는 공유하지 않는 변수를 합한 함수입니다. μ₁₂(A,C)=ΣBφ₁, μ₂₁(A,C)=ΣDφ₂입니다. 두 메시지의 곱을 합하면 원래 모형과 증거의 normalizer Z를 얻습니다.

bABC=ϕ1μ21/Z,bACD=ϕ2μ12/Z,bAC=μ12μ21/Z.b_{ABC}=\phi_1\mu_{21}/Z,\qquad b_{ACD}=\phi_2\mu_{12}/Z, \quad b_{AC}=\mu_{12}\mu_{21}/Z.

클러스터 belief를 AC로 각각 주변화하면 같은 bAC가 나와야 합니다. 파랑·주황은 두 계산을 비교합니다. 수치창의 작은 잔차는 부동소수점 연산의 불일치이며 논리적으로 다른 확률이 필요하다는 뜻은 아닙니다.

증거와 표의 해석

C=1을 관측하면 C=0인 separator 행은 0입니다. 메시지 원시값은 합이 1일 필요가 없고, 표의 마지막 두 열만 정규화한 주변입니다. 모든 field와 결합이 0이면 각 할당 가중치 1, Z=16이고 separator의 네 질량은 .25입니다.

정확성과 계산량

나무 위에서 유효한 클러스터 인자화와 충분한 메시지 교환을 사용하면 정확한 추론을 할 수 있습니다. 하지만 클러스터 크기가 커지면 표가 지수적으로 늘어납니다. 현재 클러스터는 8칸, separator는 4칸입니다. 일반 모델의 treewidth가 크면 junction tree로 옮겼다는 사실만으로 계산이 작아지지 않습니다.

확인 문제와 해설

  1. AC가 두 클러스터에 있다고 인자를 두 번 곱하나요? 아니요. 원래 인자는 한 번만 배정합니다.
  2. 메시지가 반드시 확률분포인가요? 아니요. separator 함수입니다.
  3. 두 separator 주변은 어떤 관계여야 하나요? 수치 정밀도 안에서 일치해야 합니다.

추가 읽기: Stanford CS228, Probabilistic Graphical Models.

CHECK YOUR UNDERSTANDING

설명할 수 있나요?

실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.

1. Running intersection은 무엇을 요구하나요?
2. 클러스터 트리면 언제나 작은 계산인가요?

선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.