西瓜书 第七章 贝叶斯分类器

7.1贝叶斯决策论

贝叶斯分类器:各类分类器中错误率最小或者在给定风险情况下平均代价最小的分类器。通过后验概率来计算损失的一类分类器。
贝叶斯决策论:用于在知道概率和误判损失来选择最优的类别标记。
我们要如何理解贝叶斯决策论呢?课本给了例子,我们一起来看一下吧。

假定有N种可能的标记类别,即是将一个真实标记为的样本分为所产生的损失。基于后验概率可以将样本x分类为所产生的期望损失,即样本x的条件风险记为:

要怎么理解这个公式呢?首先是等式左边,将样本x分为所产生的代价,而等式右边既然我们将x分为但是如果样本是那么我们就要付出代价,所以等式左边是x为的概率称为分类错误的损失,只有当i=j时损失为0,所以这个等式是计算将样本分为某个类别所产生的损失或者所需要付出的代价。

但是贝叶斯决策并不是要获得某个样本分类代价最小,而是要全体样本分类代价最小,这才是贝叶斯分类器。
所以贝叶斯决策其实就是最小化总体风险。在定义单个样本的条件风险上,我们给出总体风险:
描述的是所有样本的条件风险的期望,其中h是用于产生分类结果的判断准则h:x->y,贝叶斯分类器就是最小化总体风险的判断准则。
那要如何求得h呢?若对于每个样本,通过h对其分类能使得每个条件风险最小,那么总体风险也将最小,即:


此时,被称为贝叶斯分类器,称为贝叶斯风险

具体一点,当最小化目标是分类错误率时,分类正确代价为0,分类错误代价为1。
此时条件风险:。
要如何理解这个公式呢?

整理后就得到条件风险了。

所以此时的最小化错误率的贝叶斯最优分类器为:

所以现在只要求得后验概率就可以得到贝叶斯分类器,来进行最优分类了,但是后验概率如何获得呢?
主要有两种方法:①判别式模型:给定x,通过直接建模P(c|x)来预测c。决策树、BP神经网络、支持向量机都是这种模型。②生成式模型:给定x,对联合概率分布P(x,c)建模,来求后验概率。基于贝叶斯定理我们可以得到。

在贝叶斯定理中,每个概率都有约定俗成的名称:
是C的先验概率,因为不用考虑如何x的因素。
是样本x相对于c的条件概率,称为类条件概率。如果对概率论有所了解,那么也可以认为在C条件下发生x的概率。
c相对于x的条件概率,称为后验概率
如果对于这三个概率还是弄不清楚可以看一下这个视频(https://www.bilibili.com/video/av84799361)。

理一下思路:我们要进行多分类任务,要求分类错误率要尽量小,所以求得一个分类判别来使的错误率小,这一个分类判别就是贝叶斯分类器。通过上面的式子可知要得到这个判别式我们要求后验概率,而后验概率有两种方法,我们利用第二种使得求后验概率变为求先验概率和类条件概率,求出这两个概率就可以得到贝叶斯分类器完成分类任务了。
先验概率可以通过各类样本出现的频率来估计,类条件概率用极大似然估计来求。

7.2极大似然估计

估计类条件概率常用的策略,先假定其具有某种确定的分布,然后基于训练集样本对概率分布的参数进行估计,从而得到类条件概率。

具体一点来说明,记关于类别C的类条件概率为P(c|x),假定P(c|x)具有确定的形式并且被参数向量唯一确定,我们的任务就是利用训练集D估计参数。为明确起见我们将p(c|x)记为P(x|)。
令表示训练集D中第c类样本组成的集合,假设这些样本独立同分布,则参数对于数据集的似然:
由于连乘容易造成下溢,通常使用对数似然:

所谓的极大似然估计就是找出令似然最大的参数,所以只要对上面的式子求导得到最大来取得的值就可以,知道了就可以求得类条件概率了。
【补充:假设若某种分布为正太分布,即类条件概率服从正太分布,那么即为方差和均值,此时的不再是一个参数了,而是一个参数向量了,那么求导就变成了求偏导,课本给出一个结论通过极大似然估计求得若其服从正太分布,那么均值为样本均值,方差是的均值。】

7.3朴素贝叶斯分类器

既然我们已经了解了贝叶斯分类器是什么,怎么求之后,我们来看一下第一个分类器朴素贝叶斯分类器。
前面我们知道求后验概率的困难在于类条件概率(所有属性上的联合概率)难求,所以才用到了极大似然估计来求类条件概率。而朴素贝叶斯分类器采用了“属性条件独立性假设”即所有属性独立的对分类结果产生影响。
所以基于其属性条件独立性假设,后验概率为:其中d为属性数目,为i在第i个属性上的取值。
因为对于所有类别P(x)相同,所以朴素贝叶斯分类器的表达式:

在朴素贝叶斯分类器训练过程就是利用训练集来估计类条件概率和先验概率
先验概率:其中表示训练集D中第c类样本组成的集合。
类条件概率:①离散型属性,其中表示中在第i个属性上取值为的样本组成的集合。
                        ②连续属性,假定~,其中分别是第c类样本在第i个属性上取值的均值和方差,则有

上面就是朴素贝叶斯分类器的式子以及如何求解,课本中有一个西瓜判别示例,对朴素贝叶斯分类器进行了很详细的说明,我这里就不在举例了。

平滑

某个属性值在训练集中没有与某个类同时出现过,那么当我们利用朴素贝叶斯求解时,其类条件概率则为0,整个式子将为0,导致其他信息携带的信息被抹去,所以要进行平滑。常用的平滑方法有拉普拉斯修正。举个例子,若对西瓜进行分类这时测试集出现了一个样本,它有一个属性值“敲声=清脆”没有在训练集(某个类)“好瓜”中出现过,那么求得这个测试样本为好瓜的概率就为0了,所以要进行平滑。

其中N表示训练集D中可能的类别数,如:乳腺癌中的良性与恶性N=2。
其中表示第i个属性可能的取值数。
虽然修正后这个未出现过的属性值的类条件概率很小,但是由于其他属性值的存在,连乘后便可以帮助其进行正确分类了。

7.4半朴素贝叶斯分类器

在朴素贝叶斯分类器中假设所有属性相互独立(现实中基本不可能的),这里我们放松一下假设,考虑部分属性键的相互依赖。半朴素贝叶斯分类器常采用的策略独依赖估计,即假设每个属性在类别之外最多仅依赖一个其他属性,得到:其中为所依赖的属性,称为的父属性。
如果父类属性已知我们就可以通过式子1来求估计,所以半朴素贝叶斯分类器在于如何确定其父属性,不同的做法产生不同的独依赖分类器。

这里介绍三种独依赖分类器:
①SPODE,所有属性都依赖于同一个属性,称为“超父”,可以通过交叉验证等模型来确定超父。

20190826212509825.jpg

②TAN是一种基于最大权生成树算法的基础上,通过四个步骤来生成独依赖分类器:
      (1)计算如何两个属性之间的条件相互信息: ;
      (2)以属性为结点构建完全图,任意两个结点之间便的权重设为 ;
      (3)构建此完全图的最大带权生成树,挑选根变量,将边置为有向;
      (4)加入类别结点y,增加从y到每个属性的有向边。
TAN.jpg

③AODE,是一种基于集成学习机制、更为强大的独依赖分类器。尝试将每个属性作为超父类构建SPODE,将那些有足够训练数据支持的SPODE集成起来作为最终结果,即 其中 是在第i个属性上取值为 的样本的集合,m'为阈值。

7.5贝叶斯网

贝叶斯网又称“信念网”,用有向无环图(DAG)来刻画属性间的依赖关系,用条件概率表(CPT)来描述属性的联合分布。一个贝叶斯网B由结构G(有向无环图,每个结点对应一个属性)和参数θ(描述属性的依赖关系,假定属性在G中的父结点为,则θ包含每个属性的条件概率表)构成,即B=
1、结构
贝叶斯网结构有效的表达了属性间的条件独立性。给定父结点集,贝叶斯网假设每个属性与它的非后裔属性独立。
B=将属性的联合概率分布定义为:
2.学习
贝叶斯网中如果条件已知,那么条件概率可求。所以贝叶斯网最主要就是确定网络结构。
评分搜索是求解结构的常用方法,定义一个评分函数,以此来评估贝叶斯网与训练数据的契合程度,然后基于这个评分函数来寻找结构最优的贝叶斯网。
但是这一方法容易陷入NP难题,难以快速求解,所以经常使用两种方法求得近似解。①贪心法,从某个网络结构出发每次调整一条边(增加、删除、调整方向),直到评分函数不再下降为止。②是通过给网络结构施加约束来削减搜索空间,例如将网络结构限定为树形结构等。
3.推断
贝叶斯网训练完可以通过已有的属性来推出待查询的属性,这一过程称为“推断”已知的变量观测值称为“证据”。如我们可以通过西瓜已有的属性值色泽=“乌黑”,敲声=“清脆”等,来推出其是否为好瓜。
贝叶斯网的近似推断常用吉布斯采样

吉布斯采样的算法过程.png

对于吉布斯采样若不懂可以看一下这一博客,里面具了一简单例子来帮助理解这一算法过程

7.6EM算法

在现实中若一些属性值无法观测出,导致一些训练样本不完整,如西瓜的根蒂个别脱落。这些未观测变量称为“隐变量”。

令X表示已观测变量,Z表示隐变量集,θ表示模型参数,按照极大似然估计的思路,我们依然是想找出令训练集被观测到的概率最大的模型参数 θ。也即最大化对数似然:
而因为Z是隐变量,所以该式子是没法求的,此时我们通过计算对Z的期望,来最大化以观测数据的对数“边际似然”
EM算法:①设定初始θ
                  ②基于当前推断隐变量Z的期望,记为
                  ③基于已观测的变量和步骤②的对参数θ做极大似然估计,记为
                  ④若未收敛(如与的差大于阈值),则返回第二步直到收敛。
EM算法可看作坐标下降法来最大化对数似然的过程,每次固定一个参数对另一个进行优化,直到收敛或求得局部最优解。

参考:(https://blog.csdn.net/TeFuirnever/article/details/100070548)
(https://blog.csdn.net/shandianke/article/details/76599872)
实例代码

你可能感兴趣的:(西瓜书 第七章 贝叶斯分类器)