博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ML:随机森林、GBDT、XGBoost
阅读量:4060 次
发布时间:2019-05-25

本文共 812 字,大约阅读时间需要 2 分钟。

RF、GBDT、XGBoost都属于集成学习。

通过结合多个基学习器都预测结果来改善单个学习器的泛化能力。

集成学习分为两大类:

  • boosting:个体学习器之间存在强依赖关系、必须串行生成的序列化方法。
  • bagging:个体学习器之间不存在强依赖关系,可同时生成的并行化方法。

RF:

提到随机森林就不得不提Bagging。
Bagging简单理解为,放回抽样、多数表决。

1、随机选择样本(放回抽样,每棵树采用60%样本)

2、随机选择特征,每个决策树只选特征集合的子集,然后再采用最优划分。
3、构建决策树,每棵决策树最大可能生长不剪枝,过拟合。
4、随机森林投票,分类任务采用简单投票法,回归任务采用简单平均法。

起始性能较差,随着学习器数目增多,收敛到更低的泛化误差。

在噪声较大的分类或回归问题上容易过拟合。

能够处理高纬数据,在训练完毕后,给出特征的重要性。


GBDT:

不得不提boosting。

每个新分类器根据已经训练的分类器的性能来训练。
Boosting通过关注被已有分类器错分的那些数据来获得新的分类器。
(注意:错分的数据)

每一次计算都是为了减少上一次的残差。

GradientBoost中,使之前的模型残差往梯度下降的的方法。

利用损失函数的负梯度在当前模型的值作为残差的近似值,进而拟合一颗CART回归树。

GBDT都是CART回归树、而不是分类树。

优点:灵活处理各类型数据。

缺点:难以并行训练数据。


XGB:

最大的认知在于其能够自动运用CPU多线程进行并行计算。

GBDT在优化时只用到一阶导数,XGB对代价函数进行二阶太累展开,得到一阶和二阶导数。

XGB在代价函数中加入了正则项,用于控制模型对复杂度。

shrinkage(缩减),相当于学习率,XGB在进行完一次迭代时,会将叶子节点的权值乘上该系数,消弱每棵树的影响,让后面有更大的学习空间。

XGB对分裂节点处理上做了优化。

转载地址:http://nywji.baihongyu.com/

你可能感兴趣的文章
大数据入门:Zookeeper结构体系
查看>>
大数据入门:Spark RDD基础概念
查看>>
大数据入门:SparkCore开发调优原则
查看>>
大数据入门:Java和Scala编程对比
查看>>
大数据入门:Scala函数式编程
查看>>
Remove Duplicates from Sorted List II
查看>>
Spiral Matrix
查看>>
Sudoku Solver
查看>>
Bitwise AND of Numbers Range
查看>>
Happy Number
查看>>
Count Primes
查看>>
Isomorphic Strings
查看>>
Reverse Linked List
查看>>
Android面试题整理【转载】
查看>>
【opencv学习笔记】010之图像非线性滤波原理与操作(中值滤波、双边滤波)
查看>>
【opencv学习笔记】011之基本形态学操作(膨胀与腐蚀)
查看>>
【CryptoZombies - 1 Solidity 教程】010 msg.sender
查看>>
【opencv学习笔记】012之形态学操作(开闭操作,形态学梯度,顶帽与黑帽)
查看>>
【CryptoZombies - 1 Solidity 教程】011 Require
查看>>
【CryptoZombies - 1 Solidity 教程】012 继承(Inheritance)和 引用 (import)
查看>>