简介
贝叶斯分类的运作是借着使用标记(一般是字词,有时候是其他)与垃圾邮件、非垃圾邮件的关连,然后搭配贝叶斯推断来计算一封邮件为垃圾邮件的可能性。
贝叶斯垃圾邮件过滤是非常有威力的技术,可以修改自己以符合个别使用者的需要,并且给予较低的垃圾邮件侦测率,让使用者可接受。
发展历史
第一个已知使用贝叶斯分类的邮件过滤是Jason Rennie的iFile,在1996年释出。这个程式可以排序邮件并放到目录。第一个关于贝叶斯垃圾邮件过滤的学术出版是由Sahamietal.在1998年所写。之后很快就被应用到商用的垃圾邮件过滤器上。然而,在2002年,Paul Graham大大地加强了假阳性的机率,所以它可以作为一个简单的垃圾过滤器来使用。
根植于此技术的变种技术相继在许多的研究工作与商业产品上被实作出来。许多流行的邮件客户端都实作了贝叶斯垃圾邮件过滤。使用者也可以安装其他的邮件过滤程式。服务器端的邮件过滤器,像DSPAM、spamassassin、SpamBayes、Bogofilter与ASSP也都利用了贝叶斯邮件过滤技术,有时候这个功能直接内建在邮件服务器软件上。
朴素贝叶斯应用——垃圾邮件过滤_朴素贝叶斯分类器垃圾邮件过滤-CSDN博客
贝叶斯|垃圾邮件过滤器问题 - 知乎
https://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_two.html
https://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html
一般应用程式
贝叶斯过滤被广泛地使用来鉴别垃圾邮件,但这项技术其实可以用来分类(或丛集)几乎任何种类的资料。它被使用在科学、医学与工程方面。例如普遍用来分类的程式:AutoClass,它可以根据可能非常微小到难以察觉的光谱特征来分类星星。最近甚至有人推测大脑可能也使用贝叶斯方法来为知觉刺激做分类并决定行为回应。
1、设置“先验概率”
首先,电脑在对收到的邮件进行扫描之前,会为每个类别分配“这封邮件是垃圾邮件还是正常邮件”先验概率。设定双方各占0.5的概率作为先验概率。
2、扫描字句与条件概率设定
设定一些在垃圾邮件里常见的字句及特征。但需要注意的是,“贴有其他网页的URL链接”这一特征,是电脑判断一封邮件疑似为垃圾邮件的关键点。实际上,大多垃圾邮件的目的确实是引诱读者访问其他网址,因而附带有URL的链接。因此,如果符合以下稳固关系,即:
垃圾邮件→URL上有链接
正常邮件→URL上无链接
然而遗憾的是,多多少少会有那么几封垃圾邮件中并没有其他链接,而来自朋友和公司的邮件中却附带链接,这就难办了。在这种情况下,就必须使用概率推论相关的“可能性”判断方法,即:
URL上有链接→可能是垃圾邮件
URL上无链接→可能是正常邮件
对于这种“可能性”进行数值评价,需要运用到贝叶斯推理。
因此,就很有必要设定:垃圾邮件中附带URL的比例,以及正常邮件中附带URL的比例各占多少。为了方便计算,以下采用虚构的数据来进行简单运算。
附带链接的条件概率
3、根据扫描结果,计算垃圾邮件的后验概率
过滤器扫描完邮件后得到的结论是“附带链接”。此时,就不必再考虑“无链接”的两种可能性,只需要考虑剩余的两种可能性。
可能性被限定为两种
恢复标准化条件(相加之和为1)之后,通过这张图可以计算出后验概率为:
在有链接的情况下,
(垃圾邮件的后验概率):(正常邮件的后验概率)
=0.5×0.6:0.5×0.2
=0.6:0.2
=3:1
=3/4:1/4
所以,过滤器判断出
(附带链接的垃圾邮件的后验概率)=3/4=0.75
在扫描之前,垃圾邮件的概率被设定为0.5;而通过扫描发现链接之后,垃圾邮件的概率上升到了0.75。
扫描前与扫描后
虽然垃圾邮件的可能性增大,然而,并不能就此判定它就是垃圾邮件。
例如,尽管在过滤器上设定了“如果垃圾邮件的后验概率超过0.95,就自动把它移到垃圾箱里”,但有可能这封邮件并没有被移动到垃圾箱里,而是被划分到收件箱中。
4、获得第2条信息后,可能性随之变为8种
即使在获得了“附带链接”的信息之后,也只能初步判断这封邮件极有可能是垃圾邮件,但不能确定它一定会被移动到垃圾箱中。
因此,过滤器会通过添加其他的信息,再次进行判断。现在我们添加一个条件:把“幽会”一词作为关键词来进行检索。“幽会”一词出现的概率和不出现的概率如下:
此时,过滤器在扫描邮件时,除了“附带链接”之外,又增加了含有“幽会”一词的条件,通过这两个条件来判别垃圾邮件。
之前的两种可能性(是否附带链接)各自又分为4种可能性,所以共计有8种可能性,这8种可能性各自的概率如图:
上述两种情况下,共有8种可能性,每一种的概率分别列出,如下图:
在这里,类别的概率0.5也要乘进去。原因在于,它是异于独立性而存在的。而这一点是条件概率的特征。
5、从2个信息可以消去不可能的情况
在设定上述概率的前提下,过滤器对邮件进行扫描,通过检查是否附带“链接”、是否含有“幽会”一词这两个条件,来计算该邮件为垃圾邮件的概率。
以上8种可能性中,只有最上面的2种有可能是垃圾邮件的。于是,留下最上面的2个,排除掉下面的6个。
扫描之后只剩下两种可能性
总之,过滤器所检查的邮件分为两种情况,一种是垃圾邮件(附带链接且含有“幽会”),一种是正常邮件(附带链接且含有“幽会”)。两者的比例关系,也就是图中的概率之比。因此,接下来通过标准化条件,可以计算出附带链接且含有“幽会”一词时的后验概率。
(垃圾邮件的后验概率):(正常邮件的后验概率)
=0.5×0.6×0.4:0.5×0.2×0.05
=0.6×0.4:0.2×0.05
=0.24:0.01
=24:1
=24/25:1/25
通过标准化条件运算,在附带链接且含有“幽会”一词的情况下,(垃圾邮件的后验概率)=24/25=0.96
假若在垃圾邮件过滤器上设定一种情况:如果垃圾邮件的后验概率超过0.95,就自动把它移到垃圾箱。那么,在这种情况下,这封邮件就会被移动到垃圾箱,而不会出现在收件箱中。
6、贝叶斯推理的过程总结
如图所示,使用2条信息推算出的结论,比起仅仅使用1条信息来推算,检索出垃圾邮件的概率会更高。同理,提供的信息越多,检索出的概率越高,推理结果就越精确。
扫描之前与扫描两次之后