最常用的决策树算法!Random Forest、Adaboost、GBDT 算法
点击上方“Datawhale”,选择“星标”公众号
第一时间获取价值内容
集成学习
那么,为什么集成学习会好于单个学习器呢?原因可能有三:
训练样本可能无法选择出最好的单个学习器,由于没法选择出最好的学习器,所以干脆结合起来一起用;
假设能找到最好的学习器,但由于算法运算的限制无法找到最优解,只能找到次优解,采用集成学习可以弥补算法的不足;
可能算法无法得到最优解,而集成学习能够得到近似解。比如说最优解是一条对角线,而单个决策树得到的结果只能是平行于坐标轴的,但是集成学习可以去拟合这条对角线。
偏差与方差
上节介绍了集成学习的基本概念,这节我们主要介绍下如何从偏差和方差的角度来理解集成学习。
2.1 集成学习的偏差与方差
偏差(Bias)描述的是预测值和真实值之差;方差(Variance)描述的是预测值作为随机变量的离散程度。放一场很经典的图:
- 偏差:描述样本拟合出的模型的预测结果的期望与样本真实结果的差距,要想偏差表现的好,就需要复杂化模型,增加模型的参数,但这样容易过拟合,过拟合对应上图的 High Variance,点会很分散。低偏差对应的点都打在靶心附近,所以喵的很准,但不一定很稳;
- 方差:描述样本上训练出来的模型在测试集上的表现,要想方差表现的好,需要简化模型,减少模型的复杂度,但这样容易欠拟合,欠拟合对应上图 High Bias,点偏离中心。低方差对应就是点都打的很集中,但不一定是靶心附近,手很稳,但不一定瞄的准。
整体模型的期望等于基模型的期望,这也就意味着整体模型的偏差和基模型的偏差近似。
整体模型的方差小于等于基模型的方差,当且仅当相关性为 1 时取等号,随着基模型数量增多,整体模型的方差减少,从而防止过拟合的能力增强,模型的准确度得到提高。但是,模型的准确度一定会无限逼近于 1 吗?并不一定,当基模型数增加到一定程度时,方差公式第一项的改变对整体方差的作用很小,防止过拟合的能力达到极限,这便是准确度的极限了。
整体模型的方差等于基模型的方差,如果基模型不是弱模型,其方差相对较大,这将导致整体模型的方差很大,即无法达到防止过拟合的效果。因此,Boosting 框架中的基模型必须为弱模型。
此外 Boosting 框架中采用基于贪心策略的前向加法,整体模型的期望由基模型的期望累加而成,所以随着基模型数的增多,整体模型的期望值增加,整体模型的准确度提高。
我们可以使用模型的偏差和方差来近似描述模型的准确度;
对于 Bagging 来说,整体模型的偏差与基模型近似,而随着模型的增加可以降低整体模型的方差,故其基模型需要为强模型;
对于 Boosting 来说,整体模型的方差近似等于基模型的方差,而整体模型的偏差由基模型累加而成,故基模型需要为弱模型。
Random Forest
- 随机选择样本(放回抽样);
- 随机选择特征;
- 构建决策树;
- 随机森林投票(平均)。
- 在数据集上表现良好,相对于其他算法有较大的优势
- 易于并行化,在大数据集上有很大的优势;
- 能够处理高维度数据,不用做特征选择。
AdaBoost
- 初始化训练样本的权值分布,每个样本具有相同权重;
- 训练弱分类器,如果样本分类正确,则在构造下一个训练集中,它的权值就会被降低;反之提高。用更新过的样本集去训练下一个分类器;
- 将所有弱分类组合成强分类器,各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,降低分类误差率大的弱分类器的权重。
- 分类精度高;
- 可以用各种回归分类模型来构建弱学习器,非常灵活;
- 不容易发生过拟合。
- 对异常点敏感,异常点会获得较高权重。
GBDT
- 可以自动进行特征组合,拟合非线性数据;
- 可以灵活处理各种类型的数据。
- 对异常点敏感。
- 都是 Boosting 家族成员,使用弱分类器;
- 都使用前向分布算法;
- 迭代思路不同:Adaboost 是通过提升错分数据点的权重来弥补模型的不足(利用错分样本),而 GBDT 是通过算梯度来弥补模型的不足(利用残差);
- 损失函数不同:AdaBoost 采用的是指数损失,GBDT 使用的是绝对损失或者 Huber 损失函数;
最常用的决策树算法!Random Forest、Adaboost、GBDT 算法相关推荐
- 浅谈决策树算法以及matlab实现ID3算法
决策树方法在分类.预测.规则提取等领域有着广泛的应用.在20世纪70年代后期和80年代初期,机器学习研究者J.Ross Quinilan提出了ID3算法以后,决策树在机器学习.数据挖掘领域得到极大的发 ...
- 最常用的决策树算法(二)Random Forest、Adaboost、GBDT 算法
决策树是一个非常常见并且优秀的机器学习算法,它易于理解.可解释性强,其可作为分类算法,也可用于回归模型.本文将分三篇介绍决策树,第一篇介绍基本树(包括 ID3.C4.5.CART),第二篇介绍 Ran ...
- 常用决策树集成模型Random Forest、Adaboost、GBDT详解
常用的集成学习策略 在之前的文章我有介绍过常用的基本决策树模型ID3.C4.5.CART算法,其中提到了一个关于基本决策树模型的缺点,那就是决策树模型学习一棵最优的决策树被认为是NP-Complete ...
- 最常用的决策树算法(一):ID3、C4.5、CART
决策树是一个非常常见并且优秀的机器学习算法,它易于理解.可解释性强,其可作为分类算法,也可用于回归模型.本文将分三篇介绍决策树,第一篇介绍基本树(包括 ID3.C4.5.CART),第二篇介绍 Ran ...
- 最常用的决策树算法(三):XGBoost 和 LightGBM
决策树是一个非常常见并且优秀的机器学习算法,它易于理解.可解释性强,其可作为分类算法,也可用于回归模型.本文将分三篇介绍决策树,第一篇介绍基本树(包括 ID3.C4.5.CART),第二篇介绍 Ran ...
- Random Forest随机森林算法
Random Forest是加州大学伯克利分校的Breiman Leo和Adele Cutler于2001年发表的论文中提到的新的机器学习算法,可以用来做分类,聚类,回归,这里只简单介绍该算法在分类上 ...
- c4.5决策树算法python_Python3实现机器学习经典算法(四)C4.5决策树
一.C4.5决策树概述 C4.5决策树是ID3决策树的改进算法,它解决了ID3决策树无法处理连续型数据的问题以及ID3决策树在使用信息增益划分数据集的时候倾向于选择属性分支更多的属性的问题.它的大部分 ...
- 机器学习 之 随机森林(Random Forest)文本算法的精确率
目录 0.推荐 1.背景 2.效果图 3.本次实验整体流程 4.这里用词向量,而不是用TF-IDF预处理后的向量 5.源代码 6.知识点普及 6.1随机森林优点 6.2 随机森林缺点 0.推荐 无意中 ...
- [Machine Learning] Random Forest 随机森林
阅读目录 1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 袋外错误率(oob error) 6 随机森林工作原理解释的一个简单例子 7 随机森林的Pyth ...
最新文章
- IMX51---GPIO
- oracle绑定主键,oracle添加主键的四种方法:
- .netCore2.0 依赖注入
- [JLOI2014]松鼠的新家
- 移动互联网广告 - 第十更 - 广告投放运营 DashBoard - 2016/12/10
- 在linux安装光盘启动不了,linux光盘启动
- python3.8.0安装_Python3.8.0
- python图像识别代码_python图像识别--验证码
- 【BZOJ1124】[POI2008]枪战Maf(基环树_构造)
- 手机资料误删恢复有什么办法
- ea6500 v1 刷梅林_【求助】EA6500 V1和RT-AC66U硬件配置接近,怎么没有EA6500V1可以刷的梅林...
- 可行性分析报告模板(免费)
- 硬盘数据恢复软件免费版有免费使用的吗
- Hibernate中枚举Enum类型的映射策略
- Python读写欧姆龙PLC(本工作是由具体项目而开展的)
- 统计通话次数和时间的软件_通话时间统计下载
- win10误删的注册表能还原吗_误删注册表了怎么办?恢复win10误删的注册表的方法...
- 日语——动词的各种变形
- 慢就是快的人生哲理_快与慢,人生的哲学思考
- Python中路径的写法
热门文章
- strtok和strtok_r
- 基于Tkinter利用python实现颜色空间转换程序
- (转)Unity中武器与人物的碰撞检测
- 如何使用netwokx进行复杂网络的中心性分析?
- 【组队学习】【26期】编程实践(Django网站开发)
- Matlab与线性代数--广义逆矩阵
- 【Codeforces】920A Water The Garden(浇花)
- 人工智能语音技术支持“多情感程度”调节,细腻演绎“人声”
- 老码农:这是我见过最操蛋的代码,切勿模仿!
- 遮挡也能识别?地平线提出时序信息提升行人检测准确度|​CVPR 2020