机器学习经典算法 - Bagging & Boosting

Ensemble Learning

集成学习通过整合多个不同模型来实现对复杂问题的更准确建模,其实现方式多样,但共同的特征是:从总体数据集的多个子集中发掘出针对该子集具有分类能力,但不一定在其他子集当中同样有效的特征,通过该特征分别实现数据集的分类,再将结果进行集成。

Bagging & Boosting 是集成学习的典型代表。最简单的 Ensemble Learning 就是通过将数据随机划分多个子集,在每个子集上进行拟合,再将最终结果进行平均化,这种方法也被称为 Bagging,或者称为 Bootstrap aggregation,其实现优化的原理在于其可以通过平均化差异使得最终的模型可以有效的防止异常数据的影响。

Boosting

在此重点介绍以 AdaBoost (Adaptive Boosting) 为代表的 Boosting 算法,Boosting 算法想解决的核心问题就在于是否可以通过一系列的 Weak Learner 的组合来实现一个更高性能的 Learner 模型,这个过程中的性能增强也就是 Boosting 这个名称的由来。AdaBoost 算法中涉及到的两个重要的概念是 Weak learner 和样本权重:

  • Weak Learner:被定义为对于服从任意分布 D 的样本,其分类准确率仅需高于随机猜测的结果,在实际算法中 Weak Learner 可以是任意已知的监督学习方法,如 SVM,线性回归,逻辑回归,甚至是深度神经网络,但最常用的是决策树

What weak learner you should choose is then a trade off between 3 factors:

  • The bias of the model. A lower bias is almost always better, but you don't want to pick something that will overfit (yes, boosting can and does overfit)
  • The training time for the weak learner. Generally we want to be able to learn a weak learner quickly, as we are going to be building a few hundred (or thousand) of them.
  • The prediction time for our weak learner. If we use a model that has a slow prediction rate, our ensemble of them is going to be a few hundred times slower!
  • 样本权重:在实际问题中,很可能存在的情况是某些样本相对另一些样本来说出现的可能性更大,此时仅仅采用平均化的方式过于简化,在实际的 Boosting 算法中一般采用加权平均的方式

The observation weight might come in as domain knowledge for example, we may know, based on past experience, that we are more likely to encounter a training example j compared to example k. Therefore we should assign a larger weight to example j, since it is the one that will have a greater influence on our function approximation process.

对于样本给予权重的一个好处是我们可以在计算分类器的误差的同时也将样本权重考虑在内。具体地,对于一个包含 N 个样本的样本集 (xi, yi),xi 为包含多个特征的向量,yi 的取值为 -1 或 1,假设对于任意一个分类器 G 来说,其针对任意输入 xi 对应的预测值为 G(xi) ∈ {-1, 1},此时在不考虑样本权重时可以通过统计被错误分类的样本数量来计算误差值:

  • error = ΣI(yi ≠ G(xi)), i = 1, 2, ... , N

在考虑权重后,这一误差值则可以改进为:

  • error = ΣwiI(yi ≠ G(xi)) / Σwi, i = 1, 2, ... , N

AdaBoost 算法实现

AdaBoost 算法的实现过程为:

  • 首先初始化各个样本的权重值,令 wi = 1 / N

  • 对于 m = 1 到 M,循环执行:

    • 在考虑样本权重 wi 的前提下训练一个分类器 Gm(x)
    • 计算考虑权重的误差值 errm = ΣwiI(yi ≠ G(xi)) / Σwi, i = 1, 2, ... , N
    • 计算 αm = log((1 - errm) / errm)
    • 对于 i = 1, 2, ... , N,更新权重 wi = wi ⋅ eαmI(yi ≠ G(xi))
  • G(x) = sign[αmGm(x)], m = 1, 2, ... , M

上述计算过程中 αm 和 errm 的关系如下图所示,其中:

  • 当 errm < 0.5,也即若分类器的误差表现高于随机猜测时,αm > 0,且误差 errm 越小,αm 越大,也即当前这个分类器 Gm(x) 的准确率越高

  • 样本权重更新过程中,当 Gm(x) 无法准确分类样本 xi 时,wi 会变大,后续的分类器 Gm+1(x) 就会对这个样本更加重视,反之亦然

The AdaBoost algorithm trains multiple weak classifiers on training data, and then combines those weak classifiers into a single boosted classifier. The combination is done through a weighted sum of the weak classifiers with weights dependent on the weak classifier accuracy.

The relationship between α and error

注意事项

尽管 Boosting 在对抗过拟合方面有先天的优势,当采用深度神经网络作为 Weak learner 时,这一优势将不再明显。另外,当数据中存在 pink noise 也即 uniform noise 时,Boosting 仍然无法避免过拟合。

参考阅读

  1. What is a weak learner?

  2. The Boosting Approach to Machine Learning

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

推荐阅读更多精彩内容

  • 以西瓜书为主线,以其他书籍作为参考进行补充,例如《统计学习方法》,《PRML》等 第一章 绪论 1.2 基本术语 ...
    danielAck阅读 4,484评论 0 6
  • 这里总结了常见的几个机器学习算法:朴素贝叶斯、决策树、逻辑回归、线性回归、KNN、SVM、Boosting、聚类、...
    xzhren阅读 893评论 0 6
  • 以前一直画素描,慢慢地觉得颜色太过于单一,就尝试着画水彩。我喜欢颜色鲜艳的花,所以就在网上找了花儿的图片照着画。 ...
    Roby枫落阅读 323评论 0 0
  • 上午查房宣教,询问是否满意,都表示非常满意,关系紧张吗?20多年的工作经历有时候确实也会碰到不讲理的,可哪行哪业都...
    镶金边的云阅读 143评论 0 1
  • 初冬的下午的阳光隔着玻璃照在身上,暖暖的,让人觉得很舒服。屋子遮挡了已经有些寒意的风,我特意挑了一张靠窗的位子,...
    惊恐的小馄饨阅读 251评论 0 1