StanFord 机器学习公开课笔记(5):朴素贝叶斯算法进阶、神经网络、SVM

本讲视频及讲义链接

上一讲介绍了朴素贝叶斯算法区分垃圾邮件和非垃圾邮件的过程,在建模过程中,我们选取的特征 的每一维都只有 的取值,因此在对 建立生成模型时,我们使用了用伯努利分布:

实际上这样的朴素贝叶斯分类器使用了多元伯努利事件模型(Multivariate Bernoulli Event Model)
不用太在意这个模型的名字,它只是说明这个模型用到了多个服从伯努利分布的随机变量。

更一般的情况,特征向量 每一维可能有 个取值,这时,对 的建模就需要使用多项式分布,而不是伯努利分布。

多项式事件模型

这是一个专门用于文本分类的模型,它对文本的分类效果比之前介绍的朴素贝叶斯分类器还要好。当然你也可以尝试将它应用于其他问题。可以根据下面的内容来理解这个模型。

之前选取特征向量 的方式丢失了一些信息,比如它没有记录每个词出现的次数等,于是我们需要采用一个新的模型来解决这个问题。

特征表示

多项式事件模型采用不同的特征表示方法:

一封邮件的特征向量 的维数 表示这封邮件包含的单词的个数,其中的第 维表示这封邮件的第 个词在词典中的索引值。 也就是说,如果一封邮件包含300个单词,那么 ,我们继续假设词典中包含50000个单词,那么这封邮件的特征向量中的每一维的取值范围就是 。

参数

有了上述的特征向量的定义之后,对于每一封邮件,可以计算对应的联合概率:

  • 的含义是这封邮件的长度
  • 指的是一封邮件是否是垃圾邮件的先验概率。
  • 表示在已知这封邮件的类别的情况下,邮件的第 个单词的值为 的概率。

这个模型所需的参数如下:

和之前的朴素贝叶斯分布一样,我们要将这些参数拟合为训练样本的极大似然估计:

  • 分子表示的是训练样本中每一封垃圾邮件中出现在词典中索引为 的单词的次数之和。
  • 分母表示训练样本中所有垃圾邮件的总长度
  • 整个式子的意思就是:在训练样本中的所有垃圾邮件包含的单词中,在词典中索引为 的那个单词出现的概率。

对这个参数应用上一讲末尾讲到的Laplace平滑,得到如下参数:

其中 是词典的大小,在我们的假设中是50000。

另外两个参数可以按如下式子拟合:

预测

有了这些参数,在给出一个新的邮件时,要对它进行分类,只需要分别计算 和 ,再比较它们的大小即可。

你可能感兴趣的:(StanFord 机器学习公开课笔记(5):朴素贝叶斯算法进阶、神经网络、SVM)