另一方面,提升方法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(内有大量免费资源哦!)
版权声明:本文为博主原创文章,未经博主允许不得转载。如要转载请与本人联系。