原文:http://cs229.stanford.edu/notes/cs229-notes2.pdf
为了结束我们对生成性学习算法的讨论,让我们再来谈谈一个专门用于文本分类的模型。虽然我们已经介绍了朴素贝叶斯,但它在许多分类问题例如文本分类上都会很好地工作,会有一个相关的模型做得更好。
在文本分类的具体背景下,提出的朴素贝叶斯采用所谓的多元伯努利事件模型。在这个模型中,我们假设产生电子邮件的方式是首先随机确定(根据类优先级p(y))无论是垃圾邮件发送者还是非垃圾邮件发送者都会给你发送下一条信息。然后,发送电子邮件的人在字典中运行,并根据概率决定是否将每个单词i独立地包含在该电子邮件中。因此,消息的概率由给出。
这里有一个不同的模型,叫做多项事件模型。为了描述这个模型,我们将使用不同的符号和一组特性来表示电子邮件。我们让表示电子邮件中第i个单词的特征。因此,现在是一个整型,取{1,....,|V|}中的值,其中,|V|是我们词汇表(字典)的大小。电子邮件的n个字现在表示为长度为n的向量(x1,x2,…,xn);注意,n对于不同的文档可能会有所不同。例如,如果电子邮件以“A nips.”开头,那么x1=1(“a”是字典中的第一个单词),x2=35000(如果“nips”是字典中的第35000个单词)。
在多项式事件模型中,我们假设生成电子邮件的方式是通过随机过程,其中首先确定垃圾邮件/非垃圾邮件(根据p(y))。然后,电子邮件的发件人首先通过在单词上的一些多项式分布(p(x1|y)生成x1来编写电子邮件。接下来,第二个单词x2是独立于x1选择的,但不受相同的多项式分布的影响,对于x3、x4等也是如此,直到电子邮件的所有n个单词都生成为止。因此,消息的总体概率由给出。请注意,这个公式看起来像我们之前在多元bernoulli事件模型下得到消息概率的公式。但公式中的术语现在意味着非常不同的东西。特别是,现在,是一个多项式,而不是Bernoulli分布。
我们新模型的参数是,,。请注意,我们已经假定对于j的所有值都是相同的(也就是说,生成单词的分发并不取决于其在电子邮件中的位置j)
如果我们得到一套训练集其中,那么数据的极大似然为
最大限度地提高这一估计值可得到参数的最大似然估计数:
如果我们要应用拉普拉斯光顺当估计和时,我们将1加到分子中,并在分母中加1,并得到如下结果:
虽然不一定是最好的分类算法,但朴素贝叶斯分类器的效果往往令人惊讶。考虑到它的简单性和实现的易用性,它也常常是一个非常好的“第一件尝试”。