動機概述
最近在學習貝葉斯和樸素貝葉斯,兩者是有一定區別的,網上有很多介紹的文章可以自行搜索。可是我不認爲自己已經完全理解,因此暫時還不敢進行相關的總結。
本文的動機是希望通過一個具體的案例,帶有準確的數字的案例,按照自己所理解的貝葉斯和樸素貝葉斯的方法進行分析,希望有分析錯誤的地方能夠得到大家的糾正
數據介紹
首先,這是我模擬生成的兩組數據,正常郵件100封,垃圾郵件100封,我們假設影響一封郵件的分類的兩個特徵是有無詞彙A和B。
在100封正常郵件中,有詞彙A的有30封,有詞彙B的有40封,同時有詞彙A和B的有14封;
在100封垃圾郵件中,有詞彙A的有60封,有詞彙B的有70封,同時有詞彙A和B的有40封。
問題
請問
- 當一封郵件中同時存在詞彙A和B的時候,它是垃圾郵件的概率是多少?
- 只有詞彙A,沒有詞彙B呢?
- 只有詞彙B,沒有詞彙A呢?
- 既沒有詞彙A,也沒有詞彙B呢?
至於詞彙A和詞彙B之間是否獨立,我這邊就不假設了,請分別用貝葉斯算法和樸素貝葉斯算法進行求解。
求解
樸素貝葉斯
參考:JensLee的博客
其中:
P(A|R) = 60%
P(B|R) = 70%
P® = 50%
P(A) = 45%
P(B) = 55%
因此
因此,當一封郵件中同時有詞彙A,B的時候,該郵件是垃圾郵件的概率是84.85%
貝葉斯
參考:阮一峯的博客
其中
根據公式計算得到
因此,當一封郵件中同時有詞彙A,B的時候,該郵件是垃圾郵件的概率是77.78%
綜上
採用貝葉斯和樸素貝葉斯方法得出的結論是不同的。感覺還是沒有理解貝葉斯的精髓,因此面對這種不同的時候感覺很迷茫。希望有牛人答疑解惑。