集成学习之boosting,Adaboost、GBDT 和 xgboost(一)

在前面的博客(https://blog.csdn.net/qq_16608563/article/details/82878127)
介绍了集成学习的bagging方法及其代表性的随机森林。此次接着介绍集成学习的另一个方法boosting以及boosting系列的一些算法,具体包括 Adaboost、GBDT和xgboost

boosting(提升)方法是一种常用的统计学习方法,应用广泛且有效。在分类问题中
,它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。与bagging不同的是,各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

提升方法AdaBoost算法

提升算法的基本思想:对于一个复杂的任务来说,将多个分类器的判断进行适当的综合得出的判断,要比任何一个分类器单独判断的结果要好。

强可学习与弱可学习:在概率近似正确的学习框架中(PAC),一个概念,如果存在一个多项式的学习算法可以学习它,并且正确率很高,那么称这个概念是强可学习的。
如果存在一个多项式的学习算法可以学习它,但学习的正确率仅仅比随机猜测略好,那么这个概念是弱可学习的。

结论:在PAC学习的框架下,一个概念是强可学习的充分必要条件是这个概念是弱可学习的。
那么问题来了,如果已经发现了“弱学习算法”,那么是否可以将它提升为“强可学习算法”
(弱学习算法是比较容易发现的)

提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器。

大多数的提升方法都是改变训练数据的概率分布(训练数据的权值分布),针对不同的训练数据分布调用弱学习算法学习一系列的弱分类器。

这样,对于提升方法来说,有两个问题需要回答:
1)在每一轮如何改变数据的权值(训练样本的权重)或概率分布
2)如何将弱分类器组合成一个强分类器。

AdaBoost(Adaptive Boost):自适应提升

AdaBoost巧妙而自然的回答了以上的2个问题并把他们完美的融合在了一个算法中。

针对第一个问题,AdaBoost的做法是:**提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。**这样一来,那些没有被正确分类的样本,由于其权值的加大而受到后一轮弱分类器的更大关注。

针对第二个问题:即弱分类器的组合,AdaBoost采取加权多数表决的方法。具体的加大分类误差率小的弱分类器的权重,使其在表决中起较大作用,减小分类误差率大的弱分类器的权重,使其在表决中起较小的作用(体现在弱分类器的权重 α α α与分类误差率 e m e_m em的关系式 α m = 1 2 l o g 1 − e m e m α_m=\frac{1}{2}log\frac{1-e_m}{e_m} αm=21logem1em)后面详解。

AdaBoost算法:

输入:训练数据集 T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … ( x N , y N ) 其 中 y i = ( + 1 , − 1 ) T={(x_1,y_1),(x_2,y_2),…(x_N,y_N)}其中y_i={(+1,-1)} T=(x1,y1),(x2,y2),(xN,yN)yi=(+1,1)
弱学习算法
输出:最终分类器G(x)
针对这个算法我想这样来学习:先纵向看,再横向看,怎么讲?往下看
首先纵向看:看什么?看顺序,即算法流程,先算什么后算什么,参数是如何联系与推导的?

1)初始化训练数据的权值分布(提升方法的2个问题中的第一个问题
D 1 = ( w 1 , 1 , w 1 , i … , w 1 , N ) D_1=(w_{1,1},w_{1,i}…,w_{1,N}) D1=(w1,1w1,i,w1,N) 其中 w 1 , i = 1 N w_{1,i}=\frac{1}{N} w1,i=N1
纵向看:算法的第一步是初始化了一个训练数据的权重向量 D 1 D_1 D1**
横向看:向量的每一个元素对应着一个训练样本的权重 w 1 , i w_{1,i} w1,i:其中1 代表是训练的轮数,i代表这一轮的第i个样本的权重。
还有这个权重向量在每一轮都会进行更新(所以才叫自适应啊,讲究),如何更新见下面的步奏。
2)对 m=1,2…M (这个是训练的轮数,也是弱分类器的个数)
(a)有了权重向量了 D m D_m Dm以后,在原始的训练数据上结合权重向量 D m D_m Dm以及弱学习算法,就可以得到基本分类器了 G m ( x ) G_m(x) Gm(x)
(b) 有了基本分类器 G m ( x ) G_m(x) Gm(x)之后,我们可以计算这个弱分类器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值