首页 > 编程知识 正文

xgboost解决了什么问题,xgboost回归算法原理

时间:2023-05-06 19:54:38 阅读:32114 作者:1493

另一方面,提升方法1.XG提升(extremegradientboosting ) XG提升是梯度提升的算法、残差决策树,其基本思想是:一棵树逐渐添加到模型中,一个科威特决策树整体效果)降低目标函数)的多根决策树(多个单一的弱分类器)构成组合分类器,对每个叶节点赋予一定的权重。

这里所说的决策树是分类和回归树crat [ classificationandregressiontree,CART。 CART决策树是二叉树,内部节点特征值取“是”和“否”,左分支取值“是”,右分支取值“否”。 CART根据属性向各叶节点分配输入,使得分值(权重)对应于各叶节点之上。

2. GBDT传统的GBDT以CART为基础分类器,优化时只使用一阶导数信息,

Boosting Tree树数据挖掘和机器学习中常用的算法之一,对输入要求不敏感,效果好,广泛用于工业界。

二、训练误差(Train loss )和正则化罚项(Regularization )目标函数=训练误差正则化罚项

1.训练误差或损失函数、测量模型预测值和真值误差中常见的损失函数如下

-均方误差损失函数

--logistic损失函数

2.正则化罚项,用于测量模型复杂度,避免过拟合的常用正则化罚项如下

A.L1正则化(1-胖绿色) :模型参数 的L1正则项

设为L1带正则化的损失函数:

二维求解损失函数,可以绘制图像

彩色实线为J0的等值线,黑实线为L1正则等值线。 在二维空间(假设权重向量只有w1和w2 )上,L1正则项的等值线是正方形,当正方形与J0的等值线相交时,相交点为顶点的概率高,w1或w2为零的概率高。 因此,使用L1正则项的解具有稀疏性。

用途:由L1正则化导出的稀疏性质已经广泛用于特征选择,特征选择可以从可用特征子集中选择有意义的特征。

B.L2正则化(2-胖绿色) :模型参数的L2正则项

即,权重向量中各要素的平方和; 答:通常取1/2。 L2正则也被称为“权重衰减”(weight decay )或“岭回归”

设为L2带正则化的损失函数:

二维求解损失函数,可以绘制图像

彩色实线为J0的等值线,黑实线为L2正则等值线。 在二维空间(假设权重向量只有w1和w2 )上,L2正则项的等值线是圆,并且当圆与J0的等值线相交时,w1或w2为零的概率较低。 因此,使用L2正则项的解不具有稀疏性。

用途: L2通常倾向于尽量减小权重,最后建立所有参数较小的模型。 这是因为参数值较小的模型比较简单,可以适应不同的数据集,在一定程度上也可以避免拟合现象。 参数足够小,即使数据略有偏差也不会对结果产生什么影响,所以可以说是“抗干扰能力强”。

L1和L2正则是比较常见和常用的正则化项,都可以达到防止过拟合的效果。

补充智能绿草的概念

(潇洒的绿草((x )1=x1x 2…xn

-即向量元素绝对值之和

2 (潇洒的绿草((x )2=x12x 22…xn2 )1/2

--Euclid重新划分胖绿草(ssdfg胖绿草,经常计算向量长度),即向量元素绝对值的平方和

-胖绿草: ((x () ()=maxx1,x2,…,xn ),即所有向量元素绝对值中的最大值

-胖绿草: ((x ) -=minx1,x2,…,xn,即所有向量元素绝对值中的最小值

p-胖的绿草: (x (p=x1 px2p…xn P1/p,即矢量元素绝对值的p次幂和1/p次幂

三.推导目标函数案例

下面的例子是预测喜欢电脑游戏的可能性。 用分数表示叶节点的权重,可以进行概率预测、排序等。

由于一个CART往往过于简单,无法高效预测,因此更有效率的是使用多个CART进行融合,以综合的方法提高预测效率。

假设有两棵树回归,两棵树融合后的预测结果如下图所示。

1 .训练误差(损失函数)预测值:

-样本xij和权重wj的线性组合

-wj :叶节点权重

-一棵决策树中第I个样本的第j个叶节点的加权累积和

训练误差(损失函数) :

-损失函数(越小越好)不是唯一的,所以在这里用均方误差的方法计算

-第I个样品由一个决定

策树上的均方误差

最优函数解:

   --所有样本在一棵决策树上的训练误差的数学期望(平均值)的最小值

   -- argmin f(x):指使得函数f(x)取得其最小值的所有自变量x的集合。比如,函数cos(x)在±π、±3π、±5π、…处取得最小值(-1),则argmin cos(x) = {±π,±3π,±5π,...}。如果函数 f(x)只在一处取得其最小值,则 argmin f(x)为单点集,比如 argmin (x-4)^2 =4。

 

2.正则化惩罚项

    当目前为止,讨论了模型中训练误差的部分。下面来探讨模型复杂度 的表示方式。

    类似于决策树与随机森林,为了防止过拟合的风险过高,要限制叶子节点的个数,因此引入正则化惩罚项(损失函数) :

   -- 越小越好

   -- γ:惩罚系数(人工设置),该值越大,说明叶子节点数的惩罚力度越大,损失值也就越大;反之亦然

   -- Tleaf:叶子节点数,该值越大损失越大

   -- :对于w权值参数的正则化惩罚项(L2正则化),类似于线性回归,神经网络, a取1/2

 

3.目标函数

    综上所述,目标函数由两部分组成:训练误差(均方误差)+损失函数 (正则化惩罚项)。目标函数不仅要优化预测值与真实值之间的差异,还要考虑过拟合的风险。

 

四、优化目标函数

  

    现在还剩下一个问题 ,如何选取每一轮加入什么呢?答案是非常简单的,选取一个f来使得目标函数尽可能最大的降低

    在每一轮加入一棵树时,都要把前面的树当成一个整体,然后计算出一个残差值,加进来的树通过优化残差值来使得残差值最小

    目标函数的化简推导

   不考虑常数项,常数项对优化求解是没有影响的

i:样本

n:样本总数

j:叶子节点

T:叶子节点总数

k:决策树

K:决策树总数

    将对样本的遍历转换为对叶子节点的遍历(然后在叶子节点里面再对样本进行遍历),遍历样本和遍历叶子节点实际上是一样的,因为最后所有的样本都会落到叶子节点上。

    每一个叶子节点都要计算里面所有样本的一阶导、二阶导的累加和(因为每一个样本的一阶导、二阶导都不一样)

    用推导出来的目标函数来决定决策树的构造过程(在哪里切割),分别计算在不同地方切割的增益值,然后进行比较即可

 

五、利用目标函数构造决策树

    Obj代表了当我们指定一个树的结构的时候,我们在目标上面最多减少多少,我们可以把它叫做结构分数。类似于Gini系数一样更加一般的对于树结构进行打分的函数。

    下面是一个具体的打分函数计算的例子。

更多AI资源请关注公众号:大胡子的AI

欢迎各位AI爱好者加入群聊交流学习:882345565(内有大量免费资源哦!)

版权声明:本文为博主原创文章,未经博主允许不得转载。如要转载请与本人联系。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。