베이즈 네트워크

머신 러닝 막대 인공지능 **베이즈 네트워크**(Bayesian network) 혹은 **빌리프 네트워크**(belief network) 또는 **방향성 비순환 그래픽 모델**(directed acyclic graphical model)은 랜덤 변수의 집합과 방향성 비순환 그래프를 통하여 그 집합을 조건부 독립으로 표현하는 확률의 그래픽 모델이다. 예를 들어, 베이지안 네트워크는 질환과 증상 사이의 확률관계를 나타낼 수 있다. 증상이 주어지면, 네트워크는 다양한 질병의 존재 확률을 계산할 수 있다. "베이즈 네트워크"라는 용어는 유디 펄이 다음의 세 개 특징을 강조하면서 만들어졌다. (1) 입력 정보의 주관적인 특성, (2) 정보를 갱신하기 위한 기초로 베이지 조건에 의존함, (3) 추론의 원인과 증거 사이의 구분. 그리고, 이러한 것들은 토마스 베이즈의 1763년 논문에 기초하고 있다. 형식적으로, 베이즈 네트워크는 방향성 비순환 그래프로서, 그래프의 각 마디(node)는 변수를 나타내고, 마디를 연결하는 호(arc)는 변수 간의 조건부 의존성(conditional dependency)을 표현한다. 마디는 측정된 모수, 잠재 변수, 가설 등 어떤 종류의 변수든 표현할 수 있다. 베이즈 네트워크에서는 추론과 학습을 수행하기 위한 효과적인 알고리즘이 존재한다. 음성 신호나 단백질 순열과 같은 일련의 변수를 모형화하는 베이지 네트워크를 동적 베이즈 네트워크(dynamic Bayesian network)라고 부른다. 불확실성 하에 문제를 표현하고 해를 구할 수 있는 베이즈 네트워크의 일반화를 영향 다이어그램이라고 부른다. 공식적으로, 베이지안 네트워크는 베이지안 관점에서 랜덤 변수를 나타내는 노드를 갖는 DAG(Directed acyclic Graph)이다(수량 혹은 잠재변수, 매개 변수, 알 수 없는 가설들을 관찰할 수 있다.). 선(edge: 그래프에서 노드를 연결하는 선)은 조건부 의존성을 표현한다(연결되지 않은 노드는 서로 다른 것의 조건부 독립 변수를 나타낸다.). 노드는 서로, 그 노드의 부모 변수를 위한 변수의 집합을 입력으로 주어지고 노드에 의해 나타난 변수의 확률이 주어진, 확률 함수로 관련되어있다. 예를 들어, 부모가 Boolean 변수 m이면 그 확률 함수는 2^m 항목의 테이블(true 혹은 false인 부모의 가능한 조합2^m의 각각을 위한 하나의 엔트리)에 의해 표현될 수 있다.
# 정의와 개념
베이지안 네트워크의 몇 가지 방정식 정의가 있다. *G* = (*V*,*E*)를 DAG라 하고, *X* = (*X**v*)*v* ∈ *V*를 *V*로 인덱싱된 랜덤변수의 집합이라고 하자.
## 분해의 정의
X는 베이지안 네트워크이고, 그에 관련된 *G*의 (곱 측도(product measure)에 관련되는) 결합 확률 밀도 함수가 부모 변수로 조건화된 독립 밀도 함수의 곱으로 쓰인다면: : p (x) = \prod_{v \in V} p \big(x_v \,\big|\, x_{\operatorname{pa}(v)} \big) 여기서 pa(*v*)는 *v*의 부모 집합이다.(i.e. those vertices pointing directly to *v* via a single edge). 몇몇 랜덤 변수의 집합 때문에, 결합 분포의 몇몇 멤버의 확률은 다음에 따라 연쇄 법칙(chain rule)을 사용하여 조건부 확률로부터 계산될 수 있다. :\mathrm P(X_1=x_1, \ldots, X_n=x_n) = \prod_{v=1}^n \mathrm P(X_v=x_v \mid X_{v+1}=x_{v+1}, \ldots, X_n=x_n ) 위 정의를 이것과 비교하라. :\mathrm P(X_1=x_1, \ldots, X_n=x_n) = \prod_{v=1}^n \mathrm P(X_v=x_v \mid X_j=x_j for each X_j\, which is a parent of X_v\, ) 두 표현의 차이는, 부모 변수의 값이 주어졌을 때, 그것의 비 후손의 것으로부터 나온 변수와 조건부 독립이다.
## 로컬 마르코프 속성
*X*가 베이지안 네트워크이고, 그에 관련된 G가 *로컬 마르코프 속성*(local Markov property)을 만족한다면, 각 변수는, 부모 변수가 주어졌을 때, 그것의 비 후손과 조건부 독립이다. : X_v \perp\\!\\!\\!\perp X_{V \setminus \operatorname{de}(v)} \,|\, X_{\operatorname{pa}(v)} \quad\text{for all }v \in V 여기서 de(*v*)는 *v*의 자식 집합이다. 이것은 또한 다음과 같이 첫 번째 정의 항과 비슷한 표현이 될 수 있다. :\mathrm P(X_v=x_v \mid X_i=x_i for each X_i\, which is not a descendent of X_v\, ) = P(X_v=x_v \mid X_j=x_j for each X_j\, which is a parent of X_v\, ) 그래프가 비순환이기 때문에 부모 집합이 비 후손의 집합의 하위 집합이다.
## 마르코프 블랭킷
노드의 마르코프 블랭킷은 그 노드의 부모와 자식, 자식의 부모이다. *X*가 베이지안 네트워크이고, 그와 관련된 *G*는 마르코프 블랭킷(Markov blanket)이 주어지면 모든 노드가 네트워크에서 모든 다른 노드에 조건부 독립이다.
# 예
심플한 베이지안 네트워크 예제 잔디가 젖을 수 있는 두 가지 이벤트(스프링클러 혹은 비)가 있다고 하자. 또한, 비는 스프링클러의 사용과 같은 효과를 갖는다고 하자(비가 올 땐 보통 스프링클러를 끈다). 이 상황을 베이지안 네트워크로 표현 모델링할 수 있다. 모두 세 개의 변수가 T(true)와 F(false)로 두 개의 확률 값을 갖는다. 결합 확률 함수는 다음과 같다. : \mathrm P(G,S,R)=\mathrm P(G|S,R)\mathrm P(S|R)\mathrm P(R) 여기서 *G*는 잔디의 젖음을, *S*는 스프링클러를, *R*은 비를 간략화하여 표기한 것이다. 그 모델은 조건부확률식과 모든 장애 변수를 합함에 의하여 "잔디가 젖었다면 비였을 확률이 몇이냐?"는 질문에 답할 수 있다. : \mathrm P(\mathit{R}=T \mid \mathit{G}=T) =\frac{\mathrm P(\mathit{G}=T,\mathit{R}=T)}{\mathrm P(\mathit{G}=T)} =\frac{\sum_{\mathit{S} \in \\{T, F\\\mathrm P(\mathit{G}=T,\mathit{S},\mathit{R}=T)}{\sum_{\mathit{S}, \mathit{R} \in \\{T, F\\ \mathrm P(\mathit{G}=T,\mathit{S},\mathit{R})} :: = \frac{(0.99 \times 0.01 \times 0.2 = 0.00198_{TTT}) + (0.8 \times 0.99 \times 0.2 = 0.1584_{TFT})}{0.00198_{TTT} + 0.288_{TTF} + 0.1584_{TFT} + 0_{TFF \approx 35.77 \%. 예에서 분자를 명시적으로 가리킴으로써, 결합 확률 함수는 가중 함수의 각 반복을 계산하는데 사용된다. In the numerator(분자) marginalizing over \mathit{S} and in the denominator(분모) marginalizing over \mathit{S} and \mathit{R}. 다른 한편으로, 만약 우리가 "우리가 잔디가 젖게 했다면 비가 왔을 가능성은?"이라는 중재적인 질문(interventional question)에 답을 원한다면, 대답은 전부 중재 분포로부터 \mathrm P(G|S,R) 요소를 제거하여 얻은 후부 중재 결합 분포 함수(post-intervention joint distribution function) \mathrm P(S,R|do(G=T)) = P(S|R) P(R)에 의해 좌우된다. 기대한 것처럼, 비가 올 가능성은 행위에 의해 영향을 받지 않는다:\mathrm P(R|do(G=T)) = P(R). 결합 분포에서 의존성이 희박하다면, 베이지안 네트워크의 사용은 상당한 양의 메모리를 절약할 수 있다. 예를 들어, 테이블에서 두 개의 값을 가질 수 있는 10개의 변수의 조건부 확률을 순수한 방법으로 저장한다면 2^{10} = 1024의 저장 공간이 필요하다. 만약 지역 분포에서 어떤 변수도 세 개가 넘는 부모변수에 의존하지 않는다면, 베이지안 네트워크 표현은 최대 10*2^3 = 80 저장 공간만을 필요로 한다. 베이지안 네트워크의 한 가지 이점은 복잡한 결합 분포(complete joint distribution)보다 직접적인 의존성(a sparse set of direct dependecies)과 지역 분포(local distribution)를 사람이 이해하는데 직관적이라는 것이다.
# 응용 분야
베이즈 네트워크는 생물 정보학, 약학, 문서 분류, 영상 처리, 자료 양합 및 결정 지원 시스템 등의 분야에서 지식을 모형화하는 데 사용되고 있다.