返回介绍

数学基础

统计学习

深度学习

工具

Scala

六、 DART booster

发布于 2023-07-17 23:38:23 字数 1935 浏览 0 评论 0 收藏 0

  1. GBDT 中,越早期加入的子树越重要;越后期加入的子树越不重要。

  2. DART booster 原理:为了缓解过拟合,采用dropout 技术,随机丢弃一些树。

  3. 由于引入了随机性,因此dartgbtree 有以下的不同:

    • 训练速度更慢
    • 早停不稳定
  4. DART booster 也是使用与提升树相同的前向分步算法

    • 第 $ MathJax-Element-16 $ 步,假设随机丢弃 $ MathJax-Element-17 $ 棵,被丢弃的树的下标为集合 $ MathJax-Element-18 $ 。

      令 $ MathJax-Element-19 $ ,第 $ MathJax-Element-20 $ 棵树为 $ MathJax-Element-33 $ 。则目标函数为: $ MathJax-Element-22 $ 。

    • 由于dropout 在设定目标函数时引入了随机丢弃,因此如果直接引入 $ MathJax-Element-33 $ ,则会引起超调。因此引入缩放因子,这称作为归一化: $ MathJax-Element-24 $ 。

      • 其中 $ MathJax-Element-25 $ 为新的子树与丢弃的子树的权重之比, $ MathJax-Element-26 $ 为修正因子。

      • 令 $ MathJax-Element-27 $ 。采用归一化的原因是: $ MathJax-Element-33 $ 试图缩小 $ MathJax-Element-31 $ 到目标之间的 gap; 而 $ MathJax-Element-32 $ 也会试图缩小 $ MathJax-Element-31 $ 到目标之间的 gap

        如果同时引入随机丢弃的子树集合 $ MathJax-Element-32 $ ,以及新的子树 $ MathJax-Element-33 $ ,则会引起超调。

      • 有两种归一化策略:

        • 'tree': 新加入的子树具有和每个丢弃的子树一样的权重,假设都是都是 $ MathJax-Element-38 $ 。

          此时 $ MathJax-Element-35 $ ,则有:

          $ \alpha\left(\sum_{k\in\mathbb K}h_k+b \nu h_m\right)=\alpha\left(\sum_{k\in\mathbb K}h_k+\frac \nu K h_m\right) \sim \alpha\left(1+\frac \nu K\right)D=\alpha \frac{K+\nu}{K}D $

          要想缓解超调,则应该使得 $ MathJax-Element-40 $ ,则有: $ MathJax-Element-37 $ 。

        • 'forest':新加入的子树的权重等于丢弃的子树的权重之和。假设被丢弃的子树权重都是 $ MathJax-Element-38 $ , 则此时 $ MathJax-Element-39 $ ,则有:

          $ \alpha\left(\sum_{k\in\mathbb K}h_k+b \nu h_m\right)=\alpha\left(\sum_{k\in\mathbb K}h_k+ \nu h_m\right) \sim \alpha\left(1+ \nu \right)D $

          要想缓解超调,则应该使得 $ MathJax-Element-40 $ ,则有: $ MathJax-Element-41 $ 。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文