여러가지공부/통계적학습(Statistical Learning)

가우시안 나이브 베이즈 이론이란? 스팸메일예제로 쉽게 이해하기(Gaussian Naive Bayes)

끄적끄적아무거나 2023. 4. 8. 17:32
반응형

 

목차

     

     

     

    가우시안 나이브 베이즈 이론이란(Gaussian Naive Bayes)?

     

    앞서 포스트에서 Multinomial Naive Bayes Claasifier에 대해 배워 보았습니다(https://scribblinganything.tistory.com/707). 이번 가우시안 나이브 베이즈 이론은 Multinomial Naive Bayes Claasifier의 연장선상에서 배우는 개념이라 혹시 앞에 포스트를 보지 않으셨다면 보시고 오시길 추천 드립니다.

     

     

    수식1

     

    수식2

     

     

    수식1의 Naive Bayes 이론을 사용해서 수식2를 전개 하였습니다. 수식2를 통해 우도(Likelihood)의 확률 값를 구할 수 있었습니다.

     

    기존에 확률 값 p를 스팸 메일의 n 개 중에 "A"라는 문구가 들어간 개수 m을 찾아서 구하는 방식이었다면 가우시안은 정규 분포(Normal Distribution)을 이용해서 확률 값을 구하는 것입니다. 

     

    가우시안 분포 수식
    출처 : wiki

     

    아래 스팸 메일 구분하는 예제를 보시면 쉽게 이해가 되실 겁니다. 

     

     

     

     

     

     

    Gaussian Naive Bayes : 스팸 메일 실습

     

     

     

    위 그림과 같이 스팸메일이 4개가 있고 정상 메일이 6개가 있습니다. 이 Training Data로 학습을 할 것입니다. 

     

     

    • p(정상메일) = 6/10
    • p(스팸메일) = 4/10

     

     

     

    정상 메일과 스팸 메일에서 "안녕"이란 글과 "광고"라는 글의 개수를 평균과 분산을 구해서 가우시안 분포를 구했더니 아래와 같이 나왔습니다.

     

     

     

     

    위 분산에서 녹색은 정상메일에서 나온 분산이고 빨간색은 스팸 메일에서의 분산입니다. 

     

     

     

    Gaussian Naive Bayes : 스팸 메일 구분하기!!

     

    자!! 이제 Training Data로 위와 같은 값들을 얻었으니 스팸 메일을 구별 해보겠습니다.

     

    메일이 들어 왔는데 "안녕"이 3 번 들어 있고 "광고"가 1 번 들어 있는 메일입니다. 

     

     

    p(정상메일) x p(안녕 = 3 | 정상메일) x p(광고 = 1 | 정상메일) = 0.6 x 0.02 x 0.0001 = 0.0000012 ∝ p(정상메일|안녕=3 광고=1)

    p(스팸메일) x p(안녕 = 3 | 스팸메일) x p(광고 = 1 | 스팸메일) = 0.4 x 0.008 x 0.03 = 0.000096 ∝ p(스팸메일|안녕=3 광고=1)

     

     

    위 확률 값을 통해 해당 메일은 스팸 메일일 확률이 높습니다. 

     

     

     

    반응형