朴素贝叶斯算法

2020-02-27  本文已影响0人  LCG22

参考文章:

https://www.cnblogs.com/lliuye/p/9178090.html

4. 朴素贝叶斯算法过程

参数估计为极大似然估计为例:

样本集为:

D  = \lbrace (x_1^{(1)}, x_2^{(1)},...,x_n^{(1)},y_1),(x_1^{(2)}, x_2^{(2)},...,x_n^{(2)},y_2),...,(x_1^{(m)}, x_2^{(m)},...,x_n^{(m)},y_m) \rbrace

其中 yi,i=1,2,..,myi,i=1,2,..,m 表示样本类别,取值为 \lbrace C_1, C_2,...,C_K \rbrace

(1)计算先验概率:求出样本类别的个数 K 。对于每一个样本 Y = C_k ,计算出 P(Y=C_k)。其为类别 C_k 在总样本集中的频率。

(2)计算条件概率:将样本集划分成 K 个子样本集,分别对属于 C_k 的子样本集进行计算,计算出其中特征 X_j = a_{jl} 的概率:P(X=a_{jl}|Y=C_k)。其为该子集中特征取值为 a_{jl} 的样本数与该子集样本数的比值。

(3)针对待预测样本 x^{test} ,计算其对于每个类别 C_k后验概率P(Y=C_k|X=x^{test}) = P(Y=C_k) \prod\nolimits_{j=1}^n P(X=x^{test}_{j}|Y=C_k) 。概率值最大的类别即为待预测样本的预测类别

5. 朴素贝叶斯算法分析

优点

    (1)朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。

    (2)对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。

    (3)对缺失数据不太敏感,算法也比较简单,常用于文本分类。

  缺点

    (1)理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型给定输出类别的情况下,假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不好。而在属性相关性较小时,朴素贝叶斯性能最为良好。对于这一点,有半朴素贝叶斯之类的算法通过考虑部分关联性适度改进。

    (2)需要知道先验概率,且先验概率很多时候取决于假设,假设的模型可以有很多种,因此在某些时候会由于假设的先验模型的原因导致预测效果不佳。

    (3)由于我们是通过先验和数据来决定后验的概率从而决定分类,所以分类决策存在一定的错误率。

    (4)对输入数据的表达形式很敏感。

上一篇下一篇

猜你喜欢

热点阅读