美文网首页
[机器学习算法]朴素贝叶斯

[机器学习算法]朴素贝叶斯

作者: TOMOCAT | 来源:发表于2020-01-28 15:20 被阅读0次

以二分类问题为例,我们假设特征集合为x,样本所属类别为c,后验概率P(c|x)为:

P(c|x)=\frac{P(c)P(x|c)}{P(x)}
其中P(c)是类的先验概率;P(x|c)是样本x相对于类标记c的类条件概率;P(x)代表样本x出现的概率,但是给定样本x,P(x)与类标记无关。因此我们只需要计算先验概率P(c)和类条件概率P(x|c)。计算方法如下:

  1. P(c)表示样本空间中各类别样本所占的比例,根据大数定律,当训练集包含充分的独立同分布样本时,因此P(c)可以根据各类样本出现的频率来进行估计。
  2. P(x|c)设计到关于x所有属性的联合概率,如果直接根据样本出现的频率来估计会遇到极大的困难(比如假设样本的d个属性都是二值的,那么样本空间就有2^d种可能的取值,这个值往往远大于训练样本数,因此很多样本取值在训练中可能根本不会出现),因此我们直接用频率来估计P(x|c)是不可行的。
    为解决这个问题,朴素贝叶斯提出了“属性条件独立性假设”:对已知类别,假设所有属性相互独立。于是贝叶斯公式可以改写成:

P(c|x)=\frac{P(c)P(x|c)}{P(x)}=\frac{P(c)}{P(x)}\prod_{i=1}^{d}P(x_i|c)
其中我们用样本频率估计P(c)P(x_i|c)

P(c)=\frac{|D_c|}{|D|},P(x_i|c)=\frac{|D_{c,x_i}|}{|D_c|}
其中|D_c|表示类别为c的样本数,|D|表示训练集总样本数,|D_{c,x_i}|表示类别c样本中在第i个特征值取值为x_i的样本数。
求出所有类别的P(c|x)后取后验概率最大的类别c为最近预测类别。

相关文章

网友评论

      本文标题:[机器学习算法]朴素贝叶斯

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