在上一讲中,我们了解到了朴素贝叶斯以及laplace平滑。这一小节中,我们将要改进朴素贝叶斯算法。原有的朴素贝叶斯中的特征值 xi 是只取0和1两个值,现在要对朴素贝叶斯进行一般化,以适应于特征值取值范围为 { 1,2,...,k} 这种情况。
一般化过程中,对 p(xi|y) 的建模不再是简单的伯努力而是多项式分布。事实上,即使原始的输入特征是连续的值,也可以将它离散化,将它们分为几组离散值,然后再使用朴素贝叶斯算法。
就以最开始的预测房屋价格这个问题举例,如果输入特征 xi 代表房屋面积,那么就可以将连续的值离散化为如下样式:
![](https://i-blog.csdnimg.cn/blog_migrate/87dcb928325cc8977fad732fe7921018.webp?x-image-process=image/format,png)
因此,如果房屋面积为890平方英尺,我们可以将对应的特征值 xi 设为3。之后就可以使用朴素贝叶斯算法。当连续的特征值并没有用多元正态分布进行良好的建模时,就可以通过对特征离散化然后使用朴素贝叶斯算法,这种方法也可以得到好的分类器结果。
针对文本分类的事件模型
上一节讲述了生成学习算法,下面将结束对这一算法的讨论并且介绍一种针对文本分类的模型。前面讲到的朴素贝叶斯算法在很多分类的问题上有良好的表现,那么对于文本分类问题,有一个与其相关的模型的表现效果会更好。
在文本分类的特定语境下,朴素贝叶斯被称作多变量伯努力事件模型(换个称呼而已)。在这一模型中,我们假设电子邮件的生成方式:无论是垃圾邮件发送者还是非垃圾邮件发送者向你发送下一封邮件,这封邮件都是随机决定的(根据类先验概率 p(y) )。其次,邮件的发送者决定邮件中是否包含某个单词 i ,且每个单词出现在邮件中的概率是独立的。根据概率
此处我们提出一个不同的模型,被称作多项式事件模型。为了描述这一模型,我们会用不同的符号来代表邮件的一些特征。 xi 代表邮件中的第 i 个单词。因此,
在多项式事件模型中,我们假设一封邮件的生成方式是通过一个随机的过程,垃圾邮件还是非垃圾邮件一开始是随机确定好了的(取决于 p(y) )。然后,邮件中的第一个单词 x1 从多项式分布中选取生成,第二个单词 x2 与第一个单词相互独立,但都从多项式分布中选取,接下来的 x3 , x4 的选取也是如此,直到所有的 n 个单词都生成成功。因此,一封邮件整体的概率为