IT&컴퓨터공학/데이터분석개론

[데이터분석개론] Naïve Bayes Classifier. 나이브베이즈 분류

yan_z 2021. 2. 13. 23:28

Naïve Bayes Classifier

 

베이즈 정리에 기반한 통계적인 분류 기법이다.

 

K-NN 과 비슷하지만, K-NN 의 경우엔 데이터가 실수의 범위일때만 사용이 가능한것에 비해 ( 유클리드 거리를 쓰니까 )

나이브베이즈는 카테고리 데이터에 사용할 수 있다.

 

실수 범위의 데이터인 경우엔 bin 형태로 바꿔서 카테고리형 데이터로 바꿔 사용할 수 있다.

 

 

해당 예제는 범행 이력(?) 에 관한 표다.

'과거 범행이력을 기반으로 이번에 범행을 저질렀는가 혹은 저지르지않았는가' 를 나타낸다.

 

맨 위 과거 범행이력은 X=1, X=0 으로 카테고리형 데이터인걸 볼 수 있다.

 

왼쪽 위 : 과거 범행 이력 있음. 이번에 범행 저지름.

오른쪽 위 : 과거 범행 이력 없음. 이번에 범행 저지름.

왼쪽 아래 : 과거 범행 이력 있음. 이번에 범행 저지르지 않음.

오른쪽 아래 : 과거 범행 이력 없음. 이번에 범행 저지르지 않음.

 

그런데 잘 보면 이번에 범행을 저지른 사람은 1000명 중 100명에 지나지않는다.

때문에 과거에 죄를 지었던 아니던 이번엔 안그럴거야 ! 라고 판단할 것이다. 이번엔 안그런 사람이 압도적으로 많기 때문이다.

 

이렇게 클래스 간 사이즈 차이가 너무 큰 경우, cutoff probability를 사용해야한다.

 

Exact Bayesian Classifier 의 경우,

 

과거 범행을 저지른적이 있는 사람 중 이번에도 범행을 저지른 사람은 이렇게 나타낼 수 있다.

 

만약 feature 들이 더 많은 경우엔

이런 식이 나오는데 보다시피 feature들이 많아질 수록 계산량이 어마어마해진다...

때문에 이를 보완한 나이브 베이즈가 등장했다.

 

나이브 베이즈에서는 feature 간 독립을 가정한다. 

때문에 대부분 PCA를 사용하고 진행한다.

 

위의 식을 나이브 베이즈에서는

이렇게 쓸 수있다. 자세히 보면 위 exact 식에 있던 교집합을 모두 곱으로 바꿔 푼게 나이브 베이즈다.

 

 

나이브 베이즈의 장점

  • 카테고리형 데이터를 잘 다룰 수 있다.
  • 많은 데이터 상에서 빠르게 작동한다.
  • 간단하고 계산면에 있어서 효율적이다.

나이브 베이즈의 한계

  • 많은 양의 데이터가 필요하다