【 도대체 베이지안 네트워크가 뭐야? ①】
* 베이지안 네트워크(BN; Bayesian Network) 란?
- 확률 변수(RV; Random variables)들 사이의 조건부 독립 등의 관계를 보임으로써, RV의 full joint distribution등을 간결하게 표현할 수 있는 그래프 표기법 (Graphical Notation) 이다.
여기서 그래프(Graph) 란, 수학에서 차트(Chart)와 대조되어 정의된
node
와edge
의 집합edge
가 방향이 지정되어 있으면directed
, 그렇지 않으면undirected
그래프의 모든
edge
가directed
일 때directed graph
directed edge
에서, 시작되는 쪽의 노드를parent node
라고 하고 반대쪽은child node
라고 한다복수의 연결된
directed edge
의 방향이 같은 경우 이를directed path
라고 하고,directed path
의 첫 번째 노드는 경로상의 모든 노드들의ancestor node
이고, 반대로 나머지 노드들은 첫번째 노드의descendant node
이다.directed path
의 시작점과 끝점이 일치할 경우 이를cyclic
이라 하고, 그렇지 않은 경우acyclic
라고 한다.
베이지안 네트워크(BN) 의 Syntax
Network
는Node
와 이들을 연결시키는Edge
로 구성된다방향성 비순환 그래프(DAG; Directed Acyclic Graph)
가 되어야 한다개별
Node
들은 RV인 \(X\)에 대해 \(\bf P(X | Paranets(X))\)를 의미한다.개별
Edge
들은 부모가 자식에게 주는 직접적인 영향(Direct Influence) 을 의미한다.
* 먼저 확률에 대한 간단한 복습부터
- 베이지안 네트워크 라는 것은 결국 확률변수(RV) 간의 관계 를 표현한 것이다.
- 확률 이라는 것은 상대적인 빈도 이다.
독립성 (Independence)
\(P(A|B) = P(A)\)
\(\Leftrightarrow P(A,B) = P(A)P(B)\)
\(\Leftrightarrow P(B|A) = P(B)\); A와 B가 독립이면, B는 A와 독립이다.
사건B가 발생했다는 정보는 사건A가 발생할 확률에 추가적인 정보를 제공하지 못한다.
이는, 밑에 서술하는 Conditional Independence 와 대립되는 의미로 Marginal Independence 라고 할 수 있다.
조건부 독립 (Conditional Independence)
\(P(A|B,C) = P(A|C)\)
- 사건C가 주어졌을 때 두 사건 A와 B가 독립인 경우, 이것은 C라는 조건하에서 조건부 독립 이다.
조건부 확률 (Conditional Probability)
\(P(A= true|B=true)\)
"Probablity of A given B"
B가 주어졌을 때, A의 확률
결합 확률 (joint Probability)
\(P(A= true, B=true)\)
"the probability of A=true and B=true"
A=true와 B=true가 동시에 만족할 확률
조건부 확률과 결합 확률의 관계 는 일반적으로, \(P(X|Y) =\cfrac{P(X,Y)}{P(Y)}\)
총 확률 법칙 (Law of Total Probability)
"Summing out" or "Marginalization"
\(P(A) = \sum_kP(A,B_k) = \sum_kP(A|B_k)P(B_k)\)
\(P(A) = \sum_kP(A,B_k)\) 는 \(B_1,B_2,...,B_n\)이 각각 상호배반적인 집합이고 이들의 합집합이 전체집합이 되므로 성립 (marginalize)
\(\sum_kP(A,B_k) = \sum_kP(A|B_k)P(B_k)\)는 조건부확률과 결합확률의 관계를 이용하면 유도가능
이로 인한 이점은, \(P(A)\)를 직접 구하는 것보다, \(P(A|B_k)\)와 같은 조건부확률을 구해서 합치는 것이 일반적으로 더 수월하다는 것이다.
혹은 결합확률을 알고 있을 때, 여러가지 확률을 계산 할 수 있다.
예를들어, 결합확률인 \(P(a,b,c,d)\)를 알고 있을 때, \(P(c|b)\)는 이렇게 표현할 수 있다
\(P(c|b) = \sum_a \sum_d P(a,c,d|b) = \cfrac{1}{P(b)}\sum_a \sum_d {\bf P(a,b,c,d)}\)
그러나 joint의 경우에는 parameter의 수가 exponential하게 늘어나게 된다! (Chain Rule의 필요성)
확률의 연쇄법칙 (Chain Rule for probability)
모든 joint distribution에 대해, 결합확률과 조건부확률의 관계에 의해 언제나 이하와 같이 표현할 수 있다.
\(P(a,b,c,...,z) = P(a|b,c,...,z)P(b,c,....,z)\)
이것을 반복적으로 하면, \(P(a,b,c,...,z) = P(a|b,c,...,z)P(b|c,...,z)P(c|d,...,z)...P(z)\)로 표현 가능하다. (Factorization)
곱 분해 법칙 (Rule of product decomposition)
Bayesian Network에서는 그래프에 속한 RV의 결합분포(joint distribution)는
family
의 모든 조건부 분포 \(P(Child|Parent)\)의 곱\(^{[*1]}\)으로 표현 할 수 있다. (시리즈의 다음 포스트의 Factorization of Bayes Network 내용 참조)\(P(x_1,x_2,...,x_n) = \prod _iP(x_i|Parents(x_i))\)
Parents는 직접적으로 연결되어 영향을 받는 변수만을 의미!
예를 들어, \(X\rightarrow Y \rightarrow Z\) 인 그래프에서 \(P(X=x, Y=y, Z=z)\)를 구하는 것을 생각해보자
원래는 가능한 모든 조합의 \((x, y, z)\)에 해당하는 확률 테이블을 만들어야 한다
그러나, 이 법칙을 이용하면 \(P(X=x, Y=y, Z=z) = P(X=x)P(Y=y|X=x)P(Z=z|Y=y)\)로 간결하게 표현 가능
이처럼 고차원을 저차원으로 만들어 차원의 저주(curse of dimensionality) 에서도 비교적 자유로워 질 수 있다.
<span style="font-size: 85%;> \(^{[*1]}:\) 이렇게 정의되는 원래는 뒤에서 기술하는 베이지안 네트워크의 Typical Local Structures Rules와 관련 되어있다.
* 베이지안 네트워크의 Rules of Typical Local Structures
Rule 1. 사슬 혹은 폭포형 (Chain or Cascading)
변수\(X\)와 변수\(Y\)의 사이에 하나의 방향성 경로 만 있고 변수\(Z\)가 해당 경로를 가로막고 있는 경우, \(Z\)가 조건부로 주어졌을때 두 변수 \(X\)와 \(Y\)는 조건부 독립 이다.
\(X \perp Y|Z\)
\(\Leftrightarrow P(Y|X,Z) = P(Y|Z)\)
Rule 2. 분기 혹은 공통부모형 (Fork or Common parent)
변수 \(Z\)가 \(X\)와 \(Y\)의 공통 원인이고 \(X\)와 \(Y\)사이에 단 하나의 경로가 있는 경우, \(Z\)의 조건이 주어졌을 때 \(X\)와 \(Y\)는 조건부 독립 이다.
\(X \perp Y | Z\)
\(\Leftrightarrow P(X,Y|Z) = P(X|Z)P(Y|Z)\)
Rule 3. 충돌부 혹은 V-구조 (Collider or V-structure)
변수 \(Z\)가 두 변수 \(X\)와 \(Y\) 사이의 충돌 노드이고 \(X\)와 \(Y\) 사이에 단 하나의 경로 만 있을 경우, \(X\)와 \(Y\)는 비조건부 독립(underconditionally independent) 이다. 그러나 \(Z\) 또는 \(Z\)의
descendant
을 조건부로 하였을 때 \(X\)와 \(Y\)는 종속적일 가능성 이 있다.\(\sim (X \perp Y|Z)\)
\(\Leftrightarrow P(X,Y,Z)=P(X)P(Y)P(Z|X,Y)\)즉 \(Z\)가 not given 일 때는 독립이지만, 반대로 \(Z\)가 given으로 주어지면 \(X\), \(Y\)가 종속적이 될 가능성이 생겨버린다.
* Bayes Ball Algorithm
목적 ; \(X \perp Y | Z\) (\(Z\)가 given일 때 \(X\)와 \(Y\)가 독립) 이 성립하는지 여부를 판정하기 위한 알고리즘
\(X\)에서 공이 출발한다고 가정했을 때 \(Y\)까지 공이 도달하는지 확인하는 방법
여기서 공은
Information
을 의미하고 화살표는 공의 움직임을 의미한다. 노드 간이 직접적인 edge로 연결되어 있지 않더라도 공이 굴러가서 도달할 수 있다면Indirect influence
가 존재하기때문에 두 변수는depedent
하다는 것을 의미한다.
Rule 1의 경우
(1). \(Z\)가 given이 아닐 때, 공은 지나갈 수 있다. (\(X, Y\)는 종속)
(2). \(Z\)가 given 일 때, 공은 지나갈 수 없다. (\(X \perp Y|Z\))
Rule 2의 경우
(1). \(Z\)가 given이 아닐 때, 공은 지나갈 수 있다. (\(X, Y\)는 종속)
(2). \(Z\)가 given 일 때, 공은 지나갈 수 없다. (\(X \perp Y|Z\))
Rule 3의 경우
(1). \(Z\)가 given이 아닐 때, 공은 지나갈 수 없다. (\(\bf X \perp Y\))
(2). \(X_C\)가 given 일 때, 반대로 path가 생겨서 공이 지나갈 수 있게 된다. (\(X, Y\)는 종속 \(|Z\))
Bayes Ball Algorithm 연습
문제 1. \(X_1\perp X_4|X_2\)
두가지 경로로 공을 굴릴 수 있다.
(1). \(X_1 \rightarrow {\bf X_2}(given) \rightarrow X_4\) 의 경로는 \(X_2\)가 사슬의 given으로 막혀있으므로 지나갈 수 없다.
(2). \(X_1 \rightarrow X_3 \rightarrow X_5 \rightarrow X_6 \leftarrow {\bf X_2}(given) \rightarrow X_4\) 의 경로는 \(X_6\)가 충돌부의 not given으로 막혀있으므로 지나갈 수 없다.
따라서 어떠한 경로로도 볼은 지나갈수 없으므로 \(X_2\)가 given일 때 \(X_1\)와 \(X_4\)는 독립 이다.
문제 2. \(X_2\perp X_5|X_1\)
두가지 경로로 공을 굴릴 수 있다.
(1). \(X_2 \rightarrow X_6 \leftarrow X_5\) 의 경로는 \(X_6\)가 충돌부의 not given으로 막혀있으므로 지나갈 수 없다.
(2). \(X_2 \leftarrow {\bf X_1}(given) \rightarrow X_3 \rightarrow X_5\) 의 경로는 \(X_1\)가 분기의 given으로 막혀있으므로 지나갈 수 없다.
따라서 어떠한 경로로도 볼은 지나갈수 없으므로 \(X_1\)가 given일 때 \(X_2\)와 \(X_5\)는 독립 이다.
문제 3. \(X_1\perp X_6|\{X_2, X_3\}\)
두가지 경로로 공을 굴릴 수 있다.
(1). \(X_1 \rightarrow {\bf X_2}(given) \rightarrow X_6\) 의 경로는 \(X_2\)가 사슬의 given으로 막혀있으므로 지나갈 수 없다.
(2). \(X_1 \rightarrow {\bf X_3}(given) \rightarrow X_5 \rightarrow X_6\) 의 경로는 \(X_3\)가 사슬의 given으로 막혀있으므로 지나갈 수 없다.
따라서 어떠한 경로로도 볼은 지나갈수 없으므로 \(\{X_2, X_3\}\)가 given일 때 \(X_1\)와 \(X_6\)는 독립 이다.
문제 4. \(X_2\perp X_3|\{X_1, X_6\}\)
두가지 경로로 공을 굴릴 수 있다.
(1). \(X_2 \leftarrow {\bf X_1}(given) \rightarrow X_3\) 의 경로는 \(X_1\)가 분기의 given으로 막혀있으므로 지나갈 수 없다.
(2). \(X_2 \rightarrow {\bf X_6}(given) \leftarrow X_5 \leftarrow X_3\) 의 경로는 \(X_6\)가 충돌부의 given으로 뚫려있으므로 지나갈 수 있다.
따라서 두번째 경로로 볼은 지나갈 수 있으므로 \(\{X_1, X_6\}\)가 given일 때 \(X_2\)와 \(X_3\)는 독립이 성립하지 않는다.
* \(d\)-Seperation의 정의
\(d\)는 방향성(directly)을 의미한다.
Bayesian Ball Algorithm으로 \(d\)-Seperation을 확인할 수 있다.
정리하자면, 경로p가 조건부집합 \(\{W\}\)에 의해 \(d\)-Seperate된다는 명제는 이하와 필요충분조건이다.
경로p는 조건부집합 \(\{W\}\)에 속하는 중간노드 \(Z\) 의 사슬 \(X \rightarrow Z \rightarrow Y\) 또는 분기 \(X \leftarrow Z \rightarrow Y\) 를 포함한다.
경로p는 조건부집합 \(\{W\}\)에 속하지 않는 중간노드 \(Z'\) 의 충돌부 \(X \rightarrow Z' \leftarrow Y\) 를 포함한다.
* Reference
해당 포스트는 Edwith에 개설된 문일철 교수님의 인공지능 및 기계학습 개론 II 강의를 정리 & 추가한 내용임을 밝힙니다.
추가 내용 참조
의학 및 사회과학 연구를 위한 통계적 인과추론 (Judea Pearl, Madelyn Glymour, Nicholas P. Jewell)