VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • 集成学习之Xgboost(17)

JJ个最优的叶子节点区域,如何求出每个叶子节点区域的最优解wj

2) 对当前决策树做子树分裂决策时,应该如何选择哪个特征和特征值进行分裂,使最终我们的损失函数L最小?

对于第一个问题,其实是比较简单的,直接基于损失函数对wj求导并令导数为0得到:Gi+(Hi+λ)wj=0

从而可得到叶子节点区域的最优解wj表达式:

wj=GjHj+λ

 

【补充】这个叶子节点的表达式不是XGBoost首创,实际上在GBDT的分类算法里,已经在使用了。大家在GBDT算法介绍中叶子节点区域值的近似解(2.3)步计算最佳拟合值cti

 

ctj=xiRtjrti/xiRtj|rti|(1|rti|)

 

它其实就是使用了上式来计算最终的ctj。例如回顾二元分类的损失函数是:L(y,f(x))=log(1+exp(yf(x)))

其每个样本的一阶导数为: