机器学习——GBDT、GBRT
相较于AdaBoost的经典算法模型而言,目前主流的是GBDT系列模型,与AdaBoost(其组合可以是任意单模型)不同的是,提升树(boosting tree)的弱分类器只能是决策树模型。
利用损失函数的负梯度求解(为什么会采用这种方式进行求解呢?因为在损失函数为平方或者对数形式时,前向分布算法的求解比较容易,但是损失函数如果是一般的形式,那么其向前分布算法的求解迭代过程是不容易的,故此时可以采用负梯度求解的方式解决)提升树前向分布迭代过程的方法是梯度提升树(gradient boosting tree)
GBDT(梯度提升决策树,gradient boosting decision tree),其组成的模型为CART决策树。针对分类问题进行解决的,其分类的基本模型为二叉分类树,其对应的梯度提升决策树称为GBDT;针对回归问题进行解决的,其回归的基本模型为二叉回归树,其对应的梯度提升回归树称为GBRT(gradient boosting regression tree)
其实GBDT和GBRT很好理解,就是对决策树进行组合,一个决策树解决了一个任务80%,下一个决策树解决剩余损失的20%中70%,最终不断的进行决策树的迭代,得到最优的决策结果,这其中决策树组合就是提升决策树。使用梯度下降法对提升决策树进行优化的过程就是梯度提升树模型
GBDT的实现流程(其整体的构建过程总结为:点-》一个树-》多个树):树结点-》CART(分类树/回归树)-》GBDT(基本超参数-》拟合方法-》预测方法)-》损失函数(交叉熵损失-》均方损失-》一阶导数)-》辅助函数(数据标准化-》数据划分方法-》数据打乱方法)
其适用场景在对于一个数据集需要对其进行分类(GBDT需要对标签进行编码)或者回归预测(GBRT)的任务。GBDT和GBRT在sklearn中都封装好了,到时候直接进行调用即可快速实操