朴素贝叶斯分类

朴素贝叶斯

朴素贝叶斯分类算法是基于两种假设的一种分类算法:

  • 每一个特征同样重要
  • 每一个特征之间相互独立

贝叶斯定理

P(B|A)=P(A|B)P(B)P(A)

证明:
条件概率公式


P(A|B)=P(AB)P(B)(1)

同理

P(B|A)=P(AB)P(A)(2)

联立可以得到

P(B|A)=P(A|B)P(B)P(A)

贝叶斯策略理论

P1(x) 表达 x 属于类别一的概率,P2(x)表达 x 属于类别二的概率:

  • P1(x)>P2(x),那么属于类别一

    • P1(x)<P2(x) ,那么属于类别二
    • 但是贝叶斯决策论真正进行比较的是 P(c1|x) P(c2|x) ;通过贝叶斯定理我们可以得到计算该条件概率的方法因此

      • P(c1|x)>P(c2|x) ,那么属于类别 c1
      • P(c1|x)<P(c2|x) ,那么属于类别 c2

      贝叶斯分类流程

      基于之前的理论我们正式定义一下朴素贝叶斯分类的流程:
      设:

      1. x={a1,a2,...am} 为一个待分类项, ai 为其特征属性,一共有 m
      2. C={y1,y2,...,yn}表示类别的集合
      3. 计算 P(y1|x),P(y2|x),...,P(yn|x)
      4. P(yk|x)=max{P(y1|x),P(y2|x),...,P(yn|x)} ,则 xyk

      贝叶斯分类的关键在于求出 P(y1|x),P(y2|x),...,P(yn|x) ,这也是朴树贝叶斯算法的训练过程。
      我们分别计算:


      P(a1|y1),P(a2|y1),...,P(am|y1)
      P(a1|y2),P(a2|y2),...,P(am|y2)
      ...
      P(a1|yn),P(a2|yn),...,P(am|yn)

      基于贝叶斯定理我们可以得到
      P(yi|x)=P(x|yi)P(yi)P(x)

      分母对于所有类别来说可以看成一个常数,因此我们只需考虑分子,基于先前的假设,所有特征独立可以得到
      P(x|yi)=P(a1|yi)P(a2|yi)...P(am|yi)=Πmj=1P(aj|yi)

      合并可以得到:
      P(x|yi)P(yi)=P(yi)Πmj=1P(aj|yi)

      数据处理

      若属性的取值为离散值我们很容易计算,就直接统计出训练样本中各个属性在每个样本中出现的频率就可以计算出 P(a|y) 。如果属性的取值为一个连续值的时候我们就要对其进行处理。
      假定其值满足高斯分布:

      p(xi|yj)=12πσi,je(xμi,j)22σ2i,j

      这样我们只用计算出训练样本中类别 yi 中特征 aj 的均值和标准差,带入上式即可。
      在实践中我们常通过取对数的方式来将连乘转化为连加,以避免数值的下溢。
      需要注意的是若某个属性值在训练集中没有与某个类同时出现过,则计算出来的概率值为0,则会将其他属性携带的信息给抹去,因此我们需要用到“拉普拉斯修正”,来进行平滑。
      N 表示训练集D中可能的类别数, Ni 表示第 i 个属性可能的取值数
      P(c)=|Dc|+1|D|+N

      P(xi|c)=|Dc,xi|+1|Dc|+Ni

      总结

      优点:在数据较少的情况下仍然有效,可以处理多类别问题
      缺点:对于输入数据的准备方式较为敏感
      适用数据类型:标称型数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值