Machine Learning in Action ch.4.1 ~ 4.4 Naive Bayes

4.1 베이지안 의사결정 이론으로 분류하기

나이브 베이스는 내가 입사하고 싶은 회사의 채용 조건 중에 나이브 베이스 경험자 우대라는 조건이 있었기 때문에 관심을 더 갖고 심의를 기울여 공부해야할 것 같다.

나이브 베이즈는 확률론과 텍스트 처리에 대해 이 책에서는 배운다. 뭔가 실생활에 많이 쓰이는 예제들이 책 뒤편에 자리 잡고 있다. 이메일 스팸 분류는 머신 러닝 자료 찾을 때 늘 보던 것들이었다. 

4.1에는 베이스 정리의 일부분을 공부한다.

우리는 분류항목 1에 속하는 데이터의 확률 방정식 (원) : p1(x,y)와 분류 항목 2에 속하는 데이터의 확률 방정식은 (세모) : p2(x,y)가 있다. 속성들을 갖고 새로운 측정으로 분류하기 위해서 다음과 같은 규칙을 사용한다.

만약 , p1(x,y) > p2(x,y)이면 , 분류 항목 1에 속한다.
만약 , p1(x,y) < p2(x,y)이면 , 분류 항목 2에 속한다.

간단히 말하면 , 더 높은 확률을 가지는 분류항목을 선택한다. 베이스 정리 이론은 높은 확률을 가지는 의사결정을 선택하는 것이다.

1. kNN을 사용하여 1000개의 거리 계산을 수행
2. 의사결정 트리를 사용하여 x축을 따르는 데이터인지 y 축을 따르는 데이터인지 분할
3. 각 분류 항목의 확률을 계산하고 이들을 비교

p1과  p2 를 계산하기 위해서는 조건부 확률에 대한 설명이 필요하다.


4.2 조건부 확률

흠,, 조건부확률은 수능 때 공부했지만 기억이 하나도 나지 않는다..
이건 대충 책을 읽고 이해해야겠다.


4.3 조건부 확률로 분류하기

우리에게 정말 필요한 계산은 p1(x,y) > p2(x,y) 이런 것들이 아니라 
조건부 확률을 이용한 p1(c1 | x,y) > p2(c2 | x,y) 이다.

이들이 의미하는 것들은 굉장히 중요하다. 
x,y로 확인된 한 지점이 주어졌다면, 이 지점이 분류항목 c1 or c2 에 속할 확률은 얼마나 되는가?

베이스 규칙은 다음과 같은 상태로 적용된다.

p(ci | x,y) = p(x,y|ci) * p(ci) / p(x,y)

4.4 나이브 베이스로 문서 분류하기

기계 학습의 한 가지 중요한 응용 프로그램으로 자동 문서 분류 프로그램이 있다.
새로운 뉴스 기사나 전자 게시판, 정부의 문서 등 어떠한 문서든 나이브 베이스로 분류할 수 있다. 그래서 나이브 베이스는 문서 분류 문제를 해결하는 데 인기 있는 알고리즘이다.

만약 1000개의 속성과 N개의 표본이 있다고 가정하면 N^1000개의 표본이 필요하다.
속성들이 서로 독립적이라고 가정하면 , N^1000개의 데이터는 1000*N개로 줄어들게 된다.
즉, 우리는 단어 '베이컨'이 '맛있는' 이라는 단어 옆에 있을 가능성과 '건강에 해로운'이라는 단어 옆에 나타날 가능성을 같다고 가정한다는 것이다. 이것이 나이브가 의미하는 것이다.

또 하나의 가정은 모든 속성의 중요도를 똑같이 한다는 것이다. 이러한 가정들에 약간의 결함이 있는데도 불구하고 , 나이브 베이스는 일을 잘 수행한다.

다음에는 파이썬으로 나이브 베이스 분류기를 수행해 볼 것이다.


이제 와서 보니 나이브 베이스는 전에 스터디에서 다 공부했던 것들이었다.. 
근데 반년이 지나니 새로워보인다..

댓글

이 블로그의 인기 게시물

윈도우 설치에서 파티션 설정 오류(NTFS)

[exploit writing] 1_스택 기반 오버플로우 (1) First

하둡 설치 오류 정리