前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习|AdaBoost

机器学习|AdaBoost

作者头像
数据山谷
发布2020-07-21 15:16:59
6520
发布2020-07-21 15:16:59
举报
文章被收录于专栏:数据山谷

01

基本思想

对于分类问题而言,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类规则(强分类器)容易的多,提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(基本分类器),然后组合这些弱分类器,构成一个强分类器。大多数的提升方法都是改变训练数据的概率分布,针对不同的训练数据分布调用弱学习算法学习一系列弱分类器。

对于提升方法来说,有两个问题需要回答:一是在每一轮如何改变训练数据的权值或概率分布;二是如何将弱分类器组合成一个强分类器。关于第一个问题,Adaboost的做法是,提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。这样,那些没有得到正确分类的数据,由于其权值加大而受到后一轮的弱分类器的更大关注;对于第二个问题,Adaboost采取了加权多数表决的方法,具体的做法是加大分类误差率小的弱分类器的权值,使其在表决中起较大的作用,见效分类误差率大的弱分类器的权值,使其在表决中起较小的作用

02

AdaBoost算法

我们用一张图来展示一下最终分类器的形式:

03

数学原理

系数的设定

损失函数的设定

我们了解了系数的设定,但是系数中用到了一个损失函数,那么对于这个损失函数我们为什么这样定义呢?

若损失函数达到最小时,G(x)可以达到最佳分类效果,我们就可以解释损失函数为什么要这样去定义了。

我们先将损失函数重写为分布的形式:

所以当L(G)达到了关于G(x)的极小时,sign{G(x)}是最小错误率贝叶斯情况下的分类器。这就说明了这样选择损失函数的原因。

04

AdaBoost例子

这里拿李航博士《统计学习方法》中的例子来说明一下:

我们有下表所示的训练数据,假设弱分类器由x<v或x>v产生,其阈值v使该分类器在训练数据集上分类误差率最低,我们尝试使用Adaboost来学习一个强分类器。

序号

1

2

3

4

5

6

7

8

9

10

x

0

1

2

3

4

5

6

7

8

9

y

1

1

1

-1

-1

-1

1

1

1

-1

初始化数据权值分布:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据山谷 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档