基于模型的提升和梯度提升之间的区别

数据挖掘 助推
2022-03-09 03:27:41

基于模型的提升和梯度提升之间究竟有什么区别?有关基于模型的提升的介绍,请参阅https://cran.r-project.org/web/packages/mboost/vignettes/mboost_tutorial.pdf 在我看来,这两个术语是等价的。但是,两者都在各种文献中使用...

2个回答

Gradient Boosting 将基础学习器拟合到现有模型的损失函数的梯度,即找到最小化其中是当前迭代相对于的梯度实际上它是函数空间中的梯度下降。fi(X)Fi1(X)fiL(gi,ft(xi))giL(yi,y^i)y^=Fi1(X)i

组件明智的提升方案,例如使用的mboost有一个基础学习者列表,在每个步骤中选择一个,即

form2 <- y ~ bols(x1) + bols(x2) + bols(x1, by = x2, intercept = FALSE) +
               bspatial(x1, x2, knots = 12, center = TRUE, df = 1)

指定 4 个可能的基础学习器bols(x1)bols(x2)它们都是回归样条。bols(x1,by=x2)bspatial(x1,x2)

更一般地,梯度提升决策树在每一步都适合一棵树。所以基础学习器可以说更复杂。

我相信基于模型和功能的术语是等价的,' mboost'和GBDT都是例子。

我认为基于模型的提升是梯度提升的概括,它允许比树更复杂的基础预测器。

参考: http ://www.jmlr.org/papers/volume11/hothorn10a/hothorn10a.pdf