机器学习-贝叶斯分类器

积跬步以致千里,积怠惰以致深渊

注:本篇文章在整理时主要参考了 周志华 的《机器学习》。

主要内容

通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。

先验概率:指根据以往经验和分析得到的概率;

后验概率:通过调查或其它方式获取新的附加信息,利用贝叶斯公式对先验概率进行修正,而后得到的概率。

举例说明:想象有 A、B、C 三个不透明的碗倒扣在桌面上,已知其中有(且仅有)一个瓷碗下面盖住一个鸡蛋。此时请问,鸡蛋在 A 碗下面的概率是多少?答曰 1/3。紧接着,有人揭开了 C 碗,发现 C 碗下面没有蛋。此时再问:鸡蛋在 A 碗下面的概率是多少?答曰 1/2。注意,由于有“揭开C碗发现鸡蛋不在C碗下面”这个新情况,对于“鸡蛋在 A 碗下面”这件事的主观概率由原来的 1/3 上升到了1/2。这里的先验概率就是 1/3,后验概率是 1/2。

也就是说“先”和“后”是相对于引起主观概率变化的那个新情况而言的。

贝叶斯决策

假设 n维特征向量:x=<x1,x2,...,xn> ;类别标签集合:y∈{c1,c2,...,ck} ;特征向量x属于类别ci的概率:P(y=ci | x)。

我们决策的目标是最小化分类错误率,贝叶斯最优分类器要对每个样本 x,选择能使后验概率 P( y=ci | x )最大的类别 c 标记。可在现实任务中后验概率通常难以直接获得,依据贝叶斯定理 P( y=ci | x ) 可写为:

将求后验概率P(y=ci | x)的问题转变为求先验概率P(y=ci)和条件概率P(x | y=ci)。

P( y=ci )

类先验概率 P( y=ci ) 表达了样本空间中各类样本所占的比例,根据大数定律,当训练集包含充足的独立同分布样本时,P(c) 可通过各类样本出现的频率来进行估计。

P( x | y=ci )

因为对于类条件概率 P( x | y=ci ) 来说,由于它涉及关于 x 所有属性的联合概率,直接根据样本出现的频率来估计将会遇到严重的困难(想象一下,d 个属性就会有 2 的 d 次方种可能的取值,在现实中,这个种类数往往大于训练样本)。

极大似然估计

针对这种情况,类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计。实际上,概率分布的训练过程就是参数估计(parameter estimation)过程。对于条件概率 P( x | y=ci ),我们可以采用极大似然估计来根据数据采样来估计概率分布参数。对参数进行极大似然估计,就是试图在参数所有可能的取值中,找到一个能使数据出现的“可能性”最大的值。

需注意的是,这种参数化的方法虽然能使类条件概率估计变得相对简单,但估计结果的准确性严重依赖于所假设的概率分布形式是否符合潜在的真实数据分布。

极大似然估计是对类条件概率的分布形式进行假设,然后通过计算来对概率分布参数进行近似的方法,其是在对联合概率上的求解。但是,我们要对数据进行准确分类是否真的需要进行这么复杂的求解过程呢?本章针对样本属性间的独立性不同介绍了不同的使用贝叶斯决策论构建分类器的方法,下边我将一一进行介绍。

朴素贝叶斯分类器

朴素贝叶斯分类器(naive Bayes classifier)是采用了“属性条件独立性假设”的一种分类器:其通过对已知类别,假设所有属性相互独立,来避开联合概率这个障碍。因为这个假设在大多数情况都是不成立的,这也正是“朴素(naive)”的来源。(假设我们需要胸围、腰围、臀围来描述一个人的特征,很显然特征属性之间不是独立的)在属性条件独立的假设基础下,类条件概率可表示为:

其中 d 为属性数目,xi 为 x 在第 i 个属性上的取值。

显然,朴素贝叶斯分类器的训练过程就是基于训练集 D 来估计类先验概率 P(c), 并为每个属性估计条件概率 P( xi | c )。

对离散属性而言,令 Dc 表示数据集在类别 c 上的样本数,Dc,xi 表示 Dc 中在第 i 个属性上取值为 xi 的样本组成的集合, 则条件概率 P( xi | c) 可估计为。

对连续属性可考虑概率密度函数,假定p(xi|c)~N(μc,i, σ^2c,i),其中μc,i和σ^2c,i分别是第c类样本在第i个属性上取值的均值和方差,则:

拉普拉斯修正

若某个属性值在训练集中没有与某个类同时出现过,则直接进行概率估计和判别连乘式计算出的概率值为零(即,当其中任意一个属性的概率 P( xi | c ) 为0时,会导致总的类条件概率 P( x | c ) 为0)。因此,无论该样本的其他属性是什么,哪怕在其他属性上明显是“是”,分类结果都将是“否”,这显然不太合理。

为了避免其他属性携带的信息被训练集中未出现的属性值“抹去”,在估计概率值时通常要进行“平滑(smoothing)”,常用“拉普拉斯修正(Laplacian correction)”。具体来说,另N表示训练集D中可能的类别数,Ni表示第i个属性可能的取值数,则:

拉普拉斯修正避免了因训练集样本不充分而导致概率估值为零的问题,并且在训练集变大时,修正过程所引入的先验(prior)的影响也会逐渐变得可忽略,使得估值渐趋向于实际概率值。

上式的计算结果通过简单的统计工作即可得到,这大大的降低了训练的难度。

半朴素贝叶斯分类器

朴素贝叶斯分类器采用了属性条件独立性假设,但在现实任务中,这个假设往往很难成立。于是尝试对条件独立性假设进行一定程度的放松,产生了一类成为“半朴素贝叶斯分类器(semi-naive Bayes classifiers)”的学习方法。

基本思想:适当考虑一部分属性间的相互依赖信息,从而既不需进行完全联合概率计算,又不至于彻底忽略了比较强的属性以来关系。

独依赖估计(One-Dependent Estimator,简称ODE)是半朴素分类器最常用的一种策略,顾名思义,所谓“独依赖”就是假设每个属性在类别之外最多仅依赖于一个其它属性。这时类条件概率可转化为:

P( x | c ) = P( x1 | c, pa1 ) * P( x2 | c, pa2 ) * ... * P( xd | c, pad )

其中 pai 为属性 xi 所依赖的属性,称为 xi 的父属性。对每个属性,若其父属性已知,则可采用类似式(3)的办法来估计概率值 P( xi | c, pai )。

于是,问题的关键就转化为如何确定每个属性的父属性,不同的做法产生不同的独依赖分类器。

[1]所有属性都依赖于同一个属性:SPODE(Super-Parent ODE)

[2]最大带权生成树算法基础上构建依赖:TAN(Tree Augmented naive Bayes)

[3]对每个属性构建SPODE,并将结果集成起来作为最终结果:AODE(Averaged One-Dependent Estimator)

总结

1)贝叶斯分类器是基于贝叶斯决策论的基础上构建的,目的是对每个样本 x,选择能使后验概率 P( c | x )最大的类别标记

2)现实中 P( c | x ) 较难获得,所以将求后验概率 P( c | x ) 的问题转变为求先验概率 P( c ) 和条件概率 P( x | c )

3)根据大数定律,P( c ) 可通过各类样本出现的频率来进行估计

4)在完全遵守“属性条件独立性假设”时,类条件概率 P( x | c ) 可通过每个属性单独的条件概率的乘积得到

5)在适当放松“属性条件独立性假设”时,类条件概率 P( x | c ) 可通过每个属性在其父结点下的条件概率的乘积得到

6)在不清楚属性的条件独立性情况时,贝叶斯网是一个有效的算法,能对属性之间的依赖关系进行计算和评估,以找出一个最佳的分类模型

7)贝叶斯网学习的首要任务就是根据训练数据集来找出结构最“恰当”的贝叶斯网结构

8)拉普拉斯修正实质上假设了属性值与类别均匀分布,这是在朴素贝叶斯学习过程中额外引入的关于数据的先验。

9)“平滑”处理是解决零这个特殊值对结果不利影响的一个好策略

10)当遇到不完整的训练样本时,可通过使用EM算法对模型参数进行估计来解决

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

推荐阅读更多精彩内容