gbm简介
gbm是通用梯度回归模型(Generalized Boosted Regression Models)简称。GBDT(Gradient Boosting Decision Tree)又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终结果。gbm扩展了Freund and Schapire的Adaboost算法和Friedman的梯度提升机(gradient boosting machine)。
[图片上传失败...(image-32b7ea-1540222324149)]
gbm包
实际上,梯度提升算法并不特指某个特定模型,而是一种机器学习思想,被人们运用到许多传统的模型中而形成了一类强大的机器学习方法。有趣的是,gbm包的全称也并不是Gradient Boost Machine,而是generalized boosted regression models—广义提升回归模型,即运用了boosting算法的广义回归模型,既可以解决回归问题,也可以解决分类问题。
gbm包中最主要的函数为gbm/gbm.fit。函数提供了很多参数以进行模型调优。
(1)distribution:模型计算损失函数时,需要对输出变量的数据分布做出假设。对于分类问题,选择bernoulli或者adaboost;对于连续因变量,选择gaussian或者laplace。
(2)shrinkage:学习速率,一般来说学习速率越小,模型表现越好。令shrinkage=0.001得出的模型几乎一定比shrinkage=0.01的模型好,然而代价是前者运算所需的时间和所耗内存将是后者的10倍。所以选择的准则是在可以承受的时间和内存范围内,shrinkage越小越好。
(3)n.trees:即number of iteration—迭代次数。选择这个参数要特别注意,因为这个值过大,可能会导致过拟合。
(4) interaction.depth:每棵树的分叉数目,这个参数控制着提升集成的复杂程度。更通俗地说,这个参数控制着提升模型的交互顺序。在实践中,取值为1通常就有比较好的效果。
GBM有以下特点:
- 可以和随机森林这样的高性能算法竞争。
- 能保持可靠的预测表现,并且能避免无意义的预测。
- 能明确地处理缺失数据。
- 无需进行特征缩放。
- 能处理的因子水平比随机森林更高。
- 没有已知的对特征变量数目的限制。
网友评论