Boosting的意思就是提升,这是一族通过训练弱学习模型的肌肉将其提升为强学习模型的算法。要想在机器学习竞赛中追求卓越,Boosting是一种必须的存在。这是一个属于高手的技术。
我们分为5篇文章介绍集成学习,分别是:
本节课中,书中的人物小冰将一步一步的从老师咖哥身上学到Boosting的各种方法。
Boosting:把模型训练的更强
Boosting的基本思路是逐步优化模型,这与Bagging不同。Bagging的思路是独立的生成很多不同的模型然后对预测结果进行集成,Boosting则是持续的通过新模型来优化同一个基模型,每一个新的弱模型加入进来的时候,就在原有模型基础上整合新模型,从而成新的基模型。而对新的基模型的训练,将一直聚集于之前模型的误差点,也就是原模型预测出错的样本(而不是像Bagging时那样随机选择样本),目标是不断减小模型的预测误差。
下面的Boosting示意图展示了这样的过程:一个拟合效果很弱的模型(左上图的水平红线),通过梯度提升,逐步形成了较接近理想拟合曲线的模型(右下图中的红线)。
梯度这个词我们再熟悉不过。在线性回归、逻辑回归和神经网络中,梯度下降是机器得以自我优化的本源。机器学习的模型内部参数在梯度下降的过程中逐渐自我更新,直到达到最优解。
而Boosting这个模型逐渐优化,自我更新的过程特别类似于梯度下降,它是把梯度下降的思路从更新模型内部参数扩展到更新模型本身。因此,可以说Boosting就是模型自身通过梯度下降自我优化的过程。
像上图所示的弱分类器,经过Boosting,逐渐的接近