GBM(Gradient Boosting Machine)的快速理解

前置知识:神经网络,梯度下降法

机器学习中常用的GBDT、XGBoost和LightGBM算法(或工具)都是基于梯度提升机(Gradient Boosting Machine,GBM)的算法思想,本文简要介绍了GBM的核心思想,旨在帮助大家快速理解,需要详细了解的朋友请参看Friedman的论文[1]。

Background:一个弱学习器(以下简称model),其预测效果有限,一种直观的提升方法就是训练第二个model去学习特征到残差(即第一个model的输出与真实标签的差距)的映射,最终把两个model的预测结果加起来得到最终的预测结果。当然,两个model通常情况下也无法做到完美,因此上述过程可以迭代下去。

Problem:当损失函数是平方损失和指数损失时,每一步优化是很简单的,但对一般损失函数而言不太容易[2]。

Solution:类似梯度下降法(减少损失),使用梯度来进行提升(提升模型的拟合效果,等价于减少损失),即将损失函数的负梯度在当前模型的值作为残差的近似值[2],这样便可以通用地对采用其他损失函数的情况进行操作。

GBM

参考文献

[1] Friedman J H. Greedy function approximation: a gradient boosting machine[J]. Annals of statistics, 2001: 1189-1232.
[2] 李航. 统计学习方法[J]. 清华大学出版社, 北京, 2012.