XGboost
XGboost 是eXtreme Gradient Boosting ,他是在GBM基础上的改进,内部同样采用决策树作为基学习器,XGboost(下文称为XGB)与GBM的区别在于损失函数更新的方式,GBM利用的是梯度下降法的近似方法,而XGB方法则引入了牛顿法进行损失函数的寻优,因为牛顿法使用到了二阶导,这就是为什XGB要叫做极端梯度法。
接下来讲解XGB方法前先介绍一些基础的内容。
牛顿法
牛顿法是求解无约束最优化问题的常用方法,有收敛速度快的特点。牛顿法采用的是迭代算法,每一步需要求解目标函数的海森矩阵(Hessian Matrix)的逆矩阵。假设一个无约束优化问题
minx∈Rn f(x) min x ∈ R n f ( x )
,求x最小值点,假设
f(x) f ( x )
具有二阶连续偏导数,若第m次迭代值为
x(m) x ( m )
,则将
f(x) f ( x )
在
x(m) x ( m )
附近进行泰勒二阶展开:
f(x)=f(x(m))+f′(x(m))Δθ+f′′(x(m))Δθ2