机器学习 Boosting 和 xgboost

本文介绍了Boosting的工作机制,特别是GBDT和XGBoost。GBDT通过不断学习残差构建决策树,而XGBoost在优化时不仅使用一阶导数,还引入了正则项和二阶导数,提高了模型的准确性和防止过拟合。此外,XGBoost还支持列抽样、处理缺失值和并行计算,使其成为一种高效的机器学习算法。
摘要由CSDN通过智能技术生成

机器学习 Boosting 和 xgboost

Boosting

工作机制:先从初始训练集练出一个基学习器,再根据基学习器的表现对训练的样本分布进行调整,使得先前基学习器的训练样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此循环往复,直至学习器达到事先指定的值T,最终将这T个基学习器进行加权结合。
Boosting有很多实现版本,比如Adaboost,GBDT 和XGBoost,由于书中已经详细的讲解了Adaboost,我们将主要介绍GBDT 和XGBoost。
1. CART——Boost的基础
CART(回归树, regressiontree)是xgboost最基本的组成部分。其根据训练特征及训练数据构建分类树,判定每条数据的预测结果。其中构建树使用gini指数计算增益,即进行构建树的特征选取。
一个CART往往过于简单,并不能有效地做出预测,为此,采用更进一步的模型boosting tree,利用多棵树来进行组合预测。
输入:训练集T={(x_1,y_1 ),(x_2,y_2 ),…(x_n,y_n ),)}
输出:提升树f_M (x)
步骤(1):初始化f_0 (x)=0
(2)、对m=1,2,3,…M(a)计算残差r_mi=y_i-f_((m-1) ) (x_i ),i=1,2,…,n
(b)拟合残差r_mi学习一个回归树,得到T(x:θ_M) 更新f_m (x)=f_((m-1) ) (x)+T(x:θ_m)
(3)、得到回归提升树:f_M (x)=∑_(m=1)^M▒〖T(x:θ_m)〗
2、gbdt算法
gbdt的算法可以总结为:
a、算法在拟合的每一步都新生成一颗决策树;
b、在拟合这棵树之前,需要计算损失函数在每个样本上的一阶导和二阶导,即 g_i 和 h_i ;
c、通过贪心策略生成一颗树,计算每个叶子结点的的G_i 和 H_i ,利用等式 〖w_j〗^*=G_j/(H_j+λ)计算预测值 w ;
d、把新生成的决策树 f_t (x) 加入 〖y ̂_i〗^t=〖y ̂_i〗^(t-1)+ϵf_t (x_i) ,其中ϵ 为学习率,主要为了抑制模型的过拟合。

1、XGBoost——GBDT

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值