300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > [机器学习算法]GBDT梯度提升决策树

[机器学习算法]GBDT梯度提升决策树

时间:2019-04-21 19:31:47

相关推荐

[机器学习算法]GBDT梯度提升决策树

参考:/google19890102/article/details/51746402/

一、回顾

1、有监督学习方法

(1)、模型:给定自变量和因变量进行预测或者分类

(2)、参数:模型中需要学习的东西

(3)、目标函数:损失+正则,误差函数(解决模型中多拟合数据的问题),正则化项(惩罚复杂模型)

(4)、优化算法:给定目标函数后怎么学的问题,比如决策树每一步优化gini index

2、梯度下降法

梯度下降法(Gradient Descent,GD)算法是求解最优化问题最简单、最直接的方法。梯度下降法是一种迭代的优化算法,对于优化问题:

迭代步骤为:

(1)随机选取初始点

(2)重复执行:

a.决定下降的方向:i

b.选择步长

c.更新:

(3)直至满足停止迭代条件

上图是梯度下降法的具体过程,由初始值经过不断迭代得到最优解。

3、梯度下降法在函数空间的优化:

上述梯度下降法是在指定的函数中找到最优解,而我们需要在函数空间中查找到最优的函数。

设置初始值:,对于每一个样本,都存在对应的函数值。经过M次迭代,得到最优的函数:。具体的梯度下降法在函数空间中的应用参照文献。

4、boosing与bagging

bagging通过对训练样本重新采样得到不同的训练样本集,在这些新的训练样本集上分别训练学习器,然后等权重得合并多个学习器。Bagging方法中最重要的就是随机森林算法,各个基学习器之间相互独立,从而Bagging算法更容易并行。

Boosting中,学习器之间存在先后顺序,同时每个样本具有权重,初始时每个样本的权重相等,随后增大错误样本的权重再进行下个学习期的学习,最终不同学习器的权重不同。

具体关于boosting和bagging算法的异同以后会整理在博客中。

二、Gradient Boosting

上图Boosting方法中最终预测的函数为:,基于函数的优化得到最优的预测函数与上面第一部分中的3介绍的梯度下降方法在整个函数空间中的应用相似,从而这也被称为基于梯度的Boost方法。具体算法步骤如下:

三、Gradient Boosting Decision Tree

在上面简单介绍了Gradient Boost框架,梯度提升决策树Gradient Boosting Decision Tree是Gradient Boost框架下使用较多的一种模型,在梯度提升决策树中,其基学习器是分类回归树CART,使用的是CART树中的回归树。

1、分类回归数CART

关于CART的内容会在其他博客中补充

2、GBDT二分类算法可以帮助理解GBDT

四、GBDT与Boosting

boosting算法中对错误分类的样本会分配更高的权重,最后对学习到的多个学习器进行组合,但是GBDT算法中并未有权重的改变,和boosting有什么关系?Gradient Boosting与Boosting区别在于,每一计算的是为了减少上一次的残差,下一个模型主要在残差减少的梯度方上建立模型,使得残差往梯度方向上减少。

虽然不同,但是GBDT算法会更关注那些梯度比较大的样本,和Boosting思想类似。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。