이 단원 목차
순환을 클러스터의 나무로 바꾸기
네 변수의 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를 얻습니다.
클러스터 belief를 AC로 각각 주변화하면 같은 bAC가 나와야 합니다. 파랑·주황은 두 계산을 비교합니다. 수치창의 작은 잔차는 부동소수점 연산의 불일치이며 논리적으로 다른 확률이 필요하다는 뜻은 아닙니다.
증거와 표의 해석
C=1을 관측하면 C=0인 separator 행은 0입니다. 메시지 원시값은 합이 1일 필요가 없고, 표의 마지막 두 열만 정규화한 주변입니다. 모든 field와 결합이 0이면 각 할당 가중치 1, Z=16이고 separator의 네 질량은 .25입니다.
정확성과 계산량
나무 위에서 유효한 클러스터 인자화와 충분한 메시지 교환을 사용하면 정확한 추론을 할 수 있습니다. 하지만 클러스터 크기가 커지면 표가 지수적으로 늘어납니다. 현재 클러스터는 8칸, separator는 4칸입니다. 일반 모델의 treewidth가 크면 junction tree로 옮겼다는 사실만으로 계산이 작아지지 않습니다.
확인 문제와 해설
- AC가 두 클러스터에 있다고 인자를 두 번 곱하나요? 아니요. 원래 인자는 한 번만 배정합니다.
- 메시지가 반드시 확률분포인가요? 아니요. separator 함수입니다.
- 두 separator 주변은 어떤 관계여야 하나요? 수치 정밀도 안에서 일치해야 합니다.
설명할 수 있나요?
실험 설정과 무관한 기준 예제를 묻습니다. 답을 고르고 설명을 확인해보세요.
선택한 답과 학습 표시는 이 브라우저에 저장됩니다. 다시 풀거나 표시를 해제할 수 있습니다.