前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第 06 课:如何配置梯度提升

第 06 课:如何配置梯度提升

作者头像
PM小王
发布2019-07-02 17:17:43
3950
发布2019-07-02 17:17:43
举报
文章被收录于专栏:程序员小王程序员小王

前文回顾:

在Python中开始使用 XGBoost的7步迷你课程

第 01 课:梯度提升简介

第 02 课:XGBoost 简介

第 03 课:开发您的第一个 XGBoost 模型

第 04 课:监控表现和提前停止

梯度提升是应用机器学习最强大的技术之一,因此很快成为最受欢迎的技术之一。 但是,如何为您的问题配置梯度提升?

在原始梯度提升论文中发表了许多配置启发式方法。它们可以概括为:

  • 学习率或收缩率(XGBoost中的learning_rate)应设置为0.1 或更低,较小的值将需要添加更多树。
  • 树的深度(XGBoost中的 tree_depth)应该在 2 到 8 的范围内配置,其中对于更深的树没有多少益处。
  • 行采样(XGBoost中的子样本)应配置在训练数据集的30%到 80%的范围内,并且与未采样的 100%的值进行比较。

这些是配置模型时的一个很好的起点。

一个好的通用配置策略如下:

  • 运行默认配置并查看训练和验证数据集上的学习曲线图。
  • 如果系统过度学习,则降低学习率和/或增加树木数量。
  • 如果系统学习不足,可以通过提高学习率和/或减少树木数量来加快学习速度。

Owen Zhang,前Kaggle排名第一的竞争对手,现在是 Data Robot 的首席技术官提出了一个配置 XGBoost 的有趣策略。

他建议将树木的数量设置为目标值,如 100 或 1000,然后调整学习率以找到最佳模型。这是快速找到好模型的有效策略。

在下一节和最后一节中,我们将看一个调整XGBoost超参数的示例

在看和转发

都是一种支持

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小王 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在看和转发
  • 都是一种支持
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档