课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
7分钟

DART booster

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

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

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

  • 训练速度更慢
  • 早停不稳定

4. DART booster 也是使用与提升树相同的前向分步算法

  • m 步,假设随机丢弃 K 棵,被丢弃的树的下标为集合 K 。 令 D=∑_(k∈K)h_k ,第 m 棵树为 h_m 。则目标函数为:

  • 由于dropout 在设定目标函数时引入了随机丢弃,因此如果直接引入 h_m,则会引起超调。因此引入缩放因子,这称作为归一化:
  • 其中 b 为新的子树与丢弃的子树的权重之比,α 为修正因子。
  • M ̂=∑_(k≠K)h_k 。采用归一化的原因是:h_m 试图缩小 M ̂ 到目标之间的 gap; 而 D 也会试图缩小 M ̂ 到目标之间的 gap。 如果同时引入随机丢弃的子树集合 ,以及新的子树 ,则会引起超调。
  • 有两种归一化策略:
    • 'tree': 新加入的子树具有和每个丢弃的子树一样的权重,假设都是都是 1/K 。 此时 b=1/K,则有:

要想缓解超调,则应该使得 ,则有:α=K/(K+v)

  • 'forest':新加入的子树的权重等于丢弃的子树的权重之和。假设被丢弃的子树权重都是 1/K, 则此时 b=1,则有:

要想缓解超调,则应该使得 α(∑_(k∈K)h_k+bvh_m ) D,则有:α=1/(1+v)