集成学习-详细总结

一. 集成学习的概念与主要类型

1.1 集成学习的概念与意义

集成学习是多个个体学习器组合学习的学习方法,当个体学习器都一样时候,个体学习器叫做基学习器,不一样时候称为组件学习器。通常个体学习器都是弱学习器,通过集成学习可以把弱学习器转化为强学习器。

1.2 主要类型与差别

目前集成学习主要分为两类,一类是个体学习器之间存在强烈的依赖关系,必须串行生成的的序列化方法,代表方法是Boosting,另外一类是个体学习器不存在强烈的依赖关系,可同时生成的的并行化方法。

1.3 VC维度理论

https://zhuanlan.zhihu.com/p/59113933

1.4 偏差与方差理论

https://www.jianshu.com/p/8c7f033be58a

二. Blending

2.1 Simple Blending(Voting)

利用 D t r a i n \mathcal{D_{train}} Dtrain 使得 E i n E_{in} Ein最小训练多个 g g g,最后将所有的 g g g 按照加和形成 G G G。将其应用在 D t e s t \mathcal{D_{test}} Dtest。分类的话 g g g是正票或者负票,最终票数为正则为正,负则为负,回归的话,求平均值。

2.2 Linear Blending

利用 D t r a i n \mathcal{D_{train}} Dtrain 使得 E i n E_{in} Ein最小训练多个 g g g,利用 D v a l \mathcal{D_{val}} Dval 使得 E v a l E_{val} Eval最小选取权重 w w w,最后将所有的 g g g 按照权重 w w w加和形成 G G G。将其应用在 D t e s t \mathcal{D_{test}} Dtest。two-level learning。

2.3 Any Blending(Stacking)

stack是指采用任何方式可能是非线性权重来组合 g g g。two-level learning。

四. Bagging

bootstrap sample重采样t组数据 D ~ t \mathcal{\widetilde{D}_{t}} D t 来自于 D t r a i n \mathcal{D_{train}} Dtrain ,根据不同的 D ~ t \mathcal{\widetilde{D}_{t}} D t获取 g t g_t gt G = b l e n d i n g ( g 1 , . . g t ) G=blending(g_1,..g_t) G=blending(g1,..gt),将其应用在 D t e s t \mathcal{D_{test}} Dtest

五. Boosting

Boosting指的是一类集成方法,其主要思想就是将弱的基学习器提升(boost)为强学习器。具体步骤如下:

  • 先用每个样本权重相等的训练集训练一个初始的基学习器;
  • 根据上轮得到的学习器对训练集的预测表现情况调整训练集中的样本权重(例如提高被错分类的样本的权重使之在下轮训练中得到更多的关注), 然后据此训练一个新的基学习器,并得到该基学习器的权重;
  • 重复2直到得到N个基学习器,最终的集成结果是N个基学习器的组合。

https://zhuanlan.zhihu.com/p/59121403
Adaboost写的十分详细,可以具体参考。

六. Boosting Tree 与 Gradient Boosting

提升分类树就是将Adaboost中的基学习器改为CART,提升回归树是不断拟合残差的思想,但是少了基学习器的权重,GBDT是改进了提升回归树并结合了提升分类树。
https://zhuanlan.zhihu.com/p/84139957

Gradient Boosting 是估计残差函数不是估计参数步长是通过线性搜索找到的。
https://zhuanlan.zhihu.com/p/75708309

七. GBDT

平方差损失的梯度,就是残差yhat-y
https://zhuanlan.zhihu.com/p/105497113
https://blog.csdn.net/zpalyq110/article/details/79527653

八. XGBoost与LGBoost

xgboost
https://zhuanlan.zhihu.com/p/142413825

gbdt与xgboost的区别
https://www.zhihu.com/question/41354392/answer/124274741

xgboost 与 lgboost区别
https://zhuanlan.zhihu.com/p/87885678
https://zhuanlan.zhihu.com/p/82521899

九. Random Forest

随机森林是Bagging的一个扩展变体,在理解了Bagging方法后,随机森林学习起来就容易多了。RF在以决策树作为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中加入了随机属性的选择。具体来说,传统决策树在选择划分属性时是在当前结点的所有候选属性(假定有d个)中选择一个最优属性;而在RF中,对基决策树的每个结点,先从该结点的候选属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性用于划分。抽取的属性数k的选择比较重要,一般推荐 [公式] 。由此,随机森林的基学习器的“多样性”不仅来自样本的扰动,还来自属性的扰动,使得最终集成的泛化能力进一步增强。

随机森林特点主要是:

  • 个体学习器为决策树
  • 对训练样本进行采样
  • 对属性进行随机采样

随机森林的优点:

①训练可以高度并行化,可以有效运行在大数据集上。
②由于对决策树候选划分属性的采样,这样在样本特征维度较高的时候,仍然可以高效的训练模型。
③由于有了样本和属性的采样,最终训练出来的模型泛化能力强。
④可以输出各特征对预测目标的重要性。
⑤对部分特征的缺失容忍度高。
⑥袋外数据可用作验证集来检验模型的有效性,不用额外划分数据集。

随机森林的缺点:
①在某些噪声比较大的样本集上,随机森林容易陷入过拟合。
②取值划分比较多的特征容易对随机森林的决策产生更大的影响,从而影响拟合的模型效果。

参考

1.https://zhuanlan.zhihu.com/p/59121403
2.https://blog.csdn.net/zhangyonggang886/article/details/52834323

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值