美文网首页
朴素贝叶斯算法

朴素贝叶斯算法

作者: Zaker_cook | 来源:发表于2019-12-17 14:04 被阅读0次

    问题

        1. 什么是朴素贝叶斯

        2. 怎么理解贝叶斯公式和朴素贝叶斯公式

        3. 朴素贝叶斯算法流程是怎样

        4. 朴素贝叶斯有哪些优缺点 

        5. 朴素贝叶斯其他模型       


    1. 什么是朴素贝叶斯

            朴素贝叶斯是基于贝叶斯定理与假设特征之间是独立的分类方法


    2. 贝叶斯公式的理解和朴素贝叶斯公式

            贝叶斯公式是用来描述两个条件概率之间的关系

            因为 P(X,Y) = P(X)P(Y|X) = P(Y)P(X|Y)

            则  P(Y|X) = \frac{P(Y)P(X|Y)}{P(X)}

        一些概率基础

                条件概率:在事件Y发生的条件下,事件X发生的概率,表示为 P(X|Y)

                联合概率:事件X和事件Y同时发生的概率,表示为P(X,Y) 

                全概率: 事件Y1,Y2,...,Yn 构成一个完备事件X,表示为P(X)

    全概率

                                                    P(X) = \sum_{i=1}^4 P(Y_{i})P(X|Y_{i})

    贝叶斯公式如下

                            P(Y_{k}|X) = \frac{P(Y_{k})P(X|Y_{k})}{\sum_{i=1}^nP(Y_{i})P(X|Y_{i}) }

    由于分母是一个固定值,所以贝叶斯公式可以缩写成

                            P(Y_k|X) = P(Y_{k})P(X|Y_{k})

     其中 P(Y_{k}) 是先验概率,P(Y_{k}|X)是后验概率,P(X|Y_{k}) 是条件概率(似然函数)

    假设X=(x_{1},x_{2},...,x_{n}),Y=(y_{1},y_{2},...,y_{k})

    为了避免X中的组合没有出现导致的错误,所以朴素贝叶斯假设特征之间相互独立

    那么,朴素贝叶斯的公式可表示为

                            P(Y_{k}|X) \propto  P(Y_{k}) \Pi P(x_{i}|Y_{k})


    3. 朴素贝叶斯算法流程

            a. 假设一个样本x = \{x_{1},x_{2},...,x_{m} \}, 其中x_{i} 是特征属性

            b. 类别C=\{ y_{1},...,y_{n} \}

            d. 根据贝叶斯公式,分别计算P(y_{1}| x), P(y_{2}|x),...,P(y_{m}|x)的值

            e.取 P(y_{k}|x) = max\{ P(y_{1}|x), P(y_{2}|x), ..., P(y_{m}|x)\}x就属于y_{k}类型


    4. 朴素贝叶斯的优缺点

            优点

                   a.  对小规模数据表现的较好,适合多分类任务

                    b. 算法比较简单,容易理解

            缺点

                    a. 朴素贝叶斯假设特征之间是相互独立的,但在实际过程中往往是不成立的,在特征相关性越大,分类效果越不好

                    b. 对输入数据表达形式很敏感


    5. 朴素贝叶斯其他模型

            高斯朴素贝叶斯

                当  特征属性是连续值  且服从高斯分布时,计算P(X|Y)可以直接使用高斯分布概率公式

                                P(X|Y) = g(x,\mu,\sigma ) = \frac{1}{\sigma \sqrt{2\Pi }  } e^{-\frac{(x-\mu )^2}{2\sigma ^2} }

                  因此,只要计算出在各类别y_{k}中,各个特征的均值和方差

            多项式朴素贝叶斯

              当 特征属性是离散值 时,直接计算类别数目的占比作为先验概率和条件概率

                    P(Y_{k}) = \frac{N_{Y_{k}}+a}{N+ka} , P(x_{i}|Y_{k})=\frac{N_{Y_k,x_{i}}+a}{N_{Y_{k}}+n_{x_{i}}a}

              其中N是总样本数,N_{Y_{k}}是类别为Y_{k}的样本数,N_{Y_{k},x_{i}}是类别为Y_{k}x_{i}的样本数

             k是类别个数,n_{x_{i}}是特征x_{i}中不同取值的个数

             a是平滑值,主要是用来克服条件概率为0的问题,当a=1时,是Laplace平滑,

             当0<a<1时,是Lidstone平滑,a=0时,不做平滑

            伯努利(0-1分布)朴素贝叶斯

                 当 特征属性是连续值且服从伯努利分布,计算P(X|Y)可以使用伯努利概率公式

                   P(x_{k}|Y) = P(1|Y)x_{k} + (1-P(1|Y))(1-x_{k})


    参考资料

    【1】朴素贝叶斯算法理解和实现

    【2】朴素贝叶斯算法详解

    【3】带你搞懂朴素贝叶斯

    【4】朴素贝叶斯理论推导与三种常见模型

    相关文章

      网友评论

          本文标题:朴素贝叶斯算法

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