机器学习笔记:贝叶斯算法(一)

有关贝叶斯定理和贝叶斯公式的推导过程,在阮一峰大神的博客里的《贝叶斯推断及其互联网应用(一):定理简介》写得非常全面,简洁明了。

下面是我的个人笔记总结:

贝叶斯定理

基于假设的先验概率,给定假设下观察到的不同数据的概率,提供了一种计算后验概率的方法。
先验概率:由以往的数据分析得到的概率。
后验概率:得到信息之后再重新加以修正的概率。

在人工智能领域是非常有代表性的不确定性知识表示和推理方法。

条件概率

P(A|B) 表示事件B发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。

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

贝叶斯公式

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

P(B|A) 是根据A参数值去判断其属于类别B的概率,是后验概率。 P(B) 是直接判断某个样本属于B的概率,是先验概率。 P(A|B) 是在类别B中观察到A的概率, P(A) 是在样本中观测到A的概率。

朴素贝叶斯算法-原理

基本思想

对于给定的待分类项 X{a1,a2,a3,...,an} ,求解此项出现的条件下,各个类别 yi 出现的概率,哪个 P(yi|X) 最大,就把此分类项 X 分为那个类别。

算法定义

  1. X{a1,a2,a3,...,an}为一个待分类项,每个 ai 为X的一个特征属性,特征属性之间互相独立。

    • C{y1,y2,y3,...,yn} 为一个类别集合。
    • 计算 P(y1|X),P(y2|X),P(y3|X),...,P(yn|X)
    • P(yk|X)=max{P(y1|X),P(y2|X),P(y3|X),...,P(yn|X)},Xyk
    • P(yk|X) 的步骤

      1. 找到一个已知分类的待分类项集合,这个集合叫训练样本集。
      2. 得到各个类别下,各个特征属性的条件概率,即
        P(a1|y1),P(a2|y1),P(a3|y1),...,P(an|y1),P(a1|y2),P(a2|y2),P(a3|y2),...,P(an|y2),P(a1|y3),P(a2|y3),P(a3|y3),...,P(an|y3),,,,...,,P(a1|yn),P(a2|yn),P(a3|yn),...,P(an|yn),
      3. 在贝叶斯公式中分母相当于在样本数据中 X 的概率,所以对任何一个待分类项来说P(X)是常数,固定的。求后验概率 P(yi)|X 只需要考虑分子即可。因为个特征属性独立,所以有:
        P(X|yi)P(yi)=P(a1|yi)P(a2|yi)P(a3|yi)...P(an|yi)P(yi)=P(yi)j=1nP(aj|yi)

        所以:
        P(X|yi)=k=1nP(ak|yi)

      处理流程

      这里写图片描述

      简单实例

      数据样本:

      ageincomestudentcredit_ratingbuys_computer
      <=30highnofairno
      <=30highnoexcellentno
      31..40highnofairyes
      >40mediumnofairyes
      >40lowyesfairyes
      >40lowyesexcellentno
      31..40lowyesexcellentyes
      <=30mediumnofairno
      <=30lowyesfairyes
      >40mediumyesfairyes
      <=30mediumyesexcellentyes
      31..40mediumnoexcellentyes
      31..40highyesfairyes
      >40mediumnoexcellentno

      待分类数据:
      X=(age<=30,income=medium,student=yes,credit_rating=fair)

      第一阶段:准备阶段

      根据具体情况确定特征属性,并且对特征属性进行适当划分。然后就是对一部分待分类项进行人工划分,以确定训练样本。这一阶段输入的是所有待分类项,输出的是特征属性和训练样本。所以:
      **数据样本属性:**age、income 、student 、 credit_rating
      **类别属性:**buys_computer
      y1 :buys_computer=”yes”
      y2 :buys_computer=”no”

      第二阶段:分类器训练阶段

      计算每个类别在训练样本中出现的频率,以及每个特征属性划分对每个类别的条件概率。输入时特征属性和训练样本,输出是分类器。
      计算每个类别的先验概率:
      P(y1) =9/14=0.643
      P(y2) =5/14=0.357

      计算每个特征属性对于每个类别的条件概率:
      P(age<=”30”|buys_computer=”yes”)=2/9=0.222
      P(income=”medium”|buys_computer=”yes”)=4/9=0.444
      P(student=”yes”|buys_computer=”yes”)=6/9=0.667
      P(credit_rating=”fair”|buys_computer=”yes”)=6/9=0.667

      P(age<=”30”|buys_computer=”no”)=3/5=0.600
      P(income=”medium”|buys_computer=”no”)=4/9=0.400
      P(student=”yes”|buys_computer=”no”)=1/5=0.200
      P(credit_rating=”fair”|buys_computer=”no”)=2/5=0.400

      计算条件概率 P(X|yi)
      P(X|buyscomputer="yes") =0.222*0.444*0.667*0.667=0.044
      P(X|buyscomputer="no") =0.600*0.400*0.200*0.400=0.019

      第三阶段:应用阶段

      计算对于每个 yi P(X|yi)P(yi)
      P(X|buys_computer="yes")P(buys_computer="yes") =0.444*0.643=0.028
      P(X|buys_computer="no")P(buys_computer="no") =0.019*0.357=0.007

      到此,对于待分类的样本X,朴素贝叶斯分类预测buys_computer=”yes”

      总结:

      朴素贝叶斯算法的优点:
      1. 算法逻辑简单,易于实现
      2. 分类过程中时空开销小
      3. 算法稳定,对于不同的数据特点其分类性能差别不大,健壮性比较好。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值