贝叶斯(Bayes)

贝叶斯(Bayes)文章概要

介绍部分


概率论部分

由于贝叶斯是基于概率框架下实施决策的方法,所以在讲解贝叶斯的前提下必须先回顾一下概率论方面的几个基本公式,比如条件概率,全概率公式等等

条件概率

全概率公式

贝叶斯基础

这一部分主要讲解一些基础的公式概念,如类先验概率,类条件概率,后验概率等等

贝叶斯公式

  • 注1:是不是可以发现,贝叶斯公式其实就是条件概率公式的转换,比如由条件概率公式我们可以得到和,接下来只需要将这两个式子对齐就可以得到贝叶斯公式了
  • 注2:是后验概率,是类先验概率,是类条件概率
  • 注3:c是指数据的输出类别;x是输入数据的样本;是和同时发生时的联合概率

后验概率:其实是给定测试样本x向量的情况下,判定测试样本为的概率
类先验概率:是依据训练集,提前对类别c进行一个样本估计,其实就是统计出时的频数与总训练数据的占比
类条件概率:就是在给定的情况下,训练数据中x的分布情况

  • 这个应该是比较难理解的部分,我们可以举个例子
  • 假设x的分布为离散的情况:
    • 例:根据西瓜数据集3.0,我们取出属性集set={色泽,触感,好瓜}来作为举例,那么就是我们的好瓜属性类别,的意思就是在c=好瓜的基础上,色泽和触感的分布情况,即有多少西瓜的色泽是青绿的,多少是乌黑的,又有多少西瓜触感是硬滑的等等
  • 如果x是密度和含糖量,那么的分布就是连续的,相当于联合概率分布的密度函数
    摘自西瓜书P84

贝叶斯决策论

借由西瓜书上的话说,贝叶斯决策论是概率框架下实施决策的基本方法。对分类任务而言,在所有相关概率都已知的理想情形下,贝叶斯决策论是基于这些概率和误判损失来考虑如何选择最优的类别标记。意思就是说我们在为某个样本预测分类的时候,不仅要考虑某个样本属于某个类别的概率最大化,还要考虑误判情况下的损失成本最小化。其中,概率最大化就不用多说了,就是选择样本x属于好瓜的概率和属于坏瓜的概率中的最大的那个作为x的预测类别,而损失成本最小化才是接下来的重点,它包括了基于最小错误率的贝叶斯决策和基于最小风险的贝叶斯决策

基于最小错误率的贝叶斯决策

最小错误率用句简单的话来说,就是用我们已经训练好的模型给我们的测试集预测分类时,我们要考虑每个样本的错误率都能达到最小。这样子的说法是不是似曾相识?因为只要我们反着说,它也就是我们刚刚所说的概率最大化,即在样本属于某个类别的概率中选择最大的那个。这样我们应该就能理解,基于最小错误率的贝叶斯决策理论其实就是按后验概率大小来做决策的。当然这个理论还有许多其他的概念和公式,如下:

  • 最大后验概率
    • 注:N是数据集上的输出的类别数目;公式含义是对样本x求所有类别的后验概率,选择其中概率最大的那个类别作为的作为的类别
  • 最大后验概率的类条件概率形式
    • 注:这是类先验概率与类条件概率相联系的形式,根据贝叶斯公式得来,因为是是训练集上的分布,在训练集给定的情况下,它是确定的量,所以我们可以忽略分母,选择分子最大的那个
  • 样本x上的条件风险
    • 注1:表示将一个真实标记为的样本误分类为所产生的损失我们的目标如果是最小错误率的话,那么就遵从以下公式:
    • 注2:公式是表示样本x分类为时所产生的期望损失
  • 总体风险
    • 注:公式的意思就是对样本x上的条件风险进行求期望,从而得到总体的风险值,其中是模型预测的类别
    • 这里是西瓜书上的公式,我们可以利用下面的平均错误率部分来去理解这里的内容
  • 样本错误率
    • 注:表示某个样本被错误分类的概率,即错误率;表示某个样本被正确分类的概率
  • 平均错误率
    \begin{aligned} P ( e ) &= \int P ( e | x ) P ( x ) \mathrm { d } x \\ & = \int _ { R _ { 1 } } P \left( \omega _ { 2 } | x \right) P ( x ) \mathrm { d } x + \int _ { R _ { 2 } } P \left( \omega _ { 1 } | x \right) P ( x ) \mathrm { d } x \\ &= \int _ { R _ { 1 } } P ( x | \omega _ { 2 } ) P \left( \omega _ { 2 } \right) \mathrm { d } x + \int _ { R _ { 2 } } P ( x | \omega _ { 1 } ) P \left( \omega _ { 1 } \right) \mathrm { d } x \end{aligned}
    • 注1:表示所有样本被错误分类的概率之和,另外我们老师称为整体错误率,感觉不太合适;
    • 注2:第一行推到第二行是因为我们将整个样本预测分类空间设定为两类,所以只有和两个类;
    • 注3: 表示被预测为的所有观测值区域,即那些被预测为类的样本集合; 则对应的是被预测过的所有观测值区域
    • 注4: 第二行的示对错误分类的x进行积分,也就是求解所有在区域内被每个x被错分为的概率之和;同样的,也就是求解所有在区域内被每个x被错分为的概率之和
    • 注5:第三行是第二行经过贝叶斯公式的一个变形,也就转化成了对类先验概率和类条件概率乘积的积分形式。这样做的目的是为了降低计算量,比如我们这里使用的是二分类,如果是多分类的情况,我们需要把特征空间划分为个区域,在每个区域里,我们都要计算c-1项错误率,即,总共加起来就有 项,而如果我们转换为,则类先验概率和类条件概率的计算只有c项,所以计算量上会大大地降低
    • 类条件概率
      • 注1:图来源于课上的PPT,但老师应该也是抄论文上的。除了这个图意外,网上也有很多简单的图解,能让人理解的更为容易,而我采用这个图进行解释,是因为上面信息量比较丰富,并且有些地方我暂时也没能理解,放在这里可以以后拿来复盘使用
      • 注2:整个图形是表示类条件概率的分布情况;其中,红线向下,x轴向上包裹的这部分,就是我们刚刚所说的;黑线向下,x轴向上包裹的这部分也就是;红色阴影部分表示的是,也就是在 区域内被每个x被错分为 的概率之和;同样地,黑色区域就不解释了
      • 注3:关于reducible error的问题,也就是可以减少的错误,这一点上课的时候听得比较糙,时间也太久,就忘掉了,目前还没有最佳的解决,笔记上唯一的记录点就是对应的红黑线相交点,是最佳点,而我们的目标是使得整个分布中的阴影面积最小。

基于最小风险的贝叶斯决策论

在讲最小风险之前,首先我们来考虑一个问题:所有的错误都是等价值的吗?我们之前引用了西瓜数据集中的好瓜和坏瓜来作为样本的二分类,在基于最小风险的贝叶斯决策论里,我们又见到了样本x上的条件风险,其中可能对所代表的含义难以理解,其实这个就是我们对这个问题的答案——不等同!一方面我们日常生活里,我们作为买瓜的人,可以容忍一个好瓜被我们分类成坏瓜的,最差的结果也就是我们不买瓜而已,而不能容忍的是一个坏瓜被我们当成了好瓜买回家,所以,这两者之间的错误价值是不等同的,而最小风险的贝叶斯决策论就是解决这个问题的——为每个错误添上错误损失的权重,即不再天然的等于0 or 1了

我们接下来用几个公式来去好好理解一下吧(这里写的比较水,希望以后能补)

二分类情况的目标函数:
\min r = \int _ { R _ { 1 } } \lambda _ { 11 } P ( x | \omega _ { 1 } ) P \left( \omega _ { 1 } \right) + \lambda _ { 21 } P ( x | \omega _ { 2 } ) P \left( \omega _ { 2 } \right) d x \\ \qquad+ \int _ { R _ { 2 } } \lambda _ { 12 } P ( x | \omega _ { 1 } ) P \left( \omega _ { 1 } \right) + \lambda _ { 22 } P ( x | \omega _ { 2 } ) P \left( \omega _ { 2 } \right) d x

扩展为多分类的决策规则:
x \in R _ { i } \quad if \quad l _ { i } \equiv \sum _ { k = 1 } ^ { M } \lambda _ { k i } P ( x | \omega _ { k } ) P \left( \omega _ { k } \right) < l _ { j } \equiv \sum _ { k = 1 } ^ { M } \lambda _ { k j } P ( x | \omega _ { k } ) P \left( \omega _ { k } \right) \quad \forall j \neq i


朴素贝叶斯

借用统计学习方法书里的话,朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布;然后基于此模型,对给定的输入,利用贝叶斯定理求出后验概率最大的输出。大致什么意思呢?就是这个模型会基于一个假设前提——特征条件独立,然后根据训练集上的数据得出的联合概率分布(也就是之前所说的类条件概率分布和类先验概率的乘积)去学习出一个分类器模型,然后再对给定的测试集,利用贝叶斯定理输出预测的分类结果

条件独立性假设

\begin{aligned} \mathrm { P } ( X = x | Y = c _ { k } ) & = P \left( X ^ { 1 } = x ^ { 1 } , \cdots , X ^ { ( n ) } = x ^ { ( n ) } | Y = c _ { k } \right) \\ & = \prod _ { j = 1 } ^ { n } P \left( X ^ { ( j ) } = x ^ { ( j ) } | Y = c _ { k } \right) \end{aligned}

  • 整个公式是一个条件概率,而是表示某个样本的第个特征值为,表示类别已经确定,而公式的含义是说,特征与特征之间是独立的,也就是没有相互的依赖关系

贝叶斯定理

  • 原始的贝叶斯定理
    • 注:和上面的有一点点不同,相信大家都能看懂!
  • 改进后的贝叶斯定理
    P \left( Y = c _ { k } | X = x \right) = \frac { P \left( Y = c _ { k } \right) P ( X = x | Y = c _ { k } ) } { \sum _ { k } P ( X = x | Y = c _ { k } ) P \left( Y = c _ { k } \right) }
    • 注:这里的改进只是把写成了全概率公式
  • 代入条件独立性假设的贝叶斯定理
    P \left( Y = c _ { k } | X = x \right) = \frac { P \left( Y = c _ { k } \right) \prod _ { j } P \left( X ^ { ( j ) } = x ^ { ( j ) } | Y = c _ { k } \right) } { \sum _ { k } P \left( Y = c _ { k } \right) \prod _ { j } P \left( X ^ { ( j ) } = x ^ { ( j ) } | Y = c _ { k } \right) }

贝叶斯分类器

\mathrm { y } = \mathrm { f } ( x ) = \mathrm { arg } \max _ { c _ { k } } \frac { P \left( Y = c _ { k } \right) \prod _ { j } P \left( X ^ { ( j ) } = x ^ { ( j ) } | Y = c _ { k } \right) } { \sum _ { k } P \left( Y = c _ { k } \right) \prod _ { j } P \left( X ^ { ( j ) } = x ^ { ( j ) } | Y = c _ { k } \right) }

  • 由于分母对所有的都是相同的,所以我们对贝叶斯分类器进行改进,如下:

朴素贝叶斯法的参数估计

因为我们需要学习的是联合分布,所以这里的参数估计就是指对类先验概率的估计和类条件概率的估计。参数估计的方法有两种(其实算是一种),我们接下来展开讲

极大似然估计

极大似然估计是依据频数来计算比例,之后将其作为概率的一种方法

  • 类先验概率的极大似然估计
    • 注:是训练数据集中样本的个数;是指示函数(括号内条件成立时为1,不成立时为0);是指输出的类别共有个
  • 类条件概率的极大似然估计
    P \left( X ^ { ( j ) } = a _ { j l } | Y = c _ { k } \right) = \frac { \sum _ { i = 1 } ^ { N } I \left( x _ { i } ^ { ( j ) } = a _ { j l } , y _ { i } = c _ { k } \right) } { \sum _ { i = 1 } ^ { N } I \left( y _ { i } = c _ { k } \right) }
    • 注1: 是第个样本的第个特征; 是第个特征可能取的第个值
    • 注2:在这里,我们可以发现,估计类条件概率的同时,我们也把某一属性上的特征值和分类结果做了联系
  • 极大似然估计的问题
    用极大似然估计可能会出现所要估计的概率值为0的情况,这时会影响我们对后验概率的计算结果。比如在西瓜数据集里,如果来个测试样例为 的样例,根据上面的极大似然估计,得到的概率为0。但是如果这个样本的其他属性很明显是好瓜,真实标签也是好瓜,而依据这个样例提供的特征,分类的结果却是坏瓜,这样就很不符合我们日常挑瓜的习惯了

贝叶斯估计

贝叶斯估计就是为了解决极大似然估计的问题才出现的,方法是是在极大似然估计的频数上加了一个正数,通常这个,而当这个时,贝叶斯估计也就成为了极大似然估计,当时,我们称它为拉普拉斯平滑(Laplace smoothing)

  • 类先验概率的贝叶斯估计
    • 注:是指训练集上的预测分类项数
  • 类条件概率的贝叶斯估计
    P _ { \lambda } \left( X ^ { ( j ) } = a _ { j l } | Y = c _ { k } \right) = \frac { \sum _ { i = 1 } ^ { N } I \left( x _ { i } ^ { ( j ) } = a _ { j l } , y _ { i } = c _ { k } \right) + \lambda } { \sum _ { i = 1 } ^ { N } I \left( y _ { i } = c _ { k } \right) + S _ { j } \lambda }
    • 注: 表示某个特征的取值数,因为每个特征的取值数是不同的,所以要根据实际的特征数目来计算

朴素贝叶斯算法

输入:训练数据,其中,是第个样本的第个特征,,是第个特征可能取的第个值,,,;实例
输出:实例的分类
算法过程:

  • 步骤(1):计算类先验概率和类条件概率

    P _ { \lambda } \left( X ^ { ( j ) } = a _ { j l } | Y = c _ { k } \right) = \frac { \sum _ { i = 1 } ^ { N } I \left( x _ { i } ^ { j } = a _ { j l } , y _ { i } = c _ { k } \right) + \lambda } { \sum _ { i = 1 } ^ { N } I \left( y _ { i } = c _ { k } \right) + S _ { j } \lambda }
  • 步骤(2):对给定的实例,计算每个类别的后验概率
  • 步骤(3):利用分类器公式,确定实例x的类

注:实例可参考西瓜书上的例子,毕竟数据集都是具体已知的,能够看到一些小细节


对于接下来的这两部分,虽然看完了西瓜书上的介绍,但还没有充分理解,所以现在仅介绍一小部分,后期会根据别的书进行更新

半朴素贝叶斯

因为朴素贝叶斯分类器采用的是属性(特征)条件独立性假设,这个假设在现实任务中是很难成立的,而半朴素贝叶斯分类器的提出就是对属性(特征)条件独立性假设做一定程度上的放松,即考虑属性之间的依赖关系。

贝叶斯网

贝叶斯网能够表示任意属性间的依赖性,想比较与半朴素贝叶斯和朴素贝叶斯,朴素贝叶斯和
贝叶斯网像是一种极端,而半朴素贝叶斯更像是他们两者之间的中间版本

你可能感兴趣的:(贝叶斯(Bayes))