GBM
GBM 全称gradient boosting machine,一般叫做梯度提升树算法。是一类很常用的集成学习算法,在多次数据挖掘比赛中获得了优秀的成绩。
在解释GBM时,有很多内容需要提前一并解释了才有助于理解GBM算法。建议阅读此篇内容以前先了解一个Adaboost算法,接下来此文还会给出boosting加法模型以及boosted tree(提升树)的解释,最后再讲解GBM算法。
boosting加法模型
提升类的算法可以认为是一种加法模型:
f(x)=∑m=1MαmT(x;Θm) f ( x ) = ∑ m = 1 M α m T ( x ; Θ m )
αm α m 是每个基学习器的权系数, T(x;Θm) T ( x ; Θ m ) 代表学习得到的第m个基学习器, m m 为学习器个数, 为学习器分类的参数,一般这里指分类树或者回归树模型参数。
在给定训练数据和损失函数形式后,boosting学习模型可以定义为一个损失函数极小化的问题, 优化的目标函数为:
argminf∑i=1NL(yi,f(xi)) arg min f ∑ i = 1 N L ( y i , f ( x i ) )
L L
为损失函数,
为样本个数。从这两个定义我们就可以知道boosting类算法的模型和优化目标函数是什么。接下来理解boosted tree 就容易了。
boosted tree
提升树是以分类树和回归树为基学习器的提升算法,就是将 T(x;Θm) T ( x ; Θ m ) 学习器定义为了决策树。提升树被认为是统计学性能最好的方法之一。为了方便大家理解,这里就不再另外定义模型了(参考前文),提升树模型如下
f(x)=∑m=1MαmT(x;Θm) f ( x ) = ∑ m = 1 M α m T ( x ; Θ m )
对于二分类问题,提升树可以看做采用二分类树的adaboost算法,所以这里不再详细解释。因此这里的
T(x;Θm) T ( x ; Θ m )
为回归树。回归提升树使用的前向分布计算法: