机器学习实战读书笔记-朴素贝叶斯

2019-10-14  本文已影响0人  ZackJiang

机器学习实战读书笔记-朴素贝叶斯

核心思想:要求分类器给出一个最优类别的猜测结果,同时给出这个猜测概率的估计值

我们称之为朴素,是因为整个形式化过程只做最原始,最简单的假设

概率基础

p(c_i|x,y) = \frac{p(x,y|c_i)p(c_i)}{p(x,y)}

其中p(c_i|x,y)的意义为:给定某个由x,y标注的数据点,那么该数据点来自类别c_i的概率为多少

如果p(c_1|x,y) > p(c_2|x,y),那么属于类别1,反之亦然。

独立:如果每个特征需要N个样本,如果假设有10个特征,那么则需要N^{10}个样本,如果特征之间相互独立,则需要的样本数就可以从N^{10}减少到10N个,所谓独立,指的是统计意义上的独立,即一个特征或者单词出现的可能性与它和其他单词相邻没有关系。虽然我们知道这个假设并不正确,这也就是朴素的含义。

朴素贝叶斯假设

虽然这两个假设通常不成立,但是咱朴素贝叶斯就这么假设了。

使用python进行文本分类

训练算法

p(c_i|\textbf{w})=\frac{p(\textbf{w}|c_i)p(c_i)}{p(\textbf{w})}

将以上公式中的x, y换为\textbf{w},粗体表示这是一个向量,此外由于朴素贝叶斯的独立性假设,可以按如下公式计算p(\textbf{w}|c_i),以此来简化计算过程。
p(\textbf{w}|c_i) = p(w_0,w_1,...,w_n|c_i) =\prod_{j}p(w_j|c_i)

计算每个类别中的文档数目
对于每篇训练文档:
    对于每个类别:
        如果词条出现在文档中,增加该词条的计数
        增加所有词条的计数
    对每个类别:
        对每个词条:
            将该词条的数目初一总词条数得到条件概率
    返回每个类别的条件概率

实战

总结

上一篇 下一篇

猜你喜欢

热点阅读