Naive Bayes 朴素贝叶斯算法

基本介绍

  朴素贝叶斯分类是基于贝叶斯定理和特征独立性假设的分类算法。


数学基础

条件概率

    事件B发生的条件下A发生的概率。

P(AB)=P(AB)P(B)

贝叶斯定理

    贝叶斯定理描述的是两个条件概率 P(AB) P(BA) 之间的关系。

P(AB)=P(BA)P(A)P(B)


特征独立假设

    假设给定数据集Y,每条样本X都包含n维特征,即X[ x1,x2,x3...xn ], xn 是第n维特征的特征值;共有k种类别,即y[

y1,y2,y3...yk ]。如果现在来了个新样本x,那么样本x属于哪种类别?按照概率论的思想,属于哪个类别的概率大,就是哪种类别,

即:

max(P(ykx))

    由贝叶斯定理公式
P(ykx[x1,x2,x3...xn])=P(xyk)P(yk)P(x[x1,x2,x3...xn])

   1、 P(yk) yk 的先验概率,直接根据训练集中 yk 类别所占的比重得出。

   2、分母 P(x[x1,x2,x3...xn]) 对应各类别均相同,所以省略计算。

   3、基于特征独立假设(也叫属性独立性假设), P(xyk)=P(x1yk)P(x2yk)...P(xnyk) P(xiyk) 的意思

是在当前类别 yk 中,第 i 维特征,特征值为 xi 所占的比例。

P(xiyk)=n1n

       n1 :在类别 yk 中,第 i 维特征,特征值为 xi 出现的次数,可统计得出。

       n :在类别 yk 中,特征总数,可统计得出。


三种模型

多项式模型 MultinomialNB

     多项式模型在计算先验概率 P(yk) 和条件概率 P(xyk) 时,会做一些平滑处理。文本分类,多项式模型中,重复出现的词语

在统计和判断时都视为出现了多次。

        先验概率:某一类别出现的概率。

P(yk)=Nyk+αN+kα

            Nyk :类别为 yk 的样本个数

            N :样本总数

            k :类别数

            α :平滑值

        条件概率:某一类别下某一特征出现的概率。

P(xi|yk)=Nyk,xi+αNyk+nα

             Nyk :类别为 yk 的样本个数

             n :特征数

             α :平滑值

             Nyk,xi :类别为 yk 的类别中,第 i 维特征,特征值为 xi 的样本数。

        当 α=1 ,叫拉普拉斯平滑(Laplace smothing)

        当 α=0 ,不做平滑,可能会导致条件概率 P(xyk) 为0。因为 P(xiyk) 可能为0。

        当 α=1 ,叫Lidstone 平滑


高斯模型

     特征维连续变量,如特征为人的身高、体重,用多项式模型容易导致 P(xyk) 为0(当 α=0 时),即使做平滑,此时的条件概

率也难以描述真实情况。此时应使用高斯模型。高斯模型假设每一维特征符合高斯分布,也叫正态分布。高斯模型根据每一维的均值、方

差,得到每一维的密度函数,根据密度函数就可以得到当前维度值的密度函数值,以密度值作为条件概率的值。

        条件概率

P(xi|yk)=12πσ2yk,ie(xiμyk,i)22σ2yk,i

             P(xi|yk) :类别 yk 中,第 i 维特征,特征值为 xi 的概率。

             σyk,i :类别 yk 中,第 i 维特征的方差。

             μyk,i :类别 yk 中,第 i 维特征的均值。


伯努利模型BernoulliNB

     与多项式模型一样,伯努利模型也适合离散特征。伯努利模型的每个特征的值只能是true和false,或者1和0,即特征有没有在

一个文档中出现。文本分类,伯努利模型中,重复出现的词语在统计和判断时都视为出现了一次。方便,但丢失了词频信息。

        条件概率

           当特征值 xi =1

P(xiyk)=P(xi=1yk)

           当特征值 xi =0
P(xiyk)=1P(xi=1yk)

            P(xi|yk) :类别 yk 中,第 i 维特征,特征值为 xi 的概率。


工程上的技巧(把贝叶斯变得更快,且效果不会差)

  1、取对数

    经过训练,得到了每个词的概率后,对每个词的概率取对数,这样预测时的极小浮点数的乘法,变成了加法运算。降低

算法预测复杂度。

  2、转换为权重

    经过训练,得到了每个词的概率后,对每一个词在正负样本中出现的概率求比值。预测时的极小浮点数的乘法,也变成了加法运

算。降低算法预测复杂度。

  3、取TopK个关键词

    取TopK个关键词,定一个阈值。


应用举例

  1、垃圾邮件过滤

  2、文本分类

  3、多分类预测

  4、情感判别

你可能感兴趣的:(机器学习)