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

7.1贝叶斯决策论

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

假定有N种可能的标记类别,即\gamma=\{c_1,c_2,..,c_N{\}},\lambda_{ij}是将一个真实标记为c_j的样本分为c_i所产生的损失。基于后验概率P(c_i|x)可以将样本x分类为c_i所产生的期望损失,即样本x的条件风险记为:
R(c_i|x)=\sum_{j=1}^N\lambda_{ij}P(c_j|x)
要怎么理解这个公式呢?首先是等式左边,将样本x分为c_i所产生的代价,而等式右边既然我们将x分为c_i但是如果样本是c_j那么我们就要付出代价,所以等式左边是x为c_j的概率称为分类错误的损失,只有当i=j时损失为0,所以这个等式是计算将样本分为某个类别所产生的损失或者所需要付出的代价。

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

h^*(x)=arg\min_{c∈\lambda}R(c|x)
此时,h^*被称为贝叶斯分类器R(h^*)称为贝叶斯风险

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

R(c_i|x)=1*P(c_1|x)+1*P(c_2|x)...+0*P(c_i|x)...+1*P(c_N|x)整理后就得到条件风险了。
R(c|x)=1-P(c|x)

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

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

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

7.2极大似然估计

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

具体一点来说明,记关于类别C的类条件概率为P(c|x),假定P(c|x)具有确定的形式并且被参数向量\theta_c唯一确定,我们的任务就是利用训练集D估计参数\theta_c。为明确起见我们将p(c|x)记为P(x|\theta_c)。
D_c表示训练集D中第c类样本组成的集合,假设这些样本独立同分布,则参数\theta_c对于数据集D_c的似然:P(D_c|\theta_c)=\Pi_{x∈D_c}P(x|\theta_c)
由于连乘容易造成下溢,通常使用对数似然:
LL(\theta_c)=\log{P(D_c|{\theta_c})}=\sum_{x∈D_c}\log{P(x|{\theta_c})}
所谓的极大似然估计就是找出令似然最大的参数\theta_c,所以只要对上面的式子求导得到最大来取得\theta_c的值就可以,知道了\theta_c就可以求得类条件概率了。
【补充:假设若某种分布为正太分布,即类条件概率服从正太分布,那么\theta_c即为方差和均值,此时的\theta_c不再是一个参数了,而是一个参数向量了,那么求导就变成了求偏导,课本给出一个结论通过极大似然估计求得若其服从正太分布,那么均值为样本均值,方差是(x-\hat{u_c})(x-\hat{u_c})^T的均值。】

7.3朴素贝叶斯分类器

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

在朴素贝叶斯分类器训练过程就是利用训练集来估计类条件概率和先验概率
先验概率:P(c)=\frac{|D_c|}{|D|}其中D_c表示训练集D中第c类样本组成的集合。
类条件概率:①离散型属性P(x_i|c)=\frac{|D_{c,x_i}|}{|D_c|},其中D_{c,x_i}表示D_c中在第i个属性上取值为x_i的样本组成的集合。
                        ②连续属性,假定p(x_i|c)~N(u_{c,i},\sigma^2_{c,i}),其中u_{c,i},\sigma^2_{c,i}分别是第c类样本在第i个属性上取值的均值和方差,则有P(x_i|c)={\frac{1}{\sqrt{2\pi}\sigma_{c,i}}}exp(-\frac{(x_i-u_{c,i})^2}{2\sigma_{c.i}^2})

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

平滑

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

\hat{P(c)}=\frac{|D_c|+1}{|D|+N}其中N表示训练集D中可能的类别数,如:乳腺癌中的良性与恶性N=2。
\hat{P(x_i|c)}={\frac{|D_{c,x_i}|+1}{{|D_c|+N_i}}}(式子1)其中N_i表示第i个属性可能的取值数。
虽然修正后这个未出现过的属性值的类条件概率很小,但是由于其他属性值的存在,连乘后便可以帮助其进行正确分类了。

7.4半朴素贝叶斯分类器

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

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

20190826212509825.jpg

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

③AODE,是一种基于集成学习机制、更为强大的独依赖分类器。尝试将每个属性作为超父类构建SPODE,将那些有足够训练数据支持的SPODE集成起来作为最终结果,即P(c|x){\propto}\sum^d_{{i=1},{|D_{x_i}≥m'|}}P(c,x_i){\Pi}_{j=1}^dP(x_j|c,x_i)其中D_{x_i}是在第i个属性上取值为x_i的样本的集合,m'为阈值。

7.5贝叶斯网

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

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

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

7.6EM算法

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

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

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

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容