一 .概述
xgboost是boosting算法的其中一种,该算法思想就是不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实是学习一个新函数,去拟合上次预测的残差。具体的目标函数如下:
主要就是找到ft来优化这一目标函数,通过一个简单的例子来形象的理解该目标函数。例如是小明真实有100个糖果,现在建立一个决策系统来预测小明有多少个糖。首先建立一棵树,记为树1,它的预测结果是90个,这时得到一个残差,这个残差值就是100-90=10,此时和真实值差别是10。为了提高精度,可以在该决策系统中再添加一棵树,记为树2。树2就是为了弥补上一棵树存在的残差,假设它的预测结果是5,此时总体的残差值是10-5=5,即和真实值相差为5。符号化表示:之前的结果10表示为输出结果为yˆ1 ,即上一时刻的残差值,树2的值为f2 ,此时得到的值。接着可以再建立第三课树,记为树3。假设它的预测值为3,此时总体的残差值是5-3=2,即和真实值相差为2。符号化表示:上一时刻输出结果5为yˆ2 ,即上一时刻的残差值,树3为f3 ,此时得到值。xgboost的目标就是通过找到ft 来优化这一目标函数,使得最终结果足够小。下面对该函数进行推导化简。
二 目标函数化简
1、预备知识,泰勒展开式。主要使用泰勒展开式来近似原来的目标函数