请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Gradient Boosting各个子模型之间使用的样本是一样的么,还是子模型2的输入数据只是模型1预测错的那部分数据

Gradient Boosting各个子模型之间使用的样本是一样的么,还是子模型2的输入数据只是模型1预测错的那部分样本数据

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2020-03-06 03:22:48

模型 2 的样本和模型 1 的样本完全一致。只不过对应的 y 变了,是真正的 y 和模型 1 预测的 y 的差。也就是 模型 2 拟合的是不能被模型 1 拟合的那部分。这里的“那部分”,不是从 x 的角度说的,而是从 y 的角度说的。


==========


我明白你的意思了。是这样的:gradient boosting 的原理主要作用在回归问题上。请首先基于回归问题。可以再理解一下上面我的回答,在回归问题上,应该很清晰。


比如 y 的真值是 1.5,但是模型 1 预测的结果是 1.2,那么对于模型 2 来说,这个 x 对应的 y 就是 0.3。也就是模型 2 的作用是预测出模型 1 的误差,把模型 1 犯得错误修正。当然,模型 2 可能也有误差,于是需要模型 3,依次类推。


但是,gradient boosting 的思想可以用在分类问题上。但是内部的具体计算,依然是回归的思路:计算的是损失函数的值。因为即使是分类问题,落实到具体计算上,我们依然是在最小化损失函数(再回顾一下逻辑回归?)如果损失函数是 0,我们的分类任务就 100% 正确了。


对于此,可以看一下 sklearn 的 GradientBoostingClassifier 的文档,说的很清晰:GB builds an additive model in a forward stage-wise fashion; it allows for the optimization of arbitrary differentiable loss functions


划重点:differentiable loss functions。Gradient Boosting Classifier 是一个逐渐优化可微分的损失函数的过程。


传送门:https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html 


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 慕虎6493860 #1
    模型2的样本的x完全和模型1的x一样,如果模型1预测对了70%,那么在模型2的输入样本中y就会有70%为0,剩下的30%为差值,模型2就不会对那些y为0(模型1预测对的那些点)的值产生预测么,如果模型2吧模型1预测对的值给预测错了,这种情况会怎样,还有模型2和模型1的使用的同一种算法模型吧
    回复 有任何疑惑可以回复我~ 2020-03-06 10:50:24
  • liuyubobobo 回复 提问者 慕虎6493860 #2
    我在我原有的回答中进行了补充。继续加油!:)
    回复 有任何疑惑可以回复我~ 2020-03-07 06:08:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信