XGBoost:理论基础与模型应用(二) 集成模型

XGBoost:理论基础与模型应用

XGBoost:理论基础与模型应用(一) 决策树模型


集成学习

集成学习是当前机器学习领域热点研究问题之一,近年来研究成果层出不穷,在诸如Kaggle等知名机器学习、数据竞赛中也屡屡崭露头角。XGBoost与谷歌所开发的LightGBM(轻量级梯度提升机)则并称为集成学习的倚天屠龙。

集成学习介绍

集成学习的基本思想是把多个学习器通过一定方法进行组合,以达到最终效果的提升。虽然每个学习器对全局数据的预测精度不一定高,但在某一方面的预测精度可能比较高,将多个学习器进行组合,通过优势互补即可达到强学习器的效果。集成学习最早来自于Valiant提出的PAC(Probably Approximately Correct)学习模型,该模型首次定义了弱学习和强学习的概念:识别准确率仅比随机猜测高一些的学习算法为弱学习算法;识别准确率很高并能在多项式时间内完成的学习算法称为强学习算法。1990年,Schapire对其进行了肯定的证明。目前集成学习中最具代表性的方法是:Boosting、Bagging和Stacking。

Boosting

Boosting方法会训练一系列的弱学习器,并将所有学习器的预测结果组合起来作为最终预测结果,在学习过程中,下一个学习器会更关注先前学习器学习中的错误。1995年,Freund等人提出了AdaBoost,成为了Boosting代表性的算法。AdaBoost继承了Boosting的思想,并为每个弱学习器赋予不同权值,将所有弱学习器的权重和作为预测的结果,以达到强学习器的效果。Gradient Boosting是Boosting思想的另外一种实现方法,由Friedman于1999年提出。与AdaBoost不同的是,它将损失函数梯度下降的方向作为优化的目标,新的学习器建立在之前学习器损失函数梯度下降的方向,代表算法由GBDT、XBoost等。一般认为,Boosting可以有效提高模型的准确性,但各个学习器之间只能串行生成,时间开销较大。

Bagging

Bagging(Bootstrap Aggregating)对数据集进行有放回采样,得到多个数据集的随机采样子集,用这些随机子集分别对多个学习器进行训练(对于分类任务,采用简单投票法;对于回归任务采用简单平均法),从而得到最终预测结果。随机森林是Bagging最具代表性的应用,将Bagging的思想应用于决策树,并进行了一定的扩展。一般情况下,Bagging模型的精度要比Boosting低,但其各学习器可并行进行训练,节省大量时间开销。

Stacking

Stacking的思想是通过训练集训练好所有的基模型,然后用基模型的预测结果生成一个新的数据,作为组合器模型的输入,用以训练组合器模型,最终得到预测结果。组合器模型通常采用逻辑回归。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值