zoukankan      html  css  js  c++  java
  • 朴素贝叶斯算法(Naive Bayes)

    1. 前言

    说到朴素贝叶斯算法,首先牵扯到的一个概念是判别式和生成式

    • 判别式:就是直接学习出特征输出(Y)和特征(X)之间的关系,如决策函数(Y=f(X)),或者从概率论的角度,求出条件分布(P(Y|X))。代表算法有决策树、KNN、逻辑回归、支持向量机、随机条件场CRF等
    • 生成式:就是直接找出特征输出Y和特征X的联合分布(P(X,Y)),然后用(P(Y|X)=frac{P(X,Y)}{P(X)})得出。代表算法有朴素贝叶斯、隐式马尔可夫链等。

    2. 朴素贝叶斯原理

    朴素贝叶斯算法基于贝叶斯定理和特征条件独立假设

    • 贝叶斯定理
    • 特征条件独立:特征条件独立假设(X)(n)个特征在类确定的条件下都是条件独立的。大大简化了计算过程,但是因为这个假设太过严格,所以会相应牺牲一定的准确率。这也是为什么称呼为朴素的原因

    3. 朴素贝叶斯算法

    输入:训练集为(m)个样本(n)个维度(T={(x_1,y_1),(x_2,y_2),...,(x_m,y_m)}),共有K个特征输出类别,分别为(yin{{c_1,c_2,...,c_K}}).

    输出:为实例(x_{(test)})的分类。

    算法流程如下:

    1. 首先计算计算(Y)(K)先验概率

    [P(Y=c_k) ]

    1. 然后计算条件概率分布:

    [P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)},...,X^{(n)}=x^{(n)}|Y=c_k) ]

    由于上式的参数是指数级别,无法计算。所以根据特征条件独立假设,可以化简为下式。

    [P(X=x|Y=c_k)=prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k) ]

    1. 根据贝叶斯原理,计算后验概率

    [P(Y=c_k|X=x)=frac{P(X=x|Y=c_k)P(Y=c_k)}{sum_kP(X=x|Y=c_k)P(Y=c_k)} ]

    带入(P(X=x|Y=c_k)=prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k))
    得到

    [P(Y=c_k|X=x)=frac{prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)P(Y=c_k)}{sum_kprod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)P(Y=c_k)} ]

    由于分母相同,上式再变为如下:

    [P(Y=c_k|X=x)=prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k)P(Y=c_k) ]

    1. 计算(X_{(test)})的类别

    [y_{(test)}=arg max_{c_k}prod_{j=1}^nP(X^{(j)}=x_{(test)}^{(j)}|Y=c_k)P(Y=c_k) ]

    从上面的计算可以看出,没有复杂的求导和矩阵运算,因此效率很高。

    4. 朴素贝叶斯算法小结

    朴素贝叶斯算法的主要原理基本已经做了总结,这里对朴素贝叶斯的优缺点做一个总结。

    4.1 朴素贝叶斯的主要优点

    1. 朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率
    2. 对小规模的数据表现很好,能个处理多分类任务,适合增量式训练,尤其是数据量超出内存时,我们可以一批批的去增量训练。
    3. 对缺失数据不太敏感,算法也比较简单,常用于文本分类。

    4.2 朴素贝叶斯的主要缺点

    1. 朴素贝叶斯模型的特征条件独立假设在实际应用中往往是不成立的
    2. 如果样本数据分布不能很好的代表样本空间分布,那先验概率容易测不准。
    3. 对输入数据的表达形式很敏感。
  • 相关阅读:
    分类问题的评价指标
    29 畅游 x86 分页机制(中)
    高手进阶,终极内存技术指南——完整/进阶版
    从ST官网获取STM32 AD封装库(包含原理图库和PCB库)详细教程
    标准SPI、DUAL SPI、Quad SPI;NorFlash、NandFlash、eMMC闪存的比较与区别
    ARM 之七 主流编译器(armcc、iar、gcc for arm)详细介绍
    STM32中ARM系列编译工具链的编译宏选择(__CC_ARM、__ICCARM__、__GNUC__、__TASKING__)
    每日总结
    每日总结
    每日总结
  • 原文地址:https://www.cnblogs.com/huangyc/p/9734956.html
Copyright © 2011-2022 走看看