《统计学习方法》-李航、《机器学习-西瓜书》-周志华总结+Python代码连载(五)--集成学习_提升方法

本文介绍了集成学习的概念,强调了其通过组合多个学习器提高泛化能力的优势。主要讨论了Boosting和Bagging两大流派,包括Adaboost、GBDT和Xgboost等算法。特别是提升树模型,它用于分类和回归问题,并详细解释了提升树的构建过程。最后,文章概述了AdaBoost模型及其迭代步骤,提供了算法的总结和代码实现链接。
摘要由CSDN通过智能技术生成

一、集成学习概论

集成学习(Ensemble learning)通过构建并结合多个学习器来完成学习任务,实际上,就是“三个臭皮匠顶个诸葛亮”的道理。

集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化能力。这对“弱学习器(weak learner)”尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也被称为弱学习器。

一般根据弱学习器有无依赖关系,大体分为两个流派Boosting和Bagging

a.Boosting:弱学习器之间有依赖关系,常见的算法有Adaboost,GBDT,Xgboost。

b.Bagging:弱学习器之间无依赖关系,常见的算法有随机森林(RandomForest)。

二、提升树模型

以决策树为基函数的提升方法称为提升树(boosting-tree),对于分类问题决策树是二叉分类树,对回归问题的是二叉回归树。

2.1 提升树模型可以表示为决策树的加法模型:

                                                                        f_{M}(x)=\sum _{m=1}^{M}T(x;\phi _{m})  

T(x;\phi _{m})表示决策树;\phi _{m}为决策树的参数;M为树的个数。

2.2 提升树算法

提升树算法采用前向分布算法,首先明确初始提升树f_{0}(x)=0,第m步的模型是f_{m}(x)=f_{m-1}(x)+T(x;\phi _m)

其中f_{m-1}(x)为当前模型,通过经验风险极小化确定下一棵决策树的参数\phi _{m},                                                                                                                                               \phi _{m}=argmin_{\phi _{m}}\sum_{i=1}^{N}L(y_{i},f_{m-1}(x)+T(x;\phi _{m}))

针对不同问题的提升树的算法,主要区别在于使用的损失函数不同,有用指数损失函数的分类问题(三节会讲),这里主要是用平方误差的回归问题。

已知一个训练集T={(x_{1},y_{1}),...,(x_{N},y_{N})},通过回归树的性质,将输出空间划分为J个互不相交的区域R_{1},...,R_{J},并且在每个区域上确定输出的常量c_{j},那么树可表示为:

                                                             T(x;\phi ) = \sum_{j=1}^{J}c_{j}I(x\in R_{j})

参数\phi表示树的区域划分和各个区域上的常数,J是回归树的复杂度即叶结点个数。

当采用平方误差时,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值