机器学习技法--Adaptive Boosting

本文参考整理了Coursera上由NTU的林轩田讲授的《机器学习技法》课程的第八章的内容,主要讲解了Adaptive Boosting的引入动机、如何通过加权example来获得多样的假设函数、AdaBoost的伪代码实现及其在现实生活中的应用等。文中的图片都是截取自在线课程的讲义。
欢迎到我的博客跟踪最新的内容变化。
如果有任何错误或者建议,欢迎指出,感激不尽!
--

本系列文章已发八章,前七章的地址如下:


Motivation of Boosting

一个简单类比

想像一个小学老师教小学生如何分辨一张图片是否是一个苹果的场景,老师在网络上搜集了很多苹果的图片。

10张苹果的图片

10张非苹果的图片

你怎样描述一个苹果的特征?

  • Michael:

苹果是圆形的

蓝色部分表示错误识别为苹果的例子或者没有正确识别出苹果的例子。

课堂已经获得的特征:

  1. 苹果是圆形的(Michael)

老师可能会把错误的例子举出来,把分类正确的例子缩小,把错误的例子放大,投入更大的关注,再寻找特征。

  • Tina:

苹果是红色的

课堂已经获得的特征:

  1. 苹果圆圆的(Michael)
  2. 苹果红红的(Tina)

老师继续放大错误的,缩小正确的

老师:的确,大部分苹果是红色的,但是只靠圆形和红色来区分苹果还是有可能犯错,你有其他的建议吗?Joey?

  • Joey:

苹果也可能是绿色的

课堂已经获得的特征:

  1. 苹果圆圆的(Michael)
  2. 苹果红红的(Tina)
  3. 苹果可能是绿色的(Joey)

老师继续放大错误的,缩小正确的

  • Jessica:

苹果上面有茎

课堂已经获得的特征:

  1. 苹果圆圆的(Michael)
  2. 苹果红红的(Tina)
  3. 苹果可能是绿色的(Joey)
  4. 苹果上面有茎(Jessica)

通过不断集中于分类不太完美的例子,寻找新的特征描述,我们得到了比原来更加丰富的对苹果的认知,这就是逐步增强法(adaptive boosting)的原理所在。

Motivation

对应到我们的adaptive boosting algorithm的概念中

学生:代表一些很简单的hypotheses gt(就像垂直/水平分隔线)

班级:整个班级有很多学生,就是一个复杂的hypothesis G(就像下图中黑色的实线),就是灰线的aggregation。

老师:一个循循善诱的学习算法,它使得学生去专注于犯过错的关键样例中。

下一节,我们将介绍逐步增强法的数学形式。

Diversity of Re-weighting

Bootstrapping as Re-weighting Process

Bagging的核心就是bootstrapping

在base algorithm中获得gt的要求可能如下

既然两笔(X1,y1)一样,不妨写成更简洁的形式

我们给每笔资料添加一个权重u

显然,两种表示方式等价。

这样,Bagging所做的就是通过bootstrapping产生这些u

base algorithm尝试最小化bootstrap-weighted error.

Weighted Base Algorithm

Bagging中u都是整数,但既然u是权重,自然可以推广到全体实数。

如何求解带有权重的Ein最小化问题呢?

SVM

比如,在SVM中,我们使用C来表示0/1错误的权重,加上权重u后

un就会跑到αn的上限位置,因此求解weighted SVM是容易的。

Logistic Regression

SGD抽样时候的概率大小不同,被抽到的概率与un成正比。

因此,把un放到algorithm中,不是特别困难。如果你学过《机器学习基石》的第8章,可能记得我们讲过class-weighted,不同类别的错误代价不同,现在不是+1或-1哪一种更重要,而是哪一个点更重要,即example-weighted是class-weighted的扩展。

因此,求解weighted base algorithm不是困难点,先想象我们已经会做这件事情了。

Re-weighting for More Diverse Hypothesis

既然,我们的base algorithm会根据u回传g,那么,我们希望g越不一样越好,怎样的u能保证这一点?

how to re-weight for more diverse hypotheses?

如果gt对于u(t+1)表现很差,那么像gt的hypotheses都不会被传回作为g(t+1),因此g(t+1)和gt差别就很大。

表现很差如何衡量?

gt对u(t+1)的预测错误的概率,和随便猜的几率差不多,即1/2(样本平衡的状态下)。

Optimal Re-weighting

我们需要

一种可能的方法是重新放缩权重

如果第t轮错误率为εt,正确率则为1-εt。

'最优的'重新放缩方法是正确的点所对应的un乘上错误率εt,错误的点的un乘上正确率(1-εt)。

Adaptive Boosting Algorithm

Scaling Factor

定义放缩因子

与上节的放缩效果等价。

◇t告诉了我们更多物理意义,比如如果◇t>=1,则当且仅当εt<=1/2

base algorithm应该比乱猜的效果好,则εt<=1/2,则◇t应该大于1,也就是错误的真的被放大了,正确的真的被缩小了,也就是我们之前讲的"放大错误、缩小正确",正如刚才的类比中的老师所做的事情。

A Preliminary Algorithm

  • 希望g1能对Ein最优,即un(1) = 1/N
  • G(X)如何aggregate这些g呢?
  1. uniform g1做好了D1,但g2在D1上应该做得很糟,一人一票,也许不会做得很好
  2. linear,non-linear? as you wish

接下来,介绍一种在计算g中顺便将g线性融合的特殊算法。

Linear Aggregation on the Fly

α怎么计算?

  • 希望好的g能多给一点票,即α大一点,而坏的g的α小一点。
  • 那么什么是好的g?

好的g,Ein(u)比较小,错误率ε比较小,那么◇比较大,那么αt应该是某个单调函数(◇t),设计该演算法的人使用了单调函数ln()。


如果ε=1/2,则◇t=1 ==> αt = 0 (对于坏的gt的权重为0)
如果ε=0,则◇t=∞ ==> αt = ∞ (好的g有更大的权重)

因此,adaptive boosting = 弱弱的base learning algorithm A(学生) + 最优的重新加权因子◇t(老师) + '神奇的'线性aggregation系数αt(班级)。

Adaptive Boosting (AdaBoost) Algorithm

AdaBoost:三个臭皮匠,胜过诸葛亮。

AdaBoost的理论保证

VC bound

  • 第一项可以做得很小,理论已经证明 Ein(G) = 0 after T = O(log N)轮。(如果总有εt<=ε<1/2,即base algorithm比"乱猜"表现好)
  • 第二项T很小、N很大,则整体也很小

则Eout(G)也很小,则实际表现很好。

从boosting的角度看待AdaBoost:

只要base algorithm A稍微比"乱猜"好一点,那么通过AdaBoost + A就可以使它变得很强(Ein = 0 && Eout 很小)。

Adaptive Boosting In Action

decision stump

一个流行的选择:决策桩

它是在某个单一的feature上的正/负向射线,有三个参数(feature i、threshold θ、direction s)。

可以通过枚举(i,θ,s)的组合,真的做到最好。
物理意义:2D平面上的垂直/水平线。
优化效率:O(d*NlogN)

decision stump如果单独用,大部分情况下太弱了,但配合AdaBoost可以变强,且允许有效率地最小化Ein(u)。

A Simple Data Set

'Teacher'-like algorithm works!

A Complicated Data Set

边界是一个类似sin的形状

AdaBoost-Stump: non-linear yet efficient

AdaBoost-Stump in Application

世界上第一个'实时'人脸识别程序

  • AdaBoost-Stump作为核心模型,从24*24的小图块的162336个可能性中选择出来关键的图案,然后进行线性aggregation,即通过AdaBoost-Stump来进行特征选择。
  • 修改了线性融合G,提前排除非人脸部分。

AdaBoost-Stump: efficient feature selection and aggregation

Mind Map Summary


我们讲过了Bagging,它是Learning Uniform Aggregation;我们讲过了AdaBoost,它是Learning Linear Aggregation。在下一章,我们将介绍一种Learning Conditional Aggregation的方法,即决策树(Decision Tree),敬请关注。

如果您对这一系列文章感兴趣,欢迎订阅我的专题或者关注我以获得最新的更新信息!

本文首发于我的博客,如果您想提前看到更多的内容或者懒于寻找之前的章节,可以直接来我的博客阅读长文版,感谢您的鼓励支持!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念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

推荐阅读更多精彩内容

  • Weighted Base Algorithm (1)基本算法引入权重 在之前介绍的SVM算法中,对于一个错误扣除...
    JasonDing阅读 1,050评论 0 5
  • 引言 上一节中介绍了《随机森林算法》,该算法使用bagging的方式作出一些决策树来,同时在决策树的学习过程中加入...
    JasonDing阅读 5,694评论 1 15
  • 注:题中所指的『机器学习』不包括『深度学习』。本篇文章以理论推导为主,不涉及代码实现。 前些日子定下了未来三年左右...
    我偏笑_NSNirvana阅读 39,898评论 12 145
  • text-align: center的作用是什么,作用在什么元素上?能让什么元素水平居中? text-align:...
    7a9d36c8963d阅读 347评论 0 0
  • 记得2014年结束时,赶上大学毕业前的最后一次元旦晚会,大家很积极地参加表演。我也不例外,短暂的快乐过后,很多人感...
    小韩不止聊健康阅读 273评论 2 0