概述
贝叶斯垃圾邮件过滤:
问题:给定一封邮件,判定它是否属于垃圾邮件
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+|D)和P(h-|D)分别表示这份邮件是垃圾邮件和正常邮件的概率;这些D单词分别在垃圾邮件和正常邮件中出现的概率P(D|h-)和P(D|h+);P(h+)和P(h-)表示先验概率(1000份样本邮件中垃圾邮件和正常邮件的比例),P(D)不用计算
先验概率:P(h+)和P(h-)这俩个先验概率都是很容易求出来的,只需要计算一个邮件库里面垃圾邮件和正常邮件比例就可以了
D里面含有N个单词d1,d2,d3,P(D|h+)=P(d1,d2,d3….|h+)
P(d1,d2,d3….,dn|h+)就是说在垃圾邮件当中出现跟我们目前这封邮件一模一样的一封邮件的概率是很大!
P(d1,d2,d3….,dn|h+)可以扩展为:P(d1|h+)*P(d2|d1,h+)*P(d3|d2,d1,h+)….
注释:邮件出现在垃圾邮件概率,也就是邮件的单词分别出现在垃圾邮件里面的概率,P(d3|d2,d1,h+)这个表示d1和d2出现在垃圾邮件的概率下,d3出现的概率。
注释:需要把贝叶斯问题转换成一个朴素贝叶斯问题
P(d1|h+)*P(d2|d1,h+)*P(d3|d2,d1,h+)….
假设di与di-1是完全条件无关的(朴素贝叶斯假设特征之间是独立,互不影响)
简化为P(d1|h+)*P(d2|h+)*P(d3|h+)*….
注释:因为每个事件都是独立的,P(d3|d2,d1,h+)d3的出不出现和d2和d1的出现没有关系,所有P(d3|d2,d1,h+)===P(d3|h+)
对于P(d1|h+)*P(d2|h+)*P(d3|h+)*….只要统计di这个单词在垃圾邮件冲出现的频率即可
最后
以上就是霸气睫毛膏为你收集整理的贝叶斯之垃圾邮件分类的全部内容,希望文章能够帮你解决贝叶斯之垃圾邮件分类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复