1.Gradient Bossting与残差模块
首先解释一下梯度提升(Gradient Bossting)算法:
1.梯度下降法:
用泰勒公式表示损失函数,用更数学的方式解释梯度下降法:
这里多说一点,我为什么要用泰勒公式推导梯度下降法,是因为我们在面试中经常会被问到GBDT与XGBoost的区别和联系?其中一个重要的回答就是:GBDT在模型训练时只使用了代价函数的一阶导数信息,XGBoost对代价函数进行二阶泰勒展开,可以同时使用一阶和二阶导数。当然,GBDT和XGBoost还有许多其它的区别与联系,感兴趣的同学可以自己查阅一些相关的资料。
2.梯度提升原理推导
此处具体推导来源于:Microstrong0305
也因此梯度提升算法为:
而相应的在深度学习中残差模块也是通过引入上层输出以作为f(x) ,而由于神经网络能通过梯度下降法进行参数的优化,因而残差块的思想与梯度提升的思想不谋而合(其目的也大致一样)。
ps:仅限于个人理解,仅供参考,欢迎交流