美文网首页
StanFord 机器学习公开课笔记(5):朴素贝叶斯算法进阶、

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

作者: v1gor | 来源:发表于2019-11-02 14:07 被阅读0次

本讲视频及讲义链接

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

\begin{align} P(x|y) &= \Pi^{50000}_{i=1}P(x_i|y)\\ &= \Pi^{50000}_{i=1}\phi_{i|y}^{x_i}(1-\phi_{i|y})^{(1-x_i)} \end{align}

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

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

多项式事件模型

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

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

特征表示

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

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

参数

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

P(x,y)=(\Pi^n_{i=1}P(x_i|y))P(y)

  • n 的含义是这封邮件的长度
  • P(y) 指的是一封邮件是否是垃圾邮件的先验概率。
  • P(x_i|y) 表示在已知这封邮件的类别的情况下,邮件的第 i 个单词的值为 k_i(k_i \in [1,50000]) 的概率。

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

\phi_{k|y=1} = P(x_j=k|y=1)

\phi_{k|y=0} = P(x_j = k|y=0)

\phi_y = P(y = 1)

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

\phi_{k|y=1} = \frac{\Sigma_{i=1}^m(I\{y^{(i)} = 1\}\Sigma^{n_i}_{j=1}I\{x^{(i)}_j = k\})}{\Sigma^m_{i=1}I\{y^{(i)} = 1\}n_i}

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

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

\phi_{k|y=1} = \frac{1+\Sigma_{i=1}^m(I\{y^{(i)} = 1\}\Sigma^{n_i}_{j=1}I\{x^{(i)}_j = k\})}{|V|+\Sigma^m_{i=1}I\{y^{(i)} = 1\}n_i}

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

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

\phi_{k|y=0} = \frac{1+\Sigma_{i=1}^m(I\{y^{(i)} = 0\}\Sigma^{n_i}_{j=1}I\{x^{(i)}_j = k\})}{|V|+\Sigma^m_{i=1}I\{y^{(i)} = 0\}n_i}

\phi_y = \frac{1+\Sigma_{i=1}^mI\{y^{(i)} = 1\}}{|V|+ m}

预测

有了这些参数,在给出一个新的邮件时,要对它进行分类,只需要分别计算 P(x|y=0) = \Pi^n_{i=1}P(x_i|y = 0)P(x|y=1) = \Pi^n_{i=1}P(x_i|y=1) ,再比较它们的大小即可。

相关文章

网友评论

      本文标题:StanFord 机器学习公开课笔记(5):朴素贝叶斯算法进阶、

      本文链接:https://www.haomeiwen.com/subject/doncbctx.html