机器学习 40 讲
王天一
工学博士,副教授
35375 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 46 讲
机器学习 40 讲
15
15
1.0x
00:00/00:00
登录|注册

27 | 万能模型:梯度提升与随机森林

产生包外样本,起到验证集的作用
去除各独立模型之间的相关性
体现了多样性思想
让每个单独的基学习器不会过分关注在训练集中具有高度预测性或描述性的特征
解释了集成学习中强调多样性的原因
集成模型的分歧和均方误差之间的关系
数据随机化
属性随机化的思想
使用自助采样和随机选择少量的特征来生成树结构
由若干个随机树模型组成
在回归问题中,用新的基学习器去拟合残差,作为对上一个模型的修正
通过迭代地选择指向负梯度方向的函数来优化整个函数空间上的代价函数
将提升方法视为函数式的迭代梯度下降算法
将提升方法和最优化中的梯度下降结合
将损失函数的选择扩展为任意的可微函数
思想来源于对提升方法的推广
可用在决策树模型上
误差-分歧分解
随机森林
梯度提升决策树(GBDT)
提升法和装袋法
性能与可解释性的矛盾
梯度提升与随机森林
机器学习中的万能模型

该思维导图由 AI 生成,仅供参考

上一篇文章中我和你分享了提升法和装袋法这两种典型的集成方法,它们都可以用在决策树模型上,对多棵不同的树进行组合。然而直接使用这两种集成方法只是初级的策略,将它们的强化版用在决策树上可以得到更加强大的万能模型,也就是梯度提升决策树和随机森林。
梯度提升(gradient boosting)的思想来源于对提升方法的推广。显式的提升方法本身可以解释为对一个合适的损失函数的优化,如果将损失函数的选择扩展为任意的可微函数,并将提升方法和最优化中的梯度下降(gradient descent)结合起来,得到的就是梯度提升。
梯度提升将提升方法视为函数式的迭代梯度下降算法,通过迭代地选择指向负梯度方向的函数,也就是弱学习器来优化整个函数空间上的代价函数。在 AdaBoost 中,每个弱学习器的短板通过权重的加强得以凸显;而在梯度提升中,凸显的方式被替换成了梯度。
要理解梯度提升方法的妙处,还是要先从回归问题说起。在解决回归问题时,模型的输出 和真实值 之间的差值 被称为残差(residual),它表示了数据中模型所不能刻画的那些部分。
传统的单一模型对残差无能为力,可集成方法的引入给处理残差提供了新的思路,那就是用新的基学习器去拟合残差,作为对上一个模型的修正。将拟合真实值 和拟合残差 的模型集成起来,可以获得更加精确的拟合结果。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

梯度提升决策树(GBDT)和随机森林是机器学习中的两种强大的集成方法。GBDT利用梯度下降算法不断拟合残差,生成全能模型,而随机森林由多个随机树组成,利用属性随机化和数据随机化提高模型的泛化性能。这两种方法在机器学习中具有重要意义,能够帮助提升模型的性能和泛化能力。此外,文章还介绍了误差-分歧分解理论,解释了集成学习强调基学习器多样性的原因。总的来说,本文深入探讨了梯度提升决策树和随机森林的原理和应用,以及集成学习的理论基础,为读者提供了深入了解这两种集成方法的机会。文章内容丰富,涵盖了理论和实践,对于想要深入了解机器学习集成方法的读者来说,是一篇值得阅读的文章。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《机器学习 40 讲》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(9)

  • 最新
  • 精选
  • 小博
    老师,请问梯度提升这里的提升具体体现在哪里呢?只是残差的拟合吗?还有梯度提升是在函数空间的优化和梯度下降是在参数空间的优化这两个说法怎么理解呢

    作者回复: 体现在通过残差拟合的手段将多个弱学习器组合成强学习器,降低偏差和方差。 两个的作用域不同。梯度下降是针对单个模型的参数优化,找到最优的一组参数;梯度提升是用多个模型的组合来逼近问题的解,每个模型其实都是一个函数。

    2018-08-28
    4
  • Ophui
    在训练数据中想刻意的增加某些特征的权重,有什么办法么?

    作者回复: 机器学习的目的其实就是确定哪些特征对输出的影响更大,也就是具有更大的权重,这在线性模型里体现的最为直观。增加权重说明你已经认定这些特征更重要,那就不需要再训练了。 如果非要做的话,在线性模型中可以给属性额外乘以一个放大系数,在决策树里可以放大属性的信息增益,在随机森林里可以给每棵树都选定这个属性。使用的模型不同,方法也不一样。

    2018-08-04
    2
  • hayley
    什么情况下选RF,什么情况下选GBDT呢?

    作者回复: 两种都是比较通用的方法,在具体问题上可以择优使用,看看哪个效果好。

    2018-10-08
  • 林彦
    Practical Lessons from Predicting Clicks on Ads at Facebook

    作者回复: 输入LR的特征维度是所有树的叶子节点的组合,也就是14个特征。树的作用是onehot编码,把实值的特征向量变成二值类别向量。文中的解释是这样的转化本质上是定义了一组规则,线性模型是在给每一棵树里的每个叶子节点所表示的规则生成权重。

    2018-08-23
  • 林彦
    王老师,我对于Facebook 在其广告系统中使用的GBDT+LR的融合方法在LR这一步的输入有些困惑。 传统的LR模型,输入就是权重与特征值相乘求和再放入sigmoid函数中。 GBDT在Facebook广告系统预测点击的那篇论文中,我的理解是这样的。假设有5棵树,每棵树的节点数可能是不同的(根据文章中的一个简单例子)。假设我们5棵树的叶子节点数分别是2,3,2,4,3,合计有14个叶子节点。其中一个训练样本在5棵树的输出结果是[0, 1],[0, 1, 0],[1, 0],[0, 0, 1, 0],[0, 0, 1]。把树的输出结果作为LR的输入时是相当于每个样本看成有14个特征,每个特征只有0和1两种取值,然后求这14个特征的权重令最后的LR模型的预测输出和训练样本的真实结果值,取值为0,1(代表点击或未点击)的误差最小化吗?或者LR模型的输入特征是5个,对应5棵GBDT树的输出结果,如果这样,5棵树的叶子节点数不同时,权重如果只是一个标量,貌似没法求和得到一个标量值。 谢谢。

    作者回复: 这篇论文的题目是什么?

    2018-08-22
  • ifelse
    随机性太强,已经没法精确解析
    2023-06-12归属地:浙江
    1
  • ifelse
    学习打卡
    2023-06-12归属地:浙江
  • Geek_4b73dd
    老师,对于分歧分解还有一些疑问,不知道对不对。如果我理解正确的话,和而不同是只每个基分类器需要有不同的结果,但同样也要使得和真实值比较接近。举例来说,假设二分类问题有11个基分类器,如果按照majority voting来得到集成结果的话,在结果为正确的情况下(Y =1),最大化分歧就是11个基分类器最好是有6个是1,或者6个是0;而最小化E(均方误差)也就是11个基分类器都是1;所以这其实也只是bias variance trade off,并不一定是基分类器之间越independent越好对不对?谢谢老师啦
    2018-12-31
  • 林彦
    性能的提高可以通过把数据映射到高维,层次化,或者老师讲授的局部化等方法来实现。这些数学变换未必都有直观可解释的属性,属性组合及划分或变换方式对应。 我们的理解程度和变换对于复杂问题的解决能力在不少场景下就是不易同时满足的,除非我们对一些事物的认知提高到一个更宏观或微观的新层次。
    2018-08-21
收起评论
显示
设置
留言
9
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部