로그인 바로가기 하위 메뉴 바로가기 본문 바로가기

인공지능 및 기계학습 개론Ⅰ

임시 이미지 KAIST 산업및시스템공학과 문일철
http://kooc.kaist.ac.kr/machinelearning1_17/forum/1307
좋아요 3574 수강생 17094

 안녕하세요. 이미 수료한 강좌이지만 복습하다가 궁금한 점이 생겨 이렇게 질문드립니다.

naive bayes classifier와 bayesian network를 연관지어 생각하다가 제 사고의 흐름이 어디에서

잘못되었는지 몰라 자꾸 모순이 발견됩니다...

 제가 이해한 바로는,

"먼저 naive bayes classifier는 classification의 한 종류로서 사건들간의 확률적인

인과관계를 밝혀내는데에 초점이 있다. 왜냐하면 enjoyspt를 판단하는 문제에서와 같이 여러 features의

조합들을 통해 enjoyspt의 여부가 {yes, no} 2개의 class로 분류되듯이 어떠한 features의 조합이 원인으로

enjoyspt의 여부가 결과로 나타나기 때문이다.

 그렇다면 naive bayes classifier에서 목표로 하는 식

f(x)=argmax P(X=x | Y=y)P(Y=y) 이 의미하는 것은 사전정보로 결과(Y=y)가 주어졌을 떄, 이 결과 내에서 특정

원인 (X=x)이 될 확률을 최대화 해주는 Y=y의 값을 찾아라는 의미가 되고,

결국 classification은 각 사건들간의 확률적인 인과관계를 graph로 표현해주는 Bayesian Network로 표현할 수

있다.

하지만 naive bayes classifier에서는 conditional independence assumption이 성립해야 하기 때문에

Bayesian Network의 전형적인 3가지 구조 중에서 이 가정을 만족시키려면 common parent 구조만 사용할 수

있다. 왜냐하면 parent node를 결과로 child nodes를 원인으로 놓게 되면 결과가 given일 때, child node끼리

모두 conditional independence가 성립하기 때문이다. 하지만 형식상으로 보게되면 Bayesian Network는

사건들의 확률적인 인과관계를 표현하는 것이기 때문에 parent node(원인) -> child node(결과) 표현되어

앞서 언급했던 parent node=결과, child node=원인 이라는 것과 모순이 발생한다.

만약 반대로  Bayesian Network의 표현형식을 우선 고려하여 v-structure로 표현하게 되면

conditional independence assumption이 무너지게 된다.

따라서 모순이 발생한다."

입니다.

아무리 생각해도 도저히 어느 부분에서 틀렸는지 이해가 되지 않아..멘토님들의 소중한

답변을 기다리며 이렇게 어수선 하지만 장문의 질문을 남깁니다.

감사합니다.