集成学习

机器学习有监督学习算法的最终目标是学习出一个稳定的且在各个方面表现都较好的模型,然而现实是有时候我们只能得到多个有偏好的模型(弱监督模型,在某些方面表现的比较好)。集成学习(ensemble learning)通过组合多个弱监督模型得到一个更好更全面的强监督模型,其潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。现在主流的分类、回归、异常检测、特征筛选都可以使用集成学习达到更好的精度。更值得一提的是集成学习在各个规模的数据集上都有很好的策略:

  • 大数据集:划分成多个小数据集,学习多个模型进行组合

  • 小数据集:利用Bootstrap方法进行抽样,得到多个数据集,分别训练多个模型再进行组合

要得到这样一个较为全面的强监督模型,需要先解决两个至关重要的问题:

  • 如何确定弱学习器,使得组合得到的组合模型是高效、准确的;
  • 如何确定一种集成策略,使弱学习器通过这种组合策略成为一个强学习器;

集成学习中弱学习器的选择

从理论上说,几乎所有的机器学习模型都可以作为弱学习器来组合成强监督模型,决策树、神经网络、支持向量机、逻辑回归、线性回归、非线性回归等等。一般来说,按照使用的弱学习器是否相同将集成学习分为两类:一类是所有弱学习器都属于同一类型,是同质的,随机森林就是以决策树为弱学习器集成的;另一类则是所有学习期不全是一种类型,是异质的,例如,对于一个分类模型,我们可以使用逻辑回归模型。神经网络、支持向量机作为弱学习器经过某种集成策略得到一个更加精确的分类器。

目前来说,同质弱学习器的应用是最广泛的,一般我们常说的集成学习方法都是指的同质弱学习器。而同质弱学习器中被使用最多的模型是CART决策树和神经网络。同质弱学习器按照弱学习器之间是否存在依赖关系可以分为两类,第一个是弱学习器学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成,代表算法是boosting系列算法,第二个是弱学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging和随机森林(Random Forest)系列算法。

Bagging:基于数据随机重抽样的分类器构建方法

自举汇聚法(bootstrap aggregating),也称bagging方法,给定一个大小为​的数据集​,Bagging算法从中均匀、有放回地(自助抽样法,区别于梯度提升树的无放回抽样)选出​个大小为​的子集​作为新的训练集。在这​个训练集上使用算法,则可得到多个模型,再通过取平均值、取多数票等方法,即可得到Bagging的结果。因为不同的模型通常不会在测试集上产生完全相同的误差,故而可以极大降低模型的泛化误差。Bagging算法可与其他分类回归算法结合,提高其准确率、稳定性的同时,通过降低结果的方差,避免过拟合的发生。

对于一个样本,它在某一次含​个样本的训练集的随机采样中,每次被采集到的概率是​。不被采集到的概率为​。如果​次采样都没有被采集中的概率是​。当​时,​(具体的证明过程附在文章最后)。也就是说,在bagging的每轮随机采样中,训练集中大约有​的数据没有被采样集选中。对于这部分没有被采样到的数据,我们常常称之为袋外数据(Out Of Bag, 简称OOB),由于没有参与训练集模型的拟合,可以使用这些数据来检测模型的泛化能力。

  1. 新数据集和原始数据集的大小相等。
  1. 每个数据集都是通过在原始数据集中随机选择一个样本来进行替换而得到的。替换:意味着可以多次地选择同一样本。这一性质允许新数据集中可以有重复的值,而原始数据集的某些值在新集合中则不再出现。

关于Bagging的算法流程如下:

Bagging

从上图可以看出,bagging的个体弱学习器的训练集是通过随机采样得到的。通过T次的随机采样,可以得到T个采样集,使用这T个采样集,可以分别独立的训练出T个弱学习器,再对这T个弱学习器通过集合策略来得到最终的强学习器,需要注意的是这些个体弱学习器之间是没有任何依赖关系的

。随机森林基于Bagging的思想使用决策树作弱学习器,但是更进一步进行特征的随机选择来训练弱学习器,不过仍属于Bagging的范畴。

Boosting:基于误差下降的分类器构建方法

提升(boosting)方法是一种常用的统计学习方法,应用广泛且有效。在分类问题中,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。Boosting的本质思想其实就是“三个臭皮匠顶一个诸葛亮”

Boosting算法的机制是首先从训练集用初始权重训练出一个弱学习器1,根据弱学习器的学习误差率表现来更新训练样本的权重,使得之前弱学习器1学习误差率高的训练样本点的权重变高,让这些误差率高的样本在后面的弱学习器2中得到更多的重视,然后基于调整权重后的训练集来训练弱学习器2,从而降低这部分样本的误差率。如此重复进行,直到弱学习器数达到事先指定的数目T,最终将这T个弱学习器通过集合策略进行整合,得到最终的强学习器。

Boosting系列算法里最著名算法主要有AdaBoost算法和提升树(boosting tree)系列算法。提升树系列算法里面应用最广泛的是梯度提升树(Gradient Boosting Tree)。之后有时间会单独另开一篇文章进行介绍。

集成策略

  • 平均值法

    对于回归问题,通常使用的集成策略是平均值法,也就是由若干弱学习器输出的平均值(算术平均或加权平均)来作为整个模型最终的输出值。

  • 投票法

    对于分类问题,通常使用的集成策略是投票法。最简单的投票法是相对多数投票法,在T个弱学习器的对样本的预测结果中,取数量最多的类别为最终的分类类别。如果不止一个类别获得最高票,则随机选择一个做最终类别。

    稍微复杂的投票法是绝对多数投票法,也就是我们常说的要票过半数。在相对多数投票法的基础上,不光要求获得最高票,还要求票过半数。否则会拒绝预测。

    更加复杂的是加权投票法,和加权平均法一样,每个弱学习器的分类票数要乘以一个权重,最终将各个类别的加权票数求和,最大的值对应的类别为最终类别。

  • 学习法

    平均值法和投票法只是将若干弱学习器的输出进行简单的逻辑处理来得到集成模型最终的输出,这显然是较为粗糙的,并且学习误差率虽然相较弱学习器有了很大的下降,但是误差率仍会较大。此时可采用学习法,学习法中比较具有代表性的是Stacking,Stacking方法另辟蹊径将若干弱学习器的输出作为输入训练一个新的学习器并使用该学习器的输出作为模型的最终输出。在Stacking中,将弱学习器称为初级学习器,而用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。直观来看Stacking很像一个浅层前馈神经网络,当然二者的本质是全然不同的,在实际使用时为避免模型过拟合,通常使用逻辑回归作为次级学习器。

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

推荐阅读更多精彩内容

  • (第一部分 机器学习基础)第01章 机器学习概览第02章 一个完整的机器学习项目(上)第02章 一个完整的机器学习...
    SeanCheney阅读 5,164评论 0 17
  • 假设你去随机问很多人一个很复杂的问题,然后把它们的答案合并起来。通常情况下你会发现这个合并的答案比一个专家的答案要...
    城市中迷途小书童阅读 2,479评论 0 1
  • About 个人同时在简书和自制个人博客两个地方同时更新文章,有兴趣的话可以来我的博客玩呀,一般而言排版会好不少。...
    DeamoV阅读 2,946评论 0 1
  • 集成学习 原理 《机器学习》周志华 8.1 个体与集成 集成学习(ensemble learning) 通过构建并...
    hxiaom阅读 1,007评论 0 2
  • 这是一个恬静的乡村,你瞧,这里的风景多美呀!湛蓝的天空中,三只白色的鸟儿在高空自由地飞翔。鸟儿在阳光的投射下展翅高...
    毛小驴613阅读 634评论 0 0