0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于集成学习的决策介绍(上)

jf_78858299 来源:人工智能大讲堂 作者:阿泽 复旦大学 2023-02-17 15:52 次阅读

本文主要介绍基于集成学习的决策树,其主要通过不同学习框架生产基学习器,并综合所有基学习器的预测结果来改善单个基学习器的识别率和泛化性。

1. 集成学习

常见的集成学习框架有三种:Bagging,Boosting 和 Stacking。三种集成学习框架在基学习器的产生和综合结果的方式上会有些区别,我们先做些简单的介绍。

1.1 Bagging

Bagging 全称叫 Bootstrap aggregating,看到 Bootstrap 我们立刻想到著名的开源前端框架(抖个机灵,是 Bootstrap 抽样方法) ,每个基学习器都会对训练集进行有放回抽样得到子训练集,比较著名的采样法为 0.632 自助法。每个基学习器基于不同子训练集进行训练,并综合所有基学习器的预测值得到最终的预测结果。Bagging 常用的综合方法是投票法,票数最多的类别为预测类别。

图片

1.2 Boosting

Boosting 训练过程为阶梯状,基模型的训练是有顺序的,每个基模型都会在前一个基模型学习的基础上进行学习,最终综合所有基模型的预测值产生最终的预测结果,用的比较多的综合方式为加权法。

图片

1.3 Stacking

Stacking 是先用全部数据训练好基模型,然后每个基模型都对每个训练样本进行的预测,其预测值将作为训练样本的特征值,最终会得到新的训练样本,然后基于新的训练样本进行训练得到模型,然后得到最终预测结果。

图片

那么,为什么集成学习会好于单个学习器呢?原因可能有三:

  1. 训练样本可能无法选择出最好的单个学习器,由于没法选择出最好的学习器,所以干脆结合起来一起用;
  2. 假设能找到最好的学习器,但由于算法运算的限制无法找到最优解,只能找到次优解,采用集成学习可以弥补算法的不足;
  3. 可能算法无法得到最优解,而集成学习能够得到近似解。比如说最优解是一条对角线,而单个决策树得到的结果只能是平行于坐标轴的,但是集成学习可以去拟合这条对角线。

2. 偏差与方差

上节介绍了集成学习的基本概念,这节我们主要介绍下如何从偏差和方差的角度来理解集成学习。

2.1 集成学习的偏差与方差

偏差(Bias)描述的是预测值和真实值之差;方差(Variance)描述的是预测值作为随机变量的离散程度。放一场很经典的图:

图片

模型的偏差与方差

  • 偏差:描述样本拟合出的模型的预测结果的期望与样本真实结果的差距,要想偏差表现的好,就需要复杂化模型,增加模型的参数,但这样容易过拟合,过拟合对应上图的 High Variance,点会很分散。低偏差对应的点都打在靶心附近,所以喵的很准,但不一定很稳;
  • 方差:描述样本上训练出来的模型在测试集上的表现,要想方差表现的好,需要简化模型,减少模型的复杂度,但这样容易欠拟合,欠拟合对应上图 High Bias,点偏离中心。低方差对应就是点都打的很集中,但不一定是靶心附近,手很稳,但不一定瞄的准。

我们常说集成学习中的基模型是弱模型,通常来说弱模型是偏差高(在训练集上准确度低)方差小(防止过拟合能力强)的模型,但并不是所有集成学习框架中的基模型都是弱模型。Bagging 和 Stacking 中的基模型为强模型(偏差低,方差高),而Boosting 中的基模型为弱模型(偏差高,方差低)。

在 Bagging 和 Boosting 框架中,通过计算基模型的期望和方差我们可以得到模型整体的期望和方差。为了简化模型,我们假设基模型的期望为图片,方差 图片 ,模型的权重为 r ,两两模型间的相关系数图片相等。由于 Bagging 和 Boosting 的基模型都是线性组成的,那么有:

模型总体期望:

图片

模型总体方差(公式推导参考协方差的性质,协方差与方差的关系):

图片

模型的准确度可由偏差和方差共同决定:

图片

2.2 Bagging 的偏差与方差

对于 Bagging 来说,每个基模型的权重等于 1/m 且期望近似相等,故我们可以得到:

图片

通过上式我们可以看到:

  • 整体模型的期望等于基模型的期望,这也就意味着整体模型的偏差和基模型的偏差近似。
  • 整体模型的方差小于等于基模型的方差,当且仅当相关性为 1 时取等号,随着基模型数量增多,整体模型的方差减少,从而防止过拟合的能力增强,模型的准确度得到提高。 但是,模型的准确度一定会无限逼近于 1 吗?并不一定,当基模型数增加到一定程度时,方差公式第一项的改变对整体方差的作用很小,防止过拟合的能力达到极限,这便是准确度的极限了。

在此我们知道了为什么 Bagging 中的基模型一定要为强模型,如果 Bagging 使用弱模型则会导致整体模型的偏差提高,而准确度降低。

Random Forest 是经典的基于 Bagging 框架的模型,并在此基础上通过引入特征采样和样本采样来降低基模型间的相关性,在公式中显著降低方差公式中的第二项,略微升高第一项,从而使得整体降低模型整体方差。

2.3 Boosting 的偏差与方差

对于 Boosting 来说,由于基模型共用同一套训练集,所以基模型间具有强相关性,故模型间的相关系数近似等于 1,针对 Boosting 化简公式为:

图片

通过观察整体方差的表达式我们容易发现:

  • 整体模型的方差等于基模型的方差,如果基模型不是弱模型,其方差相对较大,这将导致整体模型的方差很大,即无法达到防止过拟合的效果。因此,Boosting 框架中的基模型必须为弱模型。
  • 此外 Boosting 框架中采用基于贪心策略的前向加法,整体模型的期望由基模型的期望累加而成,所以随着基模型数的增多,整体模型的期望值增加,整体模型的准确度提高。

基于 Boosting 框架的 Gradient Boosting Decision Tree 模型中基模型也为树模型,同 Random Forrest,我们也可以对特征进行随机抽样来使基模型间的相关性降低,从而达到减少方差的效果。

2.4 小结

  • 我们可以使用模型的偏差和方差来近似描述模型的准确度;
  • 对于 Bagging 来说,整体模型的偏差与基模型近似,而随着模型的增加可以降低整体模型的方差,故其基模型需要为强模型;
  • 对于 Boosting 来说,整体模型的方差近似等于基模型的方差,而整体模型的偏差由基模型累加而成,故基模型需要为弱模型。

️那么这里有一个小小的疑问,Bagging 和 Boosting 到底用的是什么模型呢?

3. Random Forest

Random Forest(随机森林),用随机的方式建立一个森林。RF 算法由很多决策树组成,每一棵决策树之间没有关联。建立完森林后,当有新样本进入时,每棵决策树都会分别进行判断,然后基于投票法给出分类结果。

3.1 思想

Random Forest(随机森林)是 Bagging 的扩展变体,它在以决策树为基学习器构建 Bagging 集成的基础上,进一步在决策树的训练过程中引入了随机特征选择,因此可以概括 RF 包括四个部分:

  1. 随机选择样本(放回抽样);
  2. 随机选择特征;
  3. 构建决策树;
  4. 随机森林投票(平均)。

随机选择样本和 Bagging 相同,采用的是 Bootstrap 自助采样法;随机选择特征是指在每个节点在分裂过程中都是随机选择特征的(区别与每棵树随机选择一批特征)。

这种随机性导致随机森林的偏差会有稍微的增加(相比于单棵不随机树),但是由于随机森林的“平均”特性,会使得它的方差减小,而且方差的减小补偿了偏差的增大,因此总体而言是更好的模型。

随机采样由于引入了两种采样方法保证了随机性,所以每棵树都是最大可能的进行生长就算不剪枝也不会出现过拟合。

3.2 优缺点

优点

  1. 在数据集上表现良好,相对于其他算法有较大的优势
  2. 易于并行化,在大数据集上有很大的优势;
  3. 能够处理高维度数据,不用做特征选择。

4 Adaboost

AdaBoost(Adaptive Boosting,自适应增强),其自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数。

4.1 思想

Adaboost 迭代算法有三步:

  1. 初始化训练样本的权值分布,每个样本具有相同权重;
  2. 训练弱分类器,如果样本分类正确,则在构造下一个训练集中,它的权值就会被降低;反之提高。用更新过的样本集去训练下一个分类器;
  3. 将所有弱分类组合成强分类器,各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,降低分类误差率大的弱分类器的权重。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集成学习
    +关注

    关注

    0

    文章

    10

    浏览量

    7301
  • 机器学习
    +关注

    关注

    66

    文章

    8190

    浏览量

    131239
  • 决策树
    +关注

    关注

    2

    文章

    96

    浏览量

    13462
收藏 人收藏

    评论

    相关推荐

    机器学习中常用的决策树算法技术解析

    决策树是最重要的机器学习算法之一,其可被用于分类和回归问题。本文中,我们将介绍分类部分。
    发表于 10-12 16:39 1200次阅读
    机器<b class='flag-5'>学习</b>中常用的<b class='flag-5'>决策</b>树算法技术解析

    不可错过 | 集成学习入门精讲

    的估计区间 4、随机森林随机森林(Random Forest)是Bagging的扩展变体。随机森林在以决策树为基学习器构建Bagging集成的基础,进一步在
    发表于 06-06 10:11

    决策树在机器学习的理论学习与实践

    决策树在机器学习的理论学习与实践
    发表于 09-20 12:48

    机器学习决策介绍

    机器学习——决策树算法分析
    发表于 04-02 11:48

    介绍支持向量机与决策集成等模型的应用

    本文主要介绍支持向量机、k近邻、朴素贝叶斯分类 、决策树、决策集成等模型的应用。讲解了支持向量机SVM线性与非线性模型的适用环境,并对核函数技巧作出深入的分析,对线性Linear核函
    发表于 09-01 06:57

    决策树的生成资料

    在本文中,我们将讨论一种监督式学习算法。最新一代意法半导体 MEMS 传感器内置一个基于决策树分类器的机器学习核心(MLC)。这些产品很容易通过后缀中的 X 来识别(例如,LSM6DSOX)。这种
    发表于 09-08 06:50

    决策树的介绍

    关于决策树的介绍,是一些很基础的介绍,不过是英文介绍
    发表于 09-18 14:55 0次下载

    机器学习决策树--python

    今天,我们介绍机器学习里比较常用的一种分类算法,决策树。决策树是对人类认知识别的一种模拟,给你一堆看似杂乱无章的数据,如何用尽可能少的特征,对这些数据进行有效的分类。
    发表于 11-16 01:50 1512次阅读

    机器学习决策渗透着偏见,能把决策权完全交给机器吗?

    随着人工智能的发展,人类将会把越来越多的决策权交给机器。但是,从目前的一些事例看,基于机器学习决策并非那么公正完美,相反,那些决策也渗透着偏见。近期的一份研究报告中,Google的一
    发表于 05-11 10:33 1402次阅读

    决策树的原理和决策树构建的准备工作,机器学习决策树的原理

    希望通过所给的训练数据学习一个贷款申请的决策树,用于对未来的贷款申请进行分类,即当新的客户提出贷款申请时,根据申请人的特征利用决策树决定是否批准贷款申请。
    的头像 发表于 10-08 14:26 5758次阅读

    决策树的基本概念/学习步骤/算法/优缺点

    本文将介绍决策树的基本概念、决策学习的3个步骤、3种典型的决策树算法、决策树的10个优缺点。
    发表于 01-27 10:03 2344次阅读
    <b class='flag-5'>决策</b>树的基本概念/<b class='flag-5'>学习</b>步骤/算法/优缺点

    为什么要使用集成学习 机器学习建模的偏差和方差

    我们在生活中做出的许多决定都是基于其他人的意见,而通常情况下由一群人做出的决策比由该群体中的任何一个成员做出的决策会产生更好的结果,这被称为群体的智慧。集成学习(Ensemble Le
    的头像 发表于 08-14 09:52 2804次阅读
    为什么要使用<b class='flag-5'>集成</b><b class='flag-5'>学习</b> 机器<b class='flag-5'>学习</b>建模的偏差和方差

    强化学习与智能驾驶决策规划

    本文介绍了强化学习与智能驾驶决策规划。智能驾驶中的决策规划模块负责将感知模块所得到的环境信息转化成具体的驾驶策略,从而指引车辆安全、稳定的行驶。真实的驾驶场景往往具有高度的复杂性及不确
    的头像 发表于 02-08 14:05 1586次阅读

    基于集成学习决策介绍(下)

    本文主要介绍基于集成学习决策树,其主要通过不同学习框架生产基学习器,并综合所有基
    的头像 发表于 02-17 15:52 391次阅读
    基于<b class='flag-5'>集成</b><b class='flag-5'>学习</b>的<b class='flag-5'>决策</b><b class='flag-5'>介绍</b>(下)

    什么是集成学习算法-1

    同质集成:只包含同种类型算法,比如决策集成全是决策树,异质集成:包含不同种类型算法,比如同时包含神经网络和
    的头像 发表于 02-24 16:37 860次阅读
    什么是<b class='flag-5'>集成</b><b class='flag-5'>学习</b>算法-1