第11讲 掌握多条信息时的推理② 以垃圾邮件过滤器为例(1 / 1)

11-1 垃圾邮件过滤器以贝叶斯推理为基础

在进行统计推算与贝叶斯推理等概率推算时,通常需要两条以上的信息。并且,信息数量越多,推算出的结果可信度越高。后面的三讲,会讲解如何利用多条信息来进行推算的问题,而其中的要点则是上一讲中提到的“概率的乘法公式”。在这一讲,会讲解如何利用两条信息来计算出后验概率。

本讲主要探讨垃圾邮件过滤器的问题。

所谓的垃圾邮件,指的就是一些不良商家通过网络随意发送的广告邮件。而垃圾邮件过滤器的功能之一就是自动判别垃圾邮件,并把它归入“垃圾邮件”的分类中。

事实上,贝叶斯推理的实际应用中,最广为人知的正是这种垃圾邮件过滤器。而目前,垃圾邮件过滤器已经被引进更为广泛的网络邮件服务当中。读者们在使用该服务之后,都会为它在分类判断方面的准确性而惊叹不已,而这一切都要归功于贝叶斯推理。

11-2 在过滤器上设置“先验概率”

和前面的操作步骤相同,第一步是设定事前类别,并在获得一条信息之后,计算出后验概率。

在这里我们要做的,并不是“自己去判断收到的邮件是否为垃圾邮件”,而是为大家讲解“电脑会对所收到的邮件做出机械判断”的原理。

首先,电脑在对收到的邮件进行扫描之前,会为每个类别分配“这封邮件是垃圾邮件还是正常邮件”先验概率。在这里,利用“理由不充分原理”(见3-2),使双方各占0.5的概率。

这就意味着,对于接收到的邮件,过滤器会做出“垃圾邮件的概率是0.5,正常邮件的概率也是0.5”的判断。而此时如果有可信度更高的概率,也可以将其设定为先验概率,如图表11-1所示。

图表11-1 理由不充分原理的先验概率

11-3 扫描字句与条件概率的设定

接下来要做的是,设定一些在垃圾邮件里常见的字句及特征。但需要注意的是,“贴有其他网页的URL链接”这一特征,是电脑判断一封邮件疑似为垃圾邮件的关键点。实际上,大多垃圾邮件的目的确实是引诱读者访问其他网址,因而附带有URL的链接。因此,如果符合以下稳固关系,即:

垃圾邮件→URL上有链接

正常邮件→URL上无链接

那么就可以排除掉所有的垃圾邮件。当然,按照5-3推论中的解说,也可以通过逆向思维做出如下判断:

URL上有链接→垃圾邮件

URL上无链接→正常邮件

然而遗憾的是,多多少少会有那么几封垃圾邮件中并没有其他链接,而来自朋友和公司的邮件中却附带链接,这就难办了。在这种情况下,就必须使用5-3中提到的概率推论相关的“可能性”判断方法,即:

URL上有链接→可能是垃圾邮件

URL上无链接→可能是正常邮件

对于这种“可能性”进行数值评价,需要运用到贝叶斯推理。

因此,就很有必要设定:垃圾邮件中附带URL的比例,以及正常邮件中附带URL的比例各占多少。为了方便计算,以下采用虚构的数据来进行简单运算,如图表11-2、11-3所示。

图表11-2 附带链接的条件概率

图表11-3 4种互不相同的可能性

虽然之前已经进行过说明,但为了保险起见,下面,再一次对图表11-3进行讲解。

现在,过滤器要对刚刚收到的一封邮件进行检查。此时的过滤器将会面临四种情况。首先,把收到邮件的可能性分为垃圾邮件和正常邮件两类。然后,根据有无链接,再各自分为两类。所以,一共存在四种可能性。接下来,再进一步判定究竟哪一种可能性是符合实际的。

11-4 根据扫描结果,计算垃圾邮件的贝叶斯逆概率

过滤器扫描完邮件后得到的结论是“附带链接”。此时,就不必再考虑“无链接”的两种可能性,只需要考虑剩余的两种可能性,如图表11-4所示。

图表11-4 可能性被限定为两种

恢复标准化条件(相加之和为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,如图表11-5所示。

图表11-5 扫描前与扫描后

在这种情况下,“正常邮件的后验概率”为0.25,但这一概率并不为0,所以垃圾邮件的可能性增大,然而,并不能就此判定它就是垃圾邮件。例如,尽管在过滤器上设定了“如果垃圾邮件的后验概率超过0.95,就自动把它移到垃圾箱里”,但有可能这封邮件并没有被移动到垃圾箱里,而是被划分到收件箱中。

11-5 获得第2条信息后,可能性随之变为8种

通过上一节中我们了解到,即使在获得了“附带链接”的信息之后,也只能初步判断这封邮件极有可能是垃圾邮件,但不能确定它一定会被移动到垃圾箱中。因此,过滤器会通过添加其他的信息,再次进行判断。现在我们添加一个条件:把“幽会”一词作为关键词来进行检索。“幽会”一词出现的概率和不出现的概率,如图表11-6所示。

图表11-6 附带链接的条件概率

此时,过滤器在扫描邮件时,除了“附带链接”之外,又增加了含有“幽会”一词的条件,通过这两个条件来判别垃圾邮件。

首先,在图表11-2共体现了两种可能性,而在图表11-7中,这两种可能性各自又分为4种可能性,所以共计有8种可能性,这8种可能性各自的概率如图表11-7的下部所示。

图表11-7 附带链接的条件概率

要注意的是,垃圾邮件和正常邮件的概率分列在两个表中。这样做的原因是,被检查邮件是垃圾邮件或是正常邮件的两种情况下,概率是完全不同的。并且,在上述两种情况下,被扫描的特征(附带链接或不带链接、含有“幽会”或不含“幽会”)出现的概率也是完全不同的。因此,必须分开计算各自的概率。

上述两种情况下,共有8种可能性,每一种的概率分别列出,如图表11-8所示。

图表11-8 8种互不相同的可能性

图表11-8的左列(垃圾邮件列)对应图表11-7正中的概率表,右列(正常邮件列)对应图表11-7最下面的概率表。

在这里,请大家进一步确认一个问题:类别的概率0.5也要乘进去。原因在于,它是异于独立性而存在的。而这一点是条件概率的特征,具体的相关内容会在第15讲中进行讲解,此处暂且不多作讨论。

11-6 从2个信息可以消去不可能的情况

在设定上述概率的前提下,过滤器对邮件进行扫描,通过检查是否附带“链接”、是否含有“幽会”一词这两个条件,来计算该邮件为垃圾邮件的概率。图表11-8中共有8种可能性,而只有最上面的2种有可能是垃圾邮件的。于是,留下最上面的2个,排除掉下面的6个,结果如图表11-9所示。

图表11-9 扫描之后只剩下两种可能性

总之,过滤器所检查的邮件分为两种情况,一种是垃圾邮件(附带链接且含有“幽会”),一种是正常邮件(附带链接且含有“幽会”)。两者的比例关系,也就是图中的概率之比。因此,接下来通过标准化条件,可以计算出附带链接且含有“幽会”一词时的后验概率。

(垃圾邮件的后验概率):(正常邮件的后验概率)

=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,就自动把它移到垃圾箱。那么,在这种情况下,这封邮件就会被移动到垃圾箱,而不会出现在收件箱中。

在获得以上两条信息的前提下,通过贝叶斯推理的过程,如图表11-10所示。

图表11-10 扫描之前与扫描两次之后

如图所示,使用2条信息推算出的结论,比起仅仅使用1条信息来推算,检索出垃圾邮件的概率会更高。

第11讲·小结

1.使用2条信息进行贝叶斯推理的方法与之前基本一致。

2.进行先验概率的类别设定,使用了2种情况下的2条信息,共有8种可能性。

3.利用乘法公式,可以计算出8种可能性各自的概率。

4.使用2条信息推算出的结论,比起仅仅使用1条信息来推算,检索出垃圾邮件的概率会更高。

练习题

答案参见此处

假设,有两种方法(检查方法1和检查方法2)能够检查出是否患有癌症。这两种检查方法的原理完全不同。因此,当癌症患者通过其中一种方法检查出了阳性时,采用另一种方法反而很难检测出阳性。所以,要分开进行试验。对于健康人来说,检查时也是一样的。下面我们来思考以下设定。

※类别的先验概率:患癌的概率为0.001,健康的概率为0.999

▼检查方法1的条件概率

▼检查方法2的条件概率

基于以上设定,在下面的括号中填入适当的数字。

(1)只通过检查方法1 检查出阳性的情况

(患癌症且通过检查方法1 检查出阳性)的概率

=()×()=()…(a)

(健康且通过检查方法1 检查出阳性)的概率

=()×()=()…(b)

以上(a)和(b)的比值满足标准化条件

当通过检查方法1检查出阳性时,

患癌症的后验概率=()

(2)同时采用检查方法1、2,并且两次检查结果都是阳性的情况想

(患癌症且通过检查方法1、2均检查出阳性)的概率

=()×()×()=()…(c)

(健康患癌症且通过检查方法1、2均检查出阳性)的概率

=()×()×()=()…(d)

上面的(c)和(d)的比值满足标准化条件

当通过检查方法1 、2均检查出阳性时,

患癌症的后验概率=()