网站平台建设缴纳什么税,普通电脑怎么做网站服务器,网页设计与网站开发试卷,长沙百度seo1.什么是GBDT GBDT(Gradient Boosting Decision Tree)#xff0c;梯度提升树。它是一种基于决策树的集成算法。其中Gradient Boosting 是集成方法boosting中的一种算法#xff0c;通过梯度下降来对新的学习器进行迭代。它是利用损失函数的负梯度方向在当前模型的值作为残差的…1.什么是GBDT GBDT(Gradient Boosting Decision Tree)梯度提升树。它是一种基于决策树的集成算法。其中Gradient Boosting 是集成方法boosting中的一种算法通过梯度下降来对新的学习器进行迭代。它是利用损失函数的负梯度方向在当前模型的值作为残差的近似值进而拟合一棵CART回归树。GBDT算法无论处理回归问题还是分类问题使用的决策树都是CART回归树原因是GBDT每次迭代要拟合的是梯度值是一个连续值所以要用回归树。
1-1 Gradient Boosting(GB) 梯度迭代 Gradient Boosting是Boosting中的一大类算法它的思想借鉴于梯度下降法其基本原理是根据当前模型损失函数的负梯度信息来训练新加入的弱分类器然后将训练好的弱分类器以累加的形式结合到现有模型中。即通过迭代多棵树来共同决策。GBDT的核心就在于每一棵树学的是之前所有树结论和的残差这个残差就是一个加预测值后能得真实值的累加量。 例如A的真实年龄是18岁但第一棵树的预测年龄是12岁差了6岁即残差为6岁。那么在第二棵树就会把A的年龄设为6岁去学习如果第二棵树真的能把A分到6岁的叶子节点那累加两棵树的结论就是A的真实年龄如果第二棵树的结论是5岁则A仍然存在1岁的残差第三棵树里A的年龄就变成1岁继续学。这就是Gradient Boosting在GBDT中的意义。
1-2 Decision Tree(DT)决策树 Decision Tree决策树。决策树分为两大类回归树和分类树。前者用于预测实数值如明天的温度、用户的年龄、网页的相关程度后者用于分类标签值如晴天/阴天/雾/雨、用户性别、网页是否是垃圾页面。这里要强调的是前者的结果加减是有意义的如10岁5岁-3岁12岁后者则无意义如男男女到底是男是女 GBDT的核心在于累加所有树的结果作为最终结果就像前面对年龄的累加-3是加负3而分类树的结果显然是没办法累加的所以GBDT中的树都是回归树不是分类树。
2.GBDT的原理 提升树利用加法模型与前向分歩算法实现学习的优化过程。当损失函数是平方误差损失函数和指数损失函数时每一步优化都比较简单。假设现在有x(1,2,3),y(11,12,13),具体的流程如下。 3.GBDT公式推导
1.定义基模型DT 2.模型相加 3.损失函数 参数w是每个基线模型决策树的参数也就是每个基模型的每个分裂特征和每个分裂阈值。 4.公式变形 由于是向前加和最终模型的输出等于m个基线模型的输出相加。对公式进行变形最终的模型输出等于前m-1个基线模型的输出与第m个基线模型输出相加。 5.损失函数变形 将第4步中的变形的公式带入到损失函数中得到损失函数的变形表示。 为真实值 为截止到第M-1颗树的预测值为第M颗树的预测结果。 6.换元表示 ri表示的是在训练第M颗树的时候截止到当前的残差值(误差) 其中损失函数为平方误差并且GBDT规定利用损失函数的负梯度在当前模型的值作为残差的近似值。
损失函数 。当前模型的值为。
残差近似值为 4.GBDT详细过程 向前分布的算法的核心目标针对训练集合中的所有样本每增加一个优化器都要确保整体损失下降。