朴素贝叶斯——理论篇

在学习朴素贝叶斯时,需要注意以下几个关键点:

1.它是构建分类器的简单方法,不是一个训练分类器的单一方法,而是一系列基于相同原理的算法,例如(基于高斯分布的朴素贝叶斯和基于多项式的朴素贝叶斯等)。

2.它是一个基于贝叶斯定理与特征独立性假设的分类方法。这里我想解释一下特征独立性假设:指的是样本所包含的属性在判断其是否为某一类时的概率分布上是独立的。(至于为什么要这样子假设,后面我会进行说明)

3.朴素贝叶斯的基本过程


                 朴素贝叶斯通过训练数据集学习联合概率分布p(X,Y)。具体地,学习一下先验概率分布和条件概率分布。先验概率分布如式(1):


    条件概率分布:


于是学习到联合概率分布P(X,Y).

      条件概率分布有指数级数量的参数,其估计实际是不可行的。假设特征可能取值为个,j=1,2,....,n,Y可能取值有K个,那么参数个数为。 其中N为样本的个数,l为特征的个数,下标表示样本,上标表示特征。

   由式(2)可知条件概率P(x|c)是所有属性上的联合概率,有着指数数量的参数,难以从有限的训练样本中直接估计得到。因此,朴素贝叶斯对条件概率分布作了条件独立性的假设:其等价于说明用于分类的特征在类确定的条件下都是条件独立的。这一假设使得朴素贝叶斯法变得简单,但是有时会牺牲一定的分类准确率。根据条件独立性假设,我们可以将条件概率转化为:


   4.朴素贝叶斯分类。

     朴素贝叶斯分类时,对于给定的输入,通过学习到的模型计算后验概率分布,将后验概率最大的类作为的类输出。后验概率计算根据贝叶斯定理进行:


      上式是朴素贝叶斯法分类的基本公式。于是,朴素贝叶斯分类器可以表示为:


    在式(5)中分母对所有的都是相同的,所以可以简化为:


 5.朴素贝叶斯概率计算及参数估计

    由3可知,在朴素贝叶斯法中,学习意味着估计先验概率和条件概率。若有充足的独立同分布样本,则可容易地估计出类先验概率如式(1),

    对于离散属性而言,令表示在第i个特征上取值为的样本组成的集合,则条件概率可估计为:


 对于连续属性可考虑概率密度函数,假定,其中分别是第类样本在第i个属性上取值的均值和方差,则有


  注:根据类别计算特征中的均值和方差。

6.贝叶斯估计

  上述为极大似然估计,用极大似然估计可能会出现所要估计的概率值为0的情况,着时会影响到后验概率的计算结果,使得分类产生偏差,计,具体地,条件概率的贝叶斯估计是


 式中大于等于0.等价于在随机变量各个取值的频数上赋予一个正数。当其等于0时,就是极大似然估计,常取=1,这时称为拉普拉斯平滑 。可以观察到对于任何l=1,2,...,Sj,k=1,2,..,K,有




 表明(4.9)确为一种概率分布。同样先验概率的贝叶斯估计是:


  注意:拉普拉斯修正实质上假设了属性值与类别均匀分布,这是朴素贝叶斯学习过程中额外引入的关于数据的先验。显然,拉普拉斯修正避免了因训练集样本不充分而导致概率估计值为0的问题,并且在训练样本集变大时,修正过程所引入的先验的影响也会逐渐变得可忽略,使得估计值渐趋于实际概率值。

   在现实生活中,朴素贝叶斯分类器有多种使用方式。例如:若任务对预测速度要求较高时,则给定训练集,可将朴素贝叶斯分类器涉及的所有概率估计值事先计算好存储起来,这样进行预测试只需要查表即可进行判断;若任务更替比较频繁,则可采用“”懒惰学习“方式,先不进行任何训练,待收到预测请求时再根据当前数据集进行概率估计值;当数据不断增加时,则可在现有估计基础上,仅对新增样本值所涉及的概率估计进行计数修正即可实现增量学习。

9.后验概率最大化等价于0-1损失函数时的期望最小化。

  朴素贝叶斯法将实例分到后验概率最大的类中。这等价于期望风险最小化。假设选择0-1损失函数:

 


   式中f(x)是分类决策函数。这时,期望风险函数为,期望是对联合概率分布P(X,Y)取的。由此条件期望

(12)

  为使期望风险最小化,只需对X=x逐个极小化,由此得到:


参考:《统计学习》、《机器学习》、《机器学习实战》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
朴素贝叶斯算法是一种常用的分类算法,它将待分类的样本看作是由多个特征组成的向量,然后根据这些特征的先验概率和条件概率,计算出每个类别的后验概率,最终将样本分到概率最大的那个类别中。 在天气预报中,我们可以使用朴素贝叶斯算法来预测明天是否会下雨。假设我们有以下三个特征:今天是否下雨、今天是否多云、今天的气温,它们的取值分别为是或否、是或否、高、中、低。我们可以根据这些特征来构建训练数据集,例如: | 是否下雨 | 是否多云 | 气温 | 是否下雨(标签) | | -------- | -------- | ---- | ---------------- | | 是 | 是 | 高 | 是 | | 否 | 是 | 中 | 否 | | 否 | 否 | 低 | 否 | | 否 | 是 | 低 | 否 | | 是 | 否 | 中 | 是 | | 是 | 是 | 中 | 是 | 现在我们要预测明天是否会下雨,假设明天的气温为“中”,天气情况为“多云”,我们可以使用朴素贝叶斯算法来计算下雨和不下雨的后验概率。 首先,我们需要计算每个类别(下雨和不下雨)出现的先验概率,即: $$P(下雨)=\frac{3}{6}=0.5$$ $$P(不下雨)=\frac{3}{6}=0.5$$ 然后,我们需要计算每个特征在每个类别下的条件概率。以“是否多云”为例,当天不下雨的样本中,“是否多云”为“是”的概率为: $$P(是否多云=是|不下雨)=\frac{1}{3}=0.33$$ 同理,当天不下雨的样本中,“是否多云”为“否”的概率为: $$P(是否多云=否|不下雨)=\frac{2}{3}=0.67$$ 当天下雨的样本中,“是否多云”为“是”的概率为: $$P(是否多云=是|下雨)=\frac{2}{3}=0.67$$ 同理,当天下雨的样本中,“是否多云”为“否”的概率为: $$P(是否多云=否|下雨)=\frac{1}{3}=0.33$$ 其他特征的条件概率也可以用同样的方法计算。最后,我们可以根据贝叶斯公式计算下雨和不下雨的后验概率: $$P(下雨|气温=中,是否多云=是)=\frac{P(气温=中|下雨)P(是否多云=是|下雨)P(下雨)}{P(气温=中)P(是否多云=是)}$$ $$P(不下雨|气温=中,是否多云=是)=\frac{P(气温=中|不下雨)P(是否多云=是|不下雨)P(不下雨)}{P(气温=中)P(是否多云=是)}$$ 其中,$P(气温=中)$和$P(是否多云=是)$可以通过所有样本中对应特征的出现次数计算得到。 最后,比较两个后验概率的大小,即可得出明天是否会下雨的预测结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值