배워서 남 주자

AI/인공지능 및 기계학습 개론

[인공지능 및 기계학습 개론] 3.3 Naive Bayes Classifier

신라면순한맛 2022. 8. 22. 01:00

이번 포스팅에서는 Naive Bayes Classifier에 대해서 알아보도록 하겠습니다.

 

http://www.edwith.org/machinelearning1_17/lecture/10587

 

[LECTURE] 3.3. Naive Bayes Classifier : edwith

- 신승재

www.edwith.org

 


 

앞의 포스팅들에서 이미 다 준비를 해놨기 때문에 간단하게 정리할 수 있을 것 같습니다.

2022.08.20 - [AI/인공지능 및 기계학습 개론] - [인공지능 및 기계학습 개론] 3.1 Optimal Classification

 

[인공지능 및 기계학습 개론] 3.1 Optimal Classification

이번 포스팅에서는 Optimal Classification에 대해서 알아보도록 하겠습니다. http://www.edwith.org/machinelearning1_17/lecture/10585 [LECTURE] 3.1. Optimal Classification : edwith - 신승재 www.edwith.or..

mathmemo.tistory.com

2022.08.21 - [AI/인공지능 및 기계학습 개론] - [인공지능 및 기계학습 개론] 3.2 Conditional Independence

 

[인공지능 및 기계학습 개론] 3.2 Conditional Independence

이번 포스팅에서는 Conditional Independence에 대해서 알아보도록 하겠습니다. http://www.edwith.org/machinelearning1_17/lecture/10586 [LECTURE] 3.2. Conditional Independence : edwith - 신승재 www.edwit..

mathmemo.tistory.com

 


 

일반적으로 주어지는 input feature들이 conditionally independent하다고 말하기는 당연히 어렵겠지만, 그렇게 가정하지 않으면 계산해야 하는 양이 exponentially 많아지기 때문에 어떤 의미에서는 다소 거칠고 비현실적임에도 naive하게 input feature들이 모두 conditionally independent하다고 가정하고자 합니다. 이러한 가정을 naive assumption이라고 합니다.

 

그래서 Bayes Classifier에 naive assumption을 해주면 아래의 결과를 얻습니다.: $$ \begin{aligned} f^{\text{Bayes}}(x) &= \argmax_{y=1,\ldots,K} P(X=x|Y=y)P(Y=y) \\ &\approx\argmax_{y=1,\ldots,K} P(Y=y)\prod_{1\le i\le d} P(X_i=x_i | Y=y) \end{aligned} $$ 이렇게 하면 $(2^d-1)k$ 만큼의 경우의 수가 있던 것을 $(2-1)dk$ 만큼으로 줄일 수 있습니다. 계산적인 측면에서는 상당한 gain이 생기는 것이지만, 당연히 그만큼 무시하고 잃어버리는 정보도 많다는 것을 염두에 두어야 하겠습니다.

 


 

이를 바탕으로 Naive Bayes Classifier를 정의하면 다음과 같습니다. : $$ f_{\text{NB}}(x)\coloneqq\argmax_{y=1,\ldots,K} P(Y=y)\prod_{1\le i\le d} P(X_i=x_i | Y=y) $$ 

Naive Bayes Classifier는 계산의 용이성 및 특정 상황에서는 잘 working한다는 장점이 있지만, 단점 또한 명확하게 존재합니다. 앞서 말했던 것처럼 naive assumption을 함으로써 input feature간의 multi-collinearity가 무시된다는 점이 가장 큰 단점입니다. 그리고 이건 naive bayes만의 문제는 아니지만, input data가 sparse한 경우 probability를 계산할 때 MLE로는 실패할 가능성이 높기에, 사전분포 정보를 줄 수 있는 MAP를 쓰는 방법을 생각해야 할 수도 있습니다. 물론 이 경우도 prior를 어떻게 설정하느냐에 따라 잘못된 결과가 도출될 수도 있기에 주의가 필요합니다.

 

Naive Bayes의 핵심은 Conditionally Independent

 


 

간단하게 적용해볼 수 있지만 그만큼 치명적인 단점을 가지고 있는 naive bayes classifier를 살펴보았습니다. 이를 통해 naive assumption을 하지 않고 적용할 수 있는 model의 필요성을 느끼게 되는데요. 이러한 motivation을 바탕으로 다음 포스팅에서는 logistic regression에 대해서 살펴보도록 하겠습니다.