Add 贝叶斯邮件过滤

pull/2/head
benjas 5 years ago
parent 8f12a26f6c
commit 92901e3ed7

@ -1554,9 +1554,20 @@ X轴上的特征表示归一化后是对某个特征增强10倍其它不
- 如果平面上有N个点近似构成一条直线但绝不精确地位于一条直线上。这时我们既可以用直线来拟合(模型1),也可以用二阶多项式(模型2)拟合,也可以用三阶多项式(模型3)特别地用N1阶多项式便能够保证肯定能完美通过N个数据点。那么这些可能的模型之中到底哪个是最靠谱的呢?
- 奥卡姆剃刀: 越是高阶的多项式越是不常见
-
问题:给定一封邮件,判定它是否属于垃圾邮件D来表示这封邮件,注意D由N个单词组成。我们用h+来表示垃圾邮件,h-表示正常邮件
- P(h+|D) = P(h+) * P(D|h+) / P(D)
P(h-|D) = P(h-) * P(D|h-) / P(D)
- 先验概率: P(h+)和P(h-)这两个先验概率都是很容易求出来的,只需要计算一个邮件库里面垃圾邮件和正常邮件的比例就行了。
- D里面含有N个单词d1d2d3P(D|h+)=P(d1,d2,...,dn|h+)P(d1,d2,...,dn|h+)就是说在垃圾邮件当中出现跟我们目前这封邮件一模样的一封邮件的概率是多大!
P(d1,d2,,dn|h+)扩展为P(d1|h+) × P(d2|d1,h+) × P(d3|d2,d1,h+) × ...
- P(d1|h+) × P(d2|d1,h+) × P(d3|d2,d1,h+) × ...
假设di与di-1是完全条件无关的(朴素贝叶斯假设特征之间是独立,互不影响)
简化为P(d1h+) × P(d2|h+) × P(d3|h+)对于P(d1|h+) × P(d2|h+) × P(d3|h+) × …只要统计di这个单词在垃圾邮件中出现的频率即可
Loading…
Cancel
Save