根据模型的数学原理进行简单的代码自我复现以及使用测试,仅作自我学习用。模型原理此处不作过多赘述,仅罗列自己将要使用到的部分公式。
如文中或代码有错误或是不足之处,还望能不吝指正。
集成学习,通过构建并结合多个学习器来完成学习任务。集成学习大抵可以分为2类,1类是将各个弱学习器串联训练,使得前一个学习器中的错类在后一个学习器中被更加“重视”以提升总体的训练效果,被称为Boosting;另一类是并联训练多个弱学习器,将他们的结果结合起来(平均法或投票法)组成一个强学习器,被称为Bagging。
GBDT是一类Boosting学习器,改造自AdaBoost,是AdaBoost的推广(一般形式)。
AdaBoost的策略是:将前一个学习器中的错类,在放入下一个学习器时提升权重,如此重复进行,使用加法模型获得结果。
其中,表示学习器的学习率,
代表第t个学习器的预测结果。AdaBoost的损失函数为指数损失函数。
GBDT与AdaBo

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

被折叠的 条评论
为什么被折叠?



