【 도대체 베이지안 네트워크가 뭐야? ①】
* 베이지안 네트워크(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)