我正在阅读有关梯度增强的有用的Wikipedia条目(https://en.wikipedia.org/wiki/Gradient_boosting),并尝试了解如何/为什么我们可以通过最陡峭的下降步骤(也称为伪梯度)来近似残差)。谁能给我关于最陡峭的下降如何联系/类似于残差的直觉?帮助非常感谢!
我正在阅读有关梯度增强的有用的Wikipedia条目(https://en.wikipedia.org/wiki/Gradient_boosting),并尝试了解如何/为什么我们可以通过最陡峭的下降步骤(也称为伪梯度)来近似残差)。谁能给我关于最陡峭的下降如何联系/类似于残差的直觉?帮助非常感谢!
Answers:
假设我们处于以下情况。我们有一些数据,其中每个X 我可以是数字或向量,并且我们想确定一个函数˚F近似于关系˚F (X 我)≈ Ý 我,在这个意义上的最小二乘误差:
是小。
现在,问题开始了,我们希望的域是什么。领域的退化选择只是我们训练数据中的要点。在这种情况下,我们可以只定义f (x i)= y,覆盖整个所需域,并用它完成。解决此问题的一种方法是使用此离散空间作为域进行梯度下降。这需要一些角度上的改变。让我们将损失视为真实y点和预测f的函数(目前,f不是函数,而只是预测的值)
然后针对预测取梯度
然后,从的初始值开始进行梯度更新为
因此,通过此设置,我们可以在渐变步骤中恢复理想的预测,这很好!
当然,这里的缺陷是我们希望定义不仅仅是我们的训练数据点。为此,我们必须做出一些让步,因为我们无法在训练数据集以外的任何点评估损失函数或其梯度。
大思路是弱近似。
Start
最初的猜测是,几乎总是一个简单的常数函数f (x )= f 0,它随处可见。现在,通过使用f的初始猜测,通过评估训练数据处的损失函数的梯度来生成新的工作数据集:
Now approximate
由弱学习拟合 w ^。说我们得到了近似 ˚F ≈ ∇ 大号。我们已经以 F (X )的形式将数据 W扩展到整个域,尽管由于适合一个小的学习者,我们在训练点上已经失去了精度。
Finally
使用代替∇ 大号中的梯度更新˚F 0在整个域:
我们得到,它是f的新近似值,比f 0好一点。从f 1重新开始,并进行迭代直到满意为止。
希望您看到真正重要的是近似损耗的梯度。在最小二乘最小化的情况下,采用原始残差的形式,但在更复杂的情况下则不采用。机械仍然适用。只要可以构造一种用于在训练数据处计算损失和损失梯度的算法,我们就可以使用该算法来近似最小化该损失的函数。