扁平足是什么GBDT梯度提升之回归算法个⼈理解
水深危险前⾯的⽂章中介绍了梯度提升⽅法,将梯度提升⽅法中的基学习器替换成CART回归树模型,梯度提升⽅法就变成了梯度提升回归树GBDT⽅法。
GBDT算法的思想与类似,不同点在于残差的计算:
行政文员的工作内容和职责1、⾸先对于数据集初始化⼀个简单模型,对于回归问题,可以初始化⼀个树桩(只有⼀个根节点的树),树桩的值为所有样本的均值
2、计算损失函数对于函数的偏导数,以平⽅损失为例,损失函数关于的偏导数是计算
3、计算第⼆步得到的偏导数在当前函数模型的值,并将值乘以-1(也就是损失函数的负梯度)来近似模型的预测残差4月什么星座
4、然后使⽤残差作为新的训练集的标签值label, 继续训练新的回归树模型,得到本轮在残差上学习的回归树模型
,每个叶⼦节点计算⼀个输出值c(对于MSE损失函数的最佳输出值就是叶⼦节点上样本的均值,并且是残差的均值),输出值c使得每个叶⼦节点的损失值最⼩
5、更新学习到的整体模型,其中表⽰新得到的回归树的叶⼦节点,表⽰样本
吃什么对身体好
落在回归树的第j个叶⼦结点上,是符号函数,当则取值为1,否则为0,表⽰回归树第j个叶⼦节点的预
测输出,也就是说,如果样本x落在第j个叶⼦结点上,则预测结果就是,将学习到的多个模型结果相加得到最终模型。
6、回到步骤2再次计算损失函数的负梯度在当前的值作为残差,步骤3再次学习得到⼀个新的,步骤4继续更新
GBDT关键参数:
少儿音乐
1、n_estimators: 基学习器的数量,也就是学习多少个弱学习器进⾏组合
2、learning_rate(也就是有些地⽅说的shrinkage): ⽤于控制每个模型对最终模型的贡献度,起到正则化的作⽤,防⽌过拟合,lr越⼩,对应的迭代次数 n_estimator 就要⼤⼀些,学习率的使⽤如下:
女人不坏
3、subsample:控制每次训练时使⽤的训练样本⽐例,如果取值⼩于1.0,表⽰每次只使⽤部分训练集训练弱学习器,这样得到的弱学习器过拟合的可能性就⼩,同样起到正则化的作⽤。通过偏差和⽅差解释就是,降低了⽅差(整体上打的离⽬标更准了),增⼤了偏差(具体到每个具体的⽬标,可能每个具体的⽬标打的都不如之前准了,⽐之前单个⽬标的准度稍微差了⼀丢丢)
4、还有⼀堆控制树的深度,叶⼦节点个数的参数,也就是控制树的复杂度,树越复杂,模型拟合越好,也约有可能过拟合,⽅差就可能越⼤,偏差就可能越⼩。
5、GBDT参数较多,最佳超参数可以使⽤GridSearch⽹格搜索来进⾏,⽹格搜索说⽩了就是排列组合的⽅式,通过交叉验证把所有的参数组合都试⼀遍,找到交叉验证结果最好的⼀组参数,可想⽽知学习过程的计算量那是相当的⼤,超级慢。
扶桑花的花语参考链接:
scikit-learn官⽹: