인일의 공부 블로그

[cs188] ch 13.2 베이지안 네트워크 본문

컴퓨터 사이언스/알고리즘

[cs188] ch 13.2 베이지안 네트워크

nineil912 2024. 9. 12. 23:17

포스팅 개요

cs 188 내용을 참고하여 베이지안 네트워크에 대해 다룸. 아래는 우리가 베이지안 네트워크를 다루고자 하는 이유임.

- 열거형에 의한 추론(i.e. 귀납적 추론)은 우리가 원하는 모든 쿼리에 대해 확률을 계산 할 수 있음
- 하지만 이는, 컴퓨터 메모리 관점으로 실용적인 문제에 적합하지 않음(exponential 으로 변수의 수가 증가)
- 베이지안 네트워크는 조건부 확률을 이용해 이 문제를 방지
- 변수간의 관계를 DAG(Directed Acyclic Graph)와 함께 여러 개의 작은 조건부 확률 테이블에 분산

 
 

목차

1. 베이지안 네트워크 표기

2. 베이즈 네트워크 구조

 

🎈 베이지안 네트워크 표현

[ 베이즈 네트워크의 정의] 

- 노드의 방향성 비순환 그래프로 정함. 변수 X당 
- 각 노드에 대한 조건부 분포 P(X|A1 ... An)에서 하나는 n개의 부모 변수 A1 ... An이고, 하나는 X의 값에 대한것, 다른 하나는 부모가 주어진 X의 조건부 확률에 대한 것임.
(여기서 Ai는 조건부 확률 테이블 또는 조건부 확률표(conditional probability table, CPT)로 저장된 X의 i번째 부모 노드임. 
 
Bayes Net 그래프는 서로 다른 노드간의 조건부 독립 관계를 인코딩함.
 

[ Bayes Net 예시 : 5개의 이진 확률 변수 모델]

강도나 지진이 발생하면 경보가 울릴 수 있음.
Mary와 John이 경보를 들었을 때 전화할 것이라 가정.
 
이러한 종속성을 아래 방향이 있는 그래프로 나타낼 수 있음

덧, A : 알림끄기 라는 설명은 알림이 울렸으니 중지 시키러 간다는 맥락임.
 
이 베이즈 네트워크에 확률 테이블을 저장함
( : 뒤의 내용은 작성자가 덧붙인 설명)
P(B) : 강도만 발생 할 수 있음 - 강도만 발생하고 알림을 끄러 가지 않을 수 있음
P(E) : 지진만 발생할 수 있음 - 지진만 발생하고 알림을 끄러 가지 않을 수도 있음
P(A|B,E) : 알림을 끌 경우 강도와 지진 모두 발생했을 수 있음
P(J|A) : 알림을 끌 경우 John에게 전화 할 수 있음
P(M|A) : 알림을 끌 경우 Mary에게 전화 할 수 있음
 
그래프에 대한 모든 CPT가 주어지면 다음 규칙을 사용하여 지정된 확률을 계산 할 수 있음

위의 알람 모델의 경우 실제로 다음과 같이 결합 확률을 계산 할 수 있음

 


실제로 점검하기 위해서 베이즈 네트워크은 모델의 한 유형이라는걸 기억해야 함
모델은 실제 문제를 해결하기 위한 근사치로 이용해야 함
일반적으로 좋은 모델은 모든 변수 또는 변수간의 상호작용을 설명하지 않을 수 있음
그러나, 그래프 구조에서 모델링을 가정함으로써 열거형에 의한 추론 방식보다 간단하게 표현 할 수 있음.
 

🎈 베이즈 네트워크의 구조

베이즈 네트워크의 그래픽 구조를 살펴보고 유추 할 수 있는 두 가지 규칙을 참조함
- 각 노드는 모든 부모가 지정된 경우 그래프의 모든 조상 노드(하위 노드가 아님)와 조건부로 독립적임

- 각 노드는 마크 오브(Markov)블랭킷이 지정된 다른 모든 변수와 조건부 독립적임. 변수의 마크오브 블랭킷은 부모, 자식, 자식의 다른 부모로 구성됨

베이즈 네트워크 의 CPT를 결합하여 모든 변수의 공동 분포를 얻을 수 있음

베이즈 네트워크의 결합 분포와 CPT 간의 이러한 관계는 그래프에서 제공하는 조건부 독립성 관계 때문에 작동함. 아래 예제로 증명함.
 

[ Bayes Network 예시 : 5개의 이진 확률 변수 모델을 이용한 구조 설명]

P(B)
P(E)
P(A|B,E)
P(J|A)
P(M|A)

베이즈 네트워크 에 대해 다음과 같은 관계를 증명하고자 함

방정식 1

우리는 다른 방법으로 결합분포를 확장 할 수 있음. (연쇄법칙 사용)
위상 순서(자식보다 부모)를 사용하여 결합 분포를 사용하여 확장하면 다음과 같은 방정식을 얻을 수 있음.

방정식 2

방정식 1에서 모든 변수는 CPT P(var|Parents(var))이고, 
방정식 2에서 모든 변수는 CPT P(var|Paraents(var), Ancestors(var))
 
위 첫번째 조건부 독립 관계에 의존하고, 각 노드는 모든 부모가 주어지면 그래프의 모든 조상 노드와 조건부로 독립적임. 따라서 위 두개의 방정식은 동일함.
 
이를 통해 여러개의 작은 조건부 확률 테이블이 전체 결합 확률 분포를 나태 낼 수 있음을 확인함.


위 예시를 이해하는데 그림을 그려보며 이해한게 많이 도움이 되었습니다. 그림 내에 필기된 내용이 글을 이해하는데 도움이 되었으면 합니다. cs188을 꾸준히 공부하고자 하는데 시간이 잘 안나서, 확률과 통계 스터디를 진행하면서 해당되는 것 같은 알고리즘들을 일부 가져와 소개하고자 합니다.