贝叶斯之垃圾邮件分类

贝叶斯垃圾邮件过滤:

问题:给定一封邮件,判定它是否属于垃圾邮件

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这个单词在垃圾邮件冲出现的频率即可

 

你可能感兴趣的:(【人工智能AI】)