GBDT
GBDT(Gradient Boosting Decision Tree)(梯度提升决策树)
定义:是为了解决一般损失函数的优化问题,
方法是用损失函数的负梯度在当前模型的值来模拟回归问题中残差的近似值。
损失函数
损失函数
定义:单个样本误差
常见损失函数:
1.0-1损失函数
定义:预测错误,损失函数为1,预测正确,损失函数值为0。
𝐿(𝑦,𝑓(𝑥))={
1,𝑦≠𝑓(𝑥)
0,𝑦=𝑓(𝑥)
}
2.平方损失函数
定义:预测试与实际值差的平方
𝐿(𝑦,𝑓(𝑥))=(𝑦−𝑓(𝑥))2
3.绝对值损失函数
𝐿(𝑦,𝑓(𝑥))=|𝑦−𝑓(𝑥)|
4.对数损失函数
𝐿(𝑦,𝑝(𝑦|𝑥))=−log𝑝(𝑦|𝑥)
预测正确的概率越高,其损失值应该是越小,因此再加个负号取个反。
5.Hinge loss
𝐿(𝑤,𝑏)=𝑚𝑎𝑥{0,1−𝑦𝑓(𝑥)}
其中 𝑦=+1或𝑦=−1 ,𝑓(𝑥)=𝑤𝑥+𝑏 ,当为SVM的线性核时。
梯度
在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率。
梯度一词有时用于斜度,也就是一个曲面沿着给定方向的倾斜程度。
可以通过取向量梯度和所研究的方向的点积来得到斜度.梯度的数值有时也被成为梯度。
梯度的负方向
例:我们位于泰山的山顶看日出,后面想以最快的速度下山,赶火车回青岛。
于是我们每次沿着当前位置最陡峭最易下山的方向前进一小步,这样一步一步走下去,一直走到了山脚。
这里下山最陡峭的方向就是梯度的负方向。
回归问题
线性回归解决预测问题,
细分为一般线性回归、多项式回归、广义线性回归的递进关系,
Logistic和Softmax回归解决分类问题,
Logistic回归解决二分类,
Softmax解决多分类问题。
回归问题中残差的近似值
在回归分析中,通常用残差分析来判断回归模型的拟合效果。
残差分析的两种方法:
1.通过残差图。若残差点比较均匀的落在水平区域中,说明选用的模型比较合适。带状区域的宽度越窄,说明模型的拟合度越高。
2.通过一般指数判断,如下图。一般R平方越大,残差平方和越小,从而回归模型的拟合效果越好。
GBDT核心
GBDT是把所有树的结论累加起来做最终结论的。
GBDT的核心就在于,每一棵树学的是之前所有树结论和的残差(负梯度),
这个残差就是一个加预测值后能得到真实值的累加量。
比如A的真实年龄是18岁,但第一棵树的预测年龄是12岁,差了6岁,即残差为6岁。
那么在第二棵树里面我们把A的年龄设为6岁去学习,比如第二棵树的结论是5岁,
则A仍然存在1岁的残差,第三棵树里面把A的年龄设为1岁去学习,继续学。
Boosting的最大好处在于,每一步的残差计算其实变相的增大了分错的instance的权重,
而已经分对的instance则都趋于0。
这样后面的树就能越来越专注那些前面被分错的instance。