본문 바로가기
  • Fearless
기계학습/ML

[ML개론] (6) Naive Bayesian Classifier

by Albatross 2022. 1. 27.
반응형

이전에 살펴본 Conditional Independence 가정을 바탕으로, Naive Bayesain Classifier를 설계한다. 

기존에 사용하던 argmax(pdf) 함수를 사용하는데, 위 식과 같이 변형할 수 있다. 이를 통해 우리는 기존 (2^d-1)k만큼 필요하던 dataset을 (2-1)dk개로 줄일 수 있다. 

 

NBC는 Bayes risk를 줄여주는 최적의 분류기다. 

Class prior prob P(Y), d개의 conditionally independent한 P(X|Y)가 주어져있단 가정하에서 Y=y를 극대화시키는 함수를 찾는 것이다. 기존 optimal classifier는 and로 이어진 X variable에 해당하는 dataset을 다 찾아야했지만 NBC는 필요한 dataset의 갯수를 줄여준다는 점에서 의의가 있다. 

그러나 이전 포스팅에서 살펴봤듯이 independent variable간의 collinearity가 존재하기 때문에 naive assumption은 현실과는 크게 어긋난다는 문제가 존재한다. 또한 관측치가 불충분한 경우에 prior prob을 MLE를 통해 추정하면 현실과는 동떨어진 확률이 도출될 가능성이 있다. 따라서 보통은 사전지식이 내포된 MAP를 활용하는 것이 좋다. 

 

NBC는 위와 같은 자연어처리에도 활용된다. 아마존 리뷰를 text mining하여 감정을 판별내린다고 가정하자.

feature(X)는 모든 리뷰에 등장하는 모든 단어들이다. 가령 <I, Cool, LCD, reliant>가 있다면 이를 벡터화하여 나열한다. 각 dataset(리뷰)에 대해 해당 단어가 등장하는 횟수를 feature data로 저자한다. 가령 <2,0,1,4> 이런식이다. 우리가 이를 활용하여 NCB를 형성하려면 labeled data를 통해 prior prob을 구하고, positive일 때 어떤 단어가 많이 등장하는지(conditional prob)을 곱하여 해당 확률을 극대화한다. 

반응형