데이터베이스

데이터마이닝_확률기반 기계학습_나이브 베이즈(Naïve Bayes Classification), 나이브 베이지안 분류

스윙스윙 2021. 10. 1. 16:57

▣ 데이터마이닝_확률기반 기계학습_나이브 베이즈(Naïve Bayes Classification)

- 데이터가 각 클래스에 속할 특징 확률을 계산하는 조건부 확률 기반의 분류 방법이다.

- 일어나지 않은 일(사건)에 대하여 이 사건과 관련된 여러 가지 확률을 이용하여 새롭게 일어날 수 있는 사건에 대하여 추론

- 사전확률 P(A)과 우도(가능도, likelihood)확률(B|A)를 안다면 사후확률 P(A|B)을 알 수 있다.

   A : 가설, B : 알고 있는 데이터(evidence - 관찰값)

   

 

- 나이브(Naïve) : 예측한 특징이 상호 독립적이라는 가정 하에 확률 계산을 단순화, 나이브라는 의미는 순진하다라는 뜻을 담고 있으며 모든 변수(특징)들이 동등하다는 것을 의미한다.

- 베이즈(Bayes) : 입력 특징이 클래스 전체의 확률 분포 대비 특정 클래스에 속할 확률을 베이즈 정리를 기반으로 계산

설명변수가 연속형 변수일 때, Gaussian Naive Bayes (가우시안 나이브 베이즈)

설명변수가 범주형 변수일 때, Multinomial Naive Bayes (다항 나이브 베이즈)

 

B가 주어졌을 때 사건 A의 조건부 확률

베이즈 정리의 정의는 "A1,...,Ak가 배반사건이고, A1,...Ak의 합집합이 전체 집합(=S)일 때,

 

 

나이브 베이즈의 장점

- 간단하고 빠르며 효율적인 알고리즘이다.
- 잡음과 누락 데이터를 잘 처리한다.
- 훈련을 할 때 데이터의 크기에 상관 없이 잘 동작한다.
- 예측을 위한 추정 확률을 쉽게 얻을 수 있다.

 

나이브 베이즈의 단점

- 모든 특징이 동등하게 중요하고, 독립이라는 가정이 잘못된 경우가 자주 있다.

(ex: 텍스트의 단어들, 일기예보를 할 때 습도와 같은 중요한 특징을 다른 특징과 동등하다 판단)

- 수치 특징이 많은 데이터셋에는 이상적이지 않다. 

- 추정된 확률이 예측된 클래스보다 덜 신뢰할만하다.

 

나이브 베이즈의 활용 방안 (사용 예시)

스팸 필터링

- 대중적으로 나이브베이즈의 활용에 가장 많이 알려진 것이 스팸 필터링이다.

- 이진 분류(binary classification)

 

비정상적인 상황 감지

- 컴퓨터 네트워크 침입이나 비정상 행위 등을 탐지

- 이진 분류(binary classification)

 

의학적 질병 진단

- 종양의 크기, 환자의 나이 등등을 여부로 암 여부를 진단하는 등의 질병을 진단할 수 있음

- 이진 분류(binary classification)

 

문서 분류

- 문서 데이터를 읽고, 스포츠, 정치, 연예 등의 문서로 분류

- 다중 분류(multi-class classification)

 

라플라스 스무딩(Laplace Smoothing)

특징이 무조건 있는 값에는 적용될리 없겠지만, 다중 분류 모델에서 값이 0이 되는 경우가 있다.

문서를 읽고 다중 분류를 한다고 가정을 해보자.

이때 class로 연예, 스포츠, 뉴스, 정치가 있는데 kpop이란 단어가 연예, 뉴스, 스포츠가 등장했지만

정치에 등장하지 않았다 가정해보자.

 

특히, tf-idf 등을 써서 클래스별 단어의 중요도를 뽑게 되면 이러한 현상이 더욱 발생하게 된다.

그렇다고 클래스별 중요도를 무시하고 뽑는다면 아무런 의미없는 단어가 나올지도 모른다. 

 

문제는 0이란 수는 모든 곱셈과 나눗셈을 무력화 시키는 값이라는 것이다.

그 전에 아무리 의미있는 값이 도출된다 하더라도 마지막에 0을 곱해버리면 값은 0이 나온다.

이런 경우가 상당히 빈번하기 때문에 값을 0이 아닌 최소값(1회 등장)으로 보정을 하게 되는데

이를 라플라스 스무딩이라 한다.

언더플로우(Underflow) 현상

확률이라는 것은 항상 1보다 작은 값을 갖고 나이브 베이즈는 이 모든 확률들을 곱하기 때문에

조건부 확률이 너무 작아져서 비교가 불가능한 현상이 발생하게 된다.

이를 방지하기 위해 값에다 로그를 취한 후 연산을 적용하기도 한다.

bag-of-words representation

각 단어가 독립임을 가정하는 나이브 베이즈 분류기는,

문서 표현(representation) 방식 중 가장 간단한 기법인 Bag-of-Words와 본질적으로 같은 접근을 취합니다.

나이브 베이즈 분류기는 범주가 주어졌을 때 각 단어가 나타날 확률(우도)의 연쇄적인 곱으로 계산을 하는데, 

aa 다음에 bb를 곱하든 그 반대로 곱하든 결과가 같습니다.

bag-of-words도 나이브 베이즈 모델처럼 단어의 등장 순서를 무시합니다.

그저 문서 내 빈도만을 따져서 문서를 표현합니다.

문서를 어떤 가방(bag) 안에 넣고 이를 뒤섞는다는 느낌 정도로 이해하면 직관적일 것 같습니다.

아래 그림은 영화 리뷰를 bag-of-words 방식의 representation으로 바꾸는 걸 도식화한 것입니다.

설명변수가 범주형 변수일 때, Multinomial Naive Bayes (다항 나이브 베이즈)

 

 

디리클레 분포 Dirichlet distribution

벡터 P=(p1,p2,,pK)RKP=(p1,p2,⋯,pK)∈RK의 각 원소가 0보다 큰 양수이며 그 합이 1인 벡터에 대한 분포이다. 예를 들어, 어떤 주사위의 각 면이 나올 확률, 가위 바위 보를 할 때 각 수가 나올 확률이 디리클레 분포를 따른다. 양수 벡터 α=(α1,α2,,αK)α=(α1,α2,⋯,αK)를 모수로 가지며 확률 밀도 함수 Dir(P;α)Dir(P;α)는 다음과 같다. 단, α0=iαiα0=∑iαi이다.


2019년 56번

정답 : 1번

나이브베이즈에서 모든 입력 속성은 독립적인 개별 사건으로 간주하므로, 서로 연관하여 클래스 결정에 영향을 주지 않습니다.

 


 

2021년 69번

정답 : 3번

B가 주어졌을 때 사건 A의 조건부 확률

 

1) P(집소유=아니오 ∩ 우수) / P(우수) = 0.4/0.7 = 4/7

   P(우수) = 전체 중 신용이 우수인 것 7/10

   P(집소유=아니오 ∩ 우수) : 집소유가 아니오이면서 신용이 우수인 것은 4/10

2) P(집소유=예 ∩ 우수) / P(우수) = 0.3/0.7 = 3/7

3) P(결혼=미혼 ∩ 우수) / P(우수) = 0.2/0.7 = 2/7

4) P(결혼=미혼 ∩ 불량) / P(불량) = 0.2/0.3 = 2/3

 

가장 작은 확률값은 2/7 정답은 3번