본문 바로가기

데이터 다루기/머신러닝 이론

[머신러닝] Bayesian Network

728x90
반응형

안녕하세요. 이번 포스팅에서는 Bayesian Network (베이지안 네트워크)에 대해서 배워보도록 하겠습니다.

Bayesian Network는 Naive Bayes Classifier의 업그레이드 버전입니다.

Naive Bayes Classifier는 모든 입력 변수 X에 대해, X가 관찰 될 때, 종속 변수 Y가 나올 확률을 전부 곱하였습니다.

하지만, 현실 문제에서는 모든 X가 Y에 직접적인 영향을 주지 않습니다.

바로, 인과 관계가 존재하지요.

예를 들어보겠습니다.

이러한 네트워크가 있다고 합시다.

C 사건은 A와 B에 영향을 받고 D와 E 사건은 모두 C에 영향을 받습니다.

이 때 P(A,B,C,D,E)=P(A)P(B)P(C | A,B)P(D | C)P(E | C)가 만족합니다.

이러한 인과관계를 가진 네트워크에서 조건부 확률을 통해, 계산하는것이 Bayesian Network입니다.

하지만 현실 문제에서, 다양한 변수간에 Bayesian Network의 구조를 정하는 것이 물론 쉬운일이 아닙니다.

실제로 데이터로 부터 Bayesian Network의 구조를 만드는 다양한 알고리즘이 활발히 연구되고 있습니다.

관심이 있으시다면, 논문들을 참고하시는것을 추천드립니다.

반응형