zoukankan      html  css  js  c++  java
  • 贝叶斯决策

    周志华《机器学习》笔记

    1.贝叶斯决策简介

    贝叶斯决策是基于所有相关概率已知情况下,结合误判损失来选择最优的类别标记的一种决策方法。
    假设有N种可能的标记,λij是将一个真实标记为ci的样本误判为类别cj所产生的损失。

    条件风险

    R(ci|x)=j=1NλijP(cj|x)
    因为知道后验概率P(ci|x),所以给定一个样本,能够得到它被分为每个类别的概率。把所有误分的概率乘以损失,就得到了误分的代价,把每个样本误分为其他的类别的代价相加,就是这个条件风险。

    贝叶斯准则

    为最小化总体风险,只需在每个样本上选择那个能使条件风险最小的类别标记。
    使用01损失函数作为误分类的风险,也就是说当分类正确时,损失为0,否则损失为1. 这时候条件风险的表达式将变得很简单,

    R(ci|x)=j=1ijNP(cj|x)=1P(ci|x)

    最小化分类错误率的贝叶斯最优化分类器

    h(x)=argmaxcγP(c|x)
    即对每一个样本x, 选择能够使后验概率P(c|x)的最大的类别标记。

    2.如何获得后验概率?

    基于有限的样本训练集尽可能地估算出后验概率P(c|x)。这里使用生成模型,先对联合概率分布P(c,x)建模,然后再求边缘分布,即P(c|x)。即

    P(c|x)=P(c,x)P(x)
    使用贝叶斯定理
    P(c|x)=P(x|c)P(c)P(x)
    其中P(c)是先验概率,类条件概率P(x|c), P(x)为归一化因子。
    先验概率可以通过各样本的类别出现的频率估算。
    类条件概率P(x|c)使用极大似然估计求。

    3.极大似然估计求类条件概率P(x|c)

    基本思路:假定样本具有某种确定的概率分布形式,再基于样本对概率分布的参数进行估计。
    按照类别把数据分成不同的子集,假设每个子集中的样本都是独立同分布的,写出似然函数:

    P(Dc|θc)=P(x|θc)
    取对数求得对数似然函数:
    L(θc)=logP(x|θc)
    然后求θc一阶,二阶导数,令一阶导数值为0,若二阶导数小于0,则函数在这个θ出取得最大值。

    4.朴素贝叶斯分类器

    为什么叫朴素贝叶斯呢?因为类条件概率很难从有限的样本中直接估计得到,所以引入了一个属性条件独立性假设,对已知的类别,假设所有属性都是相互独立的。但是实际中,这些属性之间并不总是独立的,因此说他朴素(Naive)。
    于是有P(c|x)=P(x|c)P(c)P(x)=P(c)P(x)i=1dP(xi|c), d为属性的个数,xi为第i个属性上的取值。
    朴素贝叶斯分类器的表达式:

    eq2

    比如西瓜数据集

    编号,色泽,根蒂,敲声,纹理,脐部,触感,密度,含糖率,好瓜
    1,青绿,蜷缩,浊响,清晰,凹陷,硬滑,0.697,0.46,是
    2,乌黑,蜷缩,沉闷,清晰,凹陷,硬滑,0.774,0.376,是
    3,乌黑,蜷缩,浊响,清晰,凹陷,硬滑,0.634,0.264,是
    4,青绿,蜷缩,沉闷,清晰,凹陷,硬滑,0.608,0.318,是
    5,浅白,蜷缩,浊响,清晰,凹陷,硬滑,0.556,0.215,是
    6,青绿,稍蜷,浊响,清晰,稍凹,软粘,0.403,0.237,是
    7,乌黑,稍蜷,浊响,稍糊,稍凹,软粘,0.481,0.149,是
    8,乌黑,稍蜷,浊响,清晰,稍凹,硬滑,0.437,0.211,是
    9,乌黑,稍蜷,沉闷,稍糊,稍凹,硬滑,0.666,0.091,否
    10,青绿,硬挺,清脆,清晰,平坦,软粘,0.243,0.267,否
    11,浅白,硬挺,清脆,模糊,平坦,硬滑,0.245,0.057,否
    12,浅白,蜷缩,浊响,模糊,平坦,软粘,0.343,0.099,否
    13,青绿,稍蜷,浊响,稍糊,凹陷,硬滑,0.639,0.161,否
    14,浅白,稍蜷,沉闷,稍糊,凹陷,硬滑,0.657,0.198,否
    15,乌黑,稍蜷,浊响,清晰,稍凹,软粘,0.36,0.37,否
    16,浅白,蜷缩,浊响,模糊,平坦,硬滑,0.593,0.042,否
    17,青绿,蜷缩,沉闷,稍糊,稍凹,硬滑,0.719,0.103,否

    这里就假设属性色泽,根蒂,敲声,纹理,脐部,触感,密度,含糖率之间是相互独立的。

    5. 朴素贝叶斯分类的例子

    根据这些属性先把数据划分为一个个子集,然后为每个属性的取值估计条件概率P(xi|c)
    变量是有离散和连续之分的,对于离散型的变量,直接使用频率估计概率;
    对于连续变量,常常假设其服从高斯分布,分别求第c类样本在第i个属相上取值的均值和方差μc,i,σc,i2, 然后使用求类条件概率:

    p(xi|c)=12πσc,iexp((xiμc,i)22σc,i2)

    看周老师书上的一个例子去理解:


    naive1
    naive2
    naive3

    6.平滑

    如果某个属性在训练集中没有出现过,那么其列条件概率为0,使用朴素贝叶斯估计时由于其中一项为0,导致最终结果为0。
    使用拉普拉斯修正对其做平滑。
    具体的做法是

    P^=|Dc|+1|D|+N
    P^(xi|c)=|Dc,xi||+1|Dc|+Ni
    N表示类别数,Ni 表示第i个属性可能的取值数目。

    周志华《机器学习》

  • 相关阅读:
    Minimum Depth of Binary Tree leetcode java
    Maximum Depth of Binary Tree leetcode java
    Symmetric Tree leetcode java
    Same Tree leetcode java
    Binary Tree Postorder Traversal leetcode java
    Binary Tree Preorder Traversal leetcode java
    Binary Tree Inorder Traversal leetcode java
    Combinations leetcode java
    一键清除Centos iptables 防火墙所有规则
    阿里云centos7.7x64安装open,并配置ip转发和nat伪装
  • 原文地址:https://www.cnblogs.com/siucaan/p/9623110.html
Copyright © 2011-2022 走看看