梯度下降可以计算最优步长,为什么我们通常都是设置一个小的数

我自己的理解:

最优步长利用line search求得,应该是有一定的计算开销,没必要,直接取一个固定的步长,或者自适应变小的步长就可以了

为什么GBDT中推导是步长ρ和输出h(x;a)合并计算每个叶子节点的值?为什么不直接用叶子节点的均值,这里相当于变相计算了步长,比均值计算有更好的横向差异性,比如前后两棵树,A和B的一个叶子节点,A叶子负梯度加和与B叶子负梯度加和相等,且样本数相同,这个时候负梯度均值是相等的,但是如果考虑了ρ,AB叶子的差异就出现了,上面是从精准性,感觉会更精准。第二点,步长ρ合起来算非常方便,只需要推导一次叶子节点的公式就可以一直用, 怎么方便怎么来的角度,也会合并ρ,我觉得这是关键

如果步长ρ计算并不麻烦,在GBDT通用描述algorithm1中,即便计算了最优步长,后面往往还会加一个learning rate。相当于对最优步长有一个缩放,这是为什么?这点我确实不知道了!至少我觉得实践中,不会去计算最优步长ρ,设定学习率便可


留言

熱門文章