gbdt:梯度提升决策树。通过加法模型(即基函数的线性组合),以及不断减小训练过程中产生的残差来达到数据分类或者回归的算法。
不管减少残差的过程,其实和深度学习的不断减少损失函数的过程是一致的。
gbdt的训练过程:
通过多轮的迭代,每轮迭代产生一个弱分类器,而每个分类器在上一轮分类器的残差基础上进行训练。对弱分类器的要求一般是足够简单,并且是低方差和高偏差的。因为训练的过程是通过降低偏差来不断提高最终分类器的精度,(此处是可以证明的)。
由于上面高偏差的要求,每个分类回归树的深度不会很深。最终的总分类器,将是每一轮训练得到的分类起加权求和得到的。有点像全连接网络哎
损失函数呢:每一轮产生一个弱分类器件,弱分类器的损失函数:
整个过程和深度学习的梯度下降基本上类似的,不断的来最小化损失函数来确定下一个弱分类器的参数,而深度学习通过优化器的梯度下降和反向传播,来影响每一层的参数变化。
那么gbdt是如何做到让损失函数不断减少的呢?
让损失函数沿着梯度方向下降,就是gb的核心