机器学习模型自我代码复现:GBDT

本文档介绍了如何从头开始实现梯度提升决策树(GBDT),对比了自定义GBDT与sklearn库中GBDT的预测误差,并展示了预测值的可视化比较。作者通过构建和训练CART树作为基学习器,使用加权平均法结合弱学习器,探讨了GBDT的训练过程。尽管自定义实现与sklearn在误差上存在差距,但在小规模特征和数据量情况下仍能提供基本的预测功能。

根据模型的数学原理进行简单的代码自我复现以及使用测试,仅作自我学习用。模型原理此处不作过多赘述,仅罗列自己将要使用到的部分公式。

如文中或代码有错误或是不足之处,还望能不吝指正。

集成学习,通过构建并结合多个学习器来完成学习任务。集成学习大抵可以分为2类,1类是将各个弱学习器串联训练,使得前一个学习器中的错类在后一个学习器中被更加“重视”以提升总体的训练效果,被称为Boosting;另一类是并联训练多个弱学习器,将他们的结果结合起来(平均法或投票法)组成一个强学习器,被称为Bagging。

GBDT是一类Boosting学习器,改造自AdaBoost,是AdaBoost的推广(一般形式)。

AdaBoost的策略是:将前一个学习器中的错类,在放入下一个学习器时提升权重,如此重复进行,使用加法模型获得结果。

H(x)=\sum _{t=1}^{T}\alpha_th_t(x)

其中,\alpha_t表示学习器的学习率,h_t(x)代表第t个学习器的预测结果。AdaBoost的损失函数为指数损失函数。

Loss = \frac{1}{m} \sum_{i=1}^{m}e^{-y_iH(x_i)}

GBDT与AdaBo

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值