集成学习Boosting框架算法(Adaboost与GBDT)

Boosting

Boosting(提升法)是集成学习中将若干个弱分类器集成为强学习器的思想(提升+弱学习器=强学习器),学习器前后之间存在关联,通过不断的结合,造就一个强大的学习器,可以看成是一种串行学习器,这与随机森林采用独立决策树通过投票,少数服从多数获取分类结果的方式有着明显区别。,Bootsing包括Adaboost(Adaptive Boosting)算法与主流的GBDT(Gradient Boosting Decision Tree)算法框架,现在非常流行运用较多的的XGBoost与LightGBM都属于GBDT算法框架

在这里插入图片描述

1.Adaboost自适应提升算法

Adaboost(Adaptive Boosting)是基于Boosting思想的一种自适应提升的迭代式算法,是了解bootsing的入门算法,如图为Adaboos算法二分类过程,假设有m个样本,第一步初始化权重,每个样本的权重为1/m,开始构建决策树,第一棵树的权重为1/m,训练出来的预测结果与真实y有之间存在误差ε,误差率与正确率之和等于1。个体学习器的重要性α,正确率越大α权重越高,接着更新下一颗树的权重,依据公式,被分类错误权重会变高,使得下一次的学习更有侧重点,针对错误预测进行重点学习,进行不断迭代循环,将T棵树个体学习器与预测值汇总,将弱学习器进行聚合,形成强学习器。

在这里插入图片描述

如图,Adaboost通过调整权重,来调整分类的结果。

在这里插入图片描述

2.GBDT梯度提升决策树

2.1.梯度下降
梯度下降为求解最小二乘问题,如图,根据代价函数(Cost Fcunction)均方误差(MSE)求解参数θ[代价函数也叫损失函数(Loss Function)],不断迭代优化更新θ,找出代价函数最小值 [这里代价函数为凸函数,局部最小即为全局最小],即参数最优解。

在这里插入图片描述

2.2 GBDT梯度提升决策树
GBDT(Gradient Boosting Decision Tree)梯度提升决策树,主要由3个点组成,DT(Regression Decision Tree)回归决策树与GB(Gradient Boosting)梯度提升、Shrinkage(衰减系数)三部分组成,这里的GBDT也是通过梯度提升方式来将弱学习器提升至强学习学习器框架算法。

如图,1.用数据集样本均值构建第一轮叶子节点回归树的残差

2.计算负梯度
为什么负梯度等于残差?
这边的损失函数是均方误差(MSE),MSE也是回归最常用的损失函数,将F(xi)作为参数进行求导,得出损失函数梯度=F(Xi)-yi,前面取符号称之为负梯度,此时,负梯度等于残差,这也是为什么GBDT拟合负梯度又叫拟合残差,当然除了MSE还有其他损失函数,那时残差未必等于负梯度

3.用回归树去拟合负梯度,假如第一棵决策树的残差是最大,后面的弱学习器对残差的拟合不断减小,这就是GBDT里梯度提升(Gradient Bootsing)的思想

4.直至训练完最后一颗回归树,弱学习器拟合的残差预测值与真实值相差等于0,而前面一个个弱学习器相加,最后得出F强学习器,此时F强学习器预测值结果等于前面一颗颗弱学习器的残差,如果模型精度很高,预测值等于真实值,梯度提升决策树训练完成

注:Shrinkage(衰减系数)
Shrinkage主要是为了在残差收敛至最终结果时,尽量让他每一小步达到渐近逼近结果,尽量避免快速逼近GBDT陷入过拟合的方法,迫使学习过程中使用更多的弱学习器来减少过拟合的发生。梯度下降学习率我们知道是为了将损失函数得到收敛,避免梯度下降过程中陷入震荡导致的无法收敛,两者思想类似,只不过梯度下降更加直观。
在这里插入图片描述

通过梯度提升伪代码,更能直观看GBDT弱学习器集成强学习器的过程在这里插入图片描述
GBDT一般使用回归树,当然也是可以做分类,取决于损失函数(Loss function),如果是MSE是用回归树,如果为交叉熵那么用分类的,一般会结合LR(逻辑回归)使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值