티스토리 뷰

 

 

"해당 포스팅은 Andew Ng 의 Machine learning class - Naive Bayes Classifier 를 요약한 것입니다." 


Discriminative model vs Generative model

Discriminative model 의 대표적인 예는 Logistic regression 이라고 함.

$P(y|x)$ 즉 $x$ features 가 주어졌을 때 바로 $P(y)$ 를 구하는 거임. 아래 그림처럼 Binary classification 에서 두 class 를 구분하는 초록색 선을 찾는게 목표임.

 

 

Generative Model 로도 classifier 를 만들 수 있는데 방법이 조금 다름.

일단 formal 하게 말하자면 Generative Model 은 $P(y|x)$  를 직접 구하는 게 아니라 $P(x|y)P(y)$ 를 통해서 classification 을 수행함. 특히나 중요한 부분이 $P(x|y)$ 부분인데, 클래스가 주어졌을 때 x의 probabilty 를 구하도록 모델링 하는 것.

좀 더 쉽게 설명하자면, 각 클래스에 대해서 x 의 features 를 배운다고 생각하면 됨.

아래 그림처럼 빨간색 원이 malignant tumor 에 대해 모델이 배운 features 라고 하고, 파란색 원이 banign tumor 에 대한 features 라고 하자. 새로운 데이터가 주어졌을 때 (원 안의 점), 이 데이터가 내가 모델링한 빨간원의 데이터와 비슷하면 malignant 파란원이랑 비슷하면 banign. 어쨌든 각 클래스에 대해서 x features 를 배우는 모델인 거임.

Generative model 의 대표적인 예가 Naive Bayes 임.

 

둘의 차이를 좀 더 formal 하게 설명한 슬라이드

Naives bayes Classification 만들기

Bayes rules 에 의해서 generative model 이 배우는 $P(x|y)$ 를 가지고 classification 에 필요한 $P(y|x)$ 도출 가능함.

 

 

내가 헷갈렸던게 그래서 Naive Bayes 가 뭐? 이걸로 neural network 모델링을 할 수 있다는거야? 했는데 naive bayes 는 simple learning algorithm 이라고 함. 실제로 naive bayes classifier 만들 때 필요한 $P(x)$  랑 $P(x|y)$ 를 배울 때 count 기준으로 함. 근데 Naive bayes 를 neural net 에 적용할 수는 있는데 그게 Naive Bayes Neural Net

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함