朴素贝叶斯笔记


TL;DR

贝叶斯定理:$$P(A|B) = \frac{P(A)\, P(B | A)}{P(B)}$$
用一个实际的文本分类问题举例,贝叶斯定理就是
$$P(类别|文档) = \frac{P(类别)\, P(文档 | 类别)}{P(文档)}$$
如果有A,B,C,D类,对一篇文档,计算\(P(类A|文档), P(类B|文档), P(类C|文档), P(类D|文档)\),找到最大的,就是认为是文档所属的类了.
实际计算时,右式只计算分子部分,因为最后只要比结果大小,能判断分类即可,不需要计算”真实”的概率值.
分子部分第一项,\(P(类别)\),比如\(P(类A)\),用训练集中所有属于A类的文档数除以整个训练集文档数.
第二项,\(P(文档 | 类别)\),比如\(P(文档1 | 类A)\),把文档拆成词的集合,\(文档1 = (词1,词2,…,词n)\),则$$P(文档1 | 类A) = P(词1,词2,…,词n | 类A) $$
朴素就是naive,就是simple(不是我说的…too simple! sometimes naive!),认为词语之间相互独立,并且不考虑顺序,那么
$$P(词1,词2,…,词n | 类A) =\prod_{i=1}^n P(词i| 类A) $$
\(P(词i| 类A)\)直接统计即可,用词i在A类文档中出现的次数除以A类文档中出现每个词出现的次数之和.
用在文本分类上的朴素贝叶斯就这样了.

稍微详细一点的解释

多项分布朴素贝叶斯

$$P(类别A|文档1) \propto P(类别A) \prod_{i=1}^n P(词i| 类别A) $$
解释:

  • 1.(词1,词2,…,词n)是一个集合,没有重复的,也与顺序无关.
  • 2.\(P(词i| 类别)\)的大小表示词i对于类A是真正的类别的证据(evidence)强弱,也就是可能性,这一项常称为似然项(likelihood).
  • 3.\(P(类别)\)称为先验.
  • 4.后验正比于先验乘似然.
    计算\(P(词i| 类别)\),实际上是认为对一个类别,它出现各种词的概率服从多项分布.

高斯分布朴素贝叶斯

对于连续值的输入,比如输入都是3维向量.那么\(P(d1| 类别)\)可以用高斯分布来计算.方法是对所有样本,在第一维上,统计均值和方差,认为第一维的数据都是从这个分布采样得来.
其它几维类似.这样对于4分类,每个样本是3维向量的朴素贝叶斯,训练出的模型是4组参数,每组参数又分成3组,参数是一个高斯分布的均值和方差.

参考

http://nlp.stanford.edu/IR-book/html/htmledition/naive-bayes-text-classification-1.html
http://nlp.stanford.edu/IR-book/html/htmledition/properties-of-naive-bayes-1.html#sec:generativemodel2
https://web.stanford.edu/class/cs124/lec/naivebayes.pdf
https://www.youtube.com/watch?v=EGKeC2S44Rs