1700539808
1700539809
用一个很简单的例子来解释一下GBDT训练的过程,如图12.7所示。模型的任务是预测一个人的年龄,训练集只有A、B、C、D 4个人,他们的年龄分别是14、16、24、26,特征包括了“月购物金额”“上网时长”“上网历史”等。下面开始训练第一棵树,训练的过程跟传统决策树相同,简单起见,我们只进行一次分枝。训练好第一棵树后,求得每个样本预测值与真实值之间的残差。可以看到,A、B、C、D的残差分别是−1、1、−1、1。这时我们就用每个样本的残差训练下一棵树,直到残差收敛到某个阈值以下,或者树的总数达到某个上限为止。
1700539810
1700539811
1700539812
1700539813
1700539814
图12.7 GBDT的一个例子
1700539815
1700539816
由于GBDT是利用残差训练的,在预测的过程中,我们也需要把所有树的预测值加起来,得到最终的预测结果。
1700539817
1700539818
GBDT使用梯度提升(Gradient Boosting)作为训练方法,而在逻辑回归或者神经网络的训练过程中往往采用梯度下降(Gradient Descent)作为训练方法,二者之间有什么联系和区别吗?
1700539819
1700539820
问题2 梯度提升和梯度下降的区别和联系是什么?
1700539821
1700539822
难度:★★☆☆☆
1700539823
1700539824
分析与解答
1700539825
1700539826
表12.1是梯度提升算法和梯度下降算法的对比情况。可以发现,两者都是在每一轮迭代中,利用损失函数相对于模型的负梯度方向的信息来对当前模型进行更新,只不过在梯度下降中,模型是以参数化形式表示,从而模型的更新等价于参数的更新。而在梯度提升中,模型并不需要进行参数化表示,而是直接定义在函数空间中,从而大大扩展了可以使用的模型种类。
1700539827
1700539828
表12.1 梯度提升算法和梯度下降算法的对比
1700539829
1700539830
梯度提升
1700539831
1700539832
函数空间 F
1700539833
1700539834
1700539835
1700539836
1700539837
1700539838
1700539839
1700539840
梯度下降
1700539841
1700539842
参数空间 W
1700539843
1700539844
1700539845
1700539846
1700539847
1700539848
1700539849
1700539850
问题3 GBDT的优点和局限性有哪些?
1700539851
1700539852
难度:★★☆☆☆
1700539853
1700539854
分析与解答
1700539855
1700539856
■ 优点
1700539857
[
上一页 ]
[ :1.700539808e+09 ]
[
下一页 ]