【树模型与集成学习】(task6)梯度提升树GBDT+LR

学习总结

(1)不同问题的提升树学习算法,主要区别在于使用的损失函数不同,如用平方误差损失函数的回归问题、用指数损失函数的分类问题、用一般损失函数的一般决策问题等。
【树模型与集成学习】(task6)梯度提升树GBDT+LR_第1张图片
(2)不管是二分类问题的提升树,还是回归问题的提升树,这里的损失函数都很方便:前者是用指数损失函数,所以可以当做是Adaboost的个例,Aadaboost的流程;而后者是当使用平方误差损失时,可以直接拟合残差

而使用不同的损失函数,对应的凸优化问题不同,现在我们希望找到一个通用的方式,求解一般性凸优化问题——GBDT就是用来解决该问题(大体过程如上图)。

由于GBDT是利用残差训练的(用负梯度去拟合残差),在预测的过程中,我们也需要把所有树的预测值加起来,得到最终的预测结果。

(3)我们把以决策树为基础的一系列模型统称为树模型,也是 AI 比赛中最常用的模型。

  • 决策树经历了三次改进,ID3、C4.5、CART,主要区别在于一个根据信息增益划分特征、一个根据信息增益率、一个根据基尼指数。
  • 随机森林=决策树+Bagging集成学习
  • GBDT=决策树+AdaBoost集成学习
  • XGB是陈天奇2014年提出,相当于GBDT的工程改进版,在实用性和准确度上有很大提升。比如:使用泰勒二阶展开近似损失函数,支持处理缺失值、在特性粒度上并行计算等等特性。

(4)Gradient Boosting是Boosting中的一大类算法,基本思想是根据当前模型损失函数的负梯度信息来训练新加入的弱分类器,然后将训练好的弱分类器以累加 的形式结合到现有模型中。在每 一轮迭代中,首先计算出当前模型在所有样本上的负梯度,然后以该值为目标训练一个新的弱分类器进行拟合并计算出该弱分类器的权重,最终实现对模型的更新。

文章目录

  • 学习总结
  • 一、GBDT+LR简介
  • 二、逻辑回归模型
  • 三、GBDT模型
    • 3.1 初始化GBDT
    • 3.2 循环生成决策树
      • 1. 计算负梯度得到残差
      • 2. 使用回归树来拟合 r i m r_{im} rim
      • 3. 对于每个叶子节点 j j j, 计算最佳残差拟合值
      • 4. 更新模型 F m ( x ) F_m(x) Fm(x)
  • 四、GBDT+LR模型
    • 4.1 训练阶段
    • 4.2 预测阶段
    • 4.3 几个关键点
  • 五、用于回归时的GBDT
    • 5.1 函数空间的优化问题
    • 5.2 调节学习率环节过拟合
    • 5.3 另一角度:转换损失函数
  • 六、用于分类时的GBDT
    • 6.1 GBDT拟合的对象和流程
      • (1)将 K K K次拟合减少至 K − 1 K-1 K1次拟合
      • (2)求出负梯度
      • (3)初始化 F ( 0 ) \textbf{F}^{(0)} F(0)
    • 6.2 单调约束(Monotonic Constraints)
  • 七、作业
    • 7.1 GBDT和梯度下降的联系
    • 7.2 GBDT用于分类问题的算法流程。
    • 7.3 为什么使用集成的决策树? 为什么使用GBDT构建决策树而不是随机森林?
    • 7.4 面对高维稀疏类特征的时候(比如ID类特征), 逻辑回归一般要比GBDT这种非线性模型好, 为什么
    • 7.5 实现GBDT的分类树
    • 7.6 实现GBDT的回归树
    • 7.7 GBDT的优缺点

你可能感兴趣的:(推荐算法,#,集成学习与Kaggle,GBDT,推荐算法,机器学习)