我们在很多Gradient Boost相关的论文及分析文章中都可以看到下面的公式:
但是,对这个公式的理解,我一直也是一知半解,最近,终于下决心对其进行了深入理解。
步骤1:可以看作优化目标的损失函数;
步骤2:代表需要学习1~M个模型;
步骤3:将前m-1个模型的组合F(X)代入损失函数L(y_i, F(X)),并对F(X)求导,求得梯度向量表达式;举例说明,如果损失函数是,则对F(X)求导,得到,当i从1取到N时,得到梯度方向的向量;
步骤4:得到梯度向量之后,我们需要的是梯度向量方向上的新的模型,该模型需与梯度方向越接近越好,故,最小二乘法派上了用场,对步骤4的表达式求导,令等于0,可求得新模型的参数a;
步骤 5:模型解出后,组合新模型之后得到的模型应该也满足损失函数最小,因此,对组合权重求导,令等于0;
步骤 6,模型参数与模型权重参数求出之后,即得到了新模型;
步骤 7:重复M次,训练也M个模型。