boosting和bagging的区别?

2020-05-17 22:00发布

boosting和bagging的区别?


boosting和bagging的区别?


2条回答
流流流年
2楼 · 2020-05-18 09:41
  1. 样本选择上: Bagging采取Bootstraping的是随机有放回的取样,Boosting的每一轮训练的样本是固定的,改变的是买个样的权重。

  2. 样本权重上:Bagging采取的是均匀取样,且每个样本的权重相同,Boosting根据错误率调整样本权重,错误率越大的样本权重会变大

  3. 预测函数上:Bagging所以的预测函数权值相同,Boosting中误差越小的预测函数其权值越大。

  4. 并行计算: Bagging 的各个预测函数可以并行生成;Boosting的各个预测函数必须按照顺序迭代生成.

金喆
3楼 · 2020-05-18 17:20

Bagging算法(套袋发)

  • bagging的算法过程如下:

    1. 从原始样本集中使用Bootstraping 方法随机抽取n个训练样本,共进行k轮抽取,得到k个训练集(k个训练集之间相互独立,元素可以有重复)。

    2. 对于n个训练集,我们训练k个模型,(这个模型可根据具体的情况而定,可以是决策树,knn等)

    3. 对于分类问题:由投票表决产生的分类结果;对于回归问题,由k个模型预测结果的均值作为最后预测的结果(所有模型的重要性相同)。

Boosting(提升法)

  • boosting的算法过程如下:

    1. 对于训练集中的每个样本建立权值wi,表示对每个样本的权重, 其关键在与对于被错误分类的样本权重会在下一轮的分类中获得更大的权重(错误分类的样本的权重增加)。

    2. 同时加大分类 误差概率小的弱分类器的权值,使其在表决中起到更大的作用,减小分类误差率较大弱分类器的权值,使其在表决中起到较小的作用。每一次迭代都得到一个弱分类器,需要使用某种策略将其组合,最为最终模型,(adaboost给每个迭代之后的弱分类器一个权值,将其线性组合作为最终的分类器,误差小的分类器权值越大。)

Bagging和Boosting 的主要区别

  • 样本选择上: Bagging采取Bootstraping的是随机有放回的取样,Boosting的每一轮训练的样本是固定的,改变的是买个样的权重。

  • 样本权重上:Bagging采取的是均匀取样,且每个样本的权重相同,Boosting根据错误率调整样本权重,错误率越大的样本权重会变大

  • 预测函数上:Bagging所以的预测函数权值相同,Boosting中误差越小的预测函数其权值越大。

  • 并行计算: Bagging 的各个预测函数可以并行生成;Boosting的各个预测函数必须按照顺序迭代生成.

将决策树与以上框架组合成新的算法

  • Bagging + 决策树 = 随机森林

  • AdaBoost + 决策树 = 提升树

  • gradient + 决策树 = GDBT

决策树

常用的决策树有ID3, C4.5 ,CART三种. 三种算法模型构架相似,只是采用了不同的指标

首先介绍ID3算法

  • 基于奥卡姆剃刀原理,即用尽量较少的东西做更多的东西,ID3算法即interactive Dichotomiser3,迭代二叉树3代,

  • 核心思想:以信息增益来度量属性的选择,选择分裂后信息增益最大的属性进行分类。

  • 信息增益:属性选择中一个重要的指标,它定义为一个属性能够为分类带来的多少信息,带来的信息越多,该属性也就越重要,而信息量则可以用熵表示。

  • 熵的定义:信息量的期望值,表示随机变量不确定性的度量,设X是一个取有限个值的离散随机变量,其概率分布为P(X=xi)=pi,则随机变量X的熵定义为
    其中,对数以2为底或者以e为底,分布其单位是比特(bit)或者纳特(nat)

  • 熵越大,随机变量的不确定性就越大,当随机变量只取两个值,即X的分布式,其熵为,分布为伯努利分布时,熵与概率的关系如图:,p=0.5时,H(p)=1,熵取值最大,随机变量的不确定性越大,当p=0或者1时,H(p)=0随机变量完全没有不确定性.

条件熵

  • 设有随机变量(X,Y),其联合概率分布为,条件熵H(Y|X)表示在已知随机变量X的条件下,随机变量随Y的不确定性。随机变量X给定的条件下,随机变量Y的条件熵(conditional entropy)(H(Y|X)),定义为X的给定条件下Y的条件概率分布的熵对X的数学期望。

  •  这里p=P(X=xi),i=1,2,3...n,如果是在决策树里面的话,就是类标概率与该类标下在该变量下分裂下的熵的乘积之和。

  • 当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为经验熵与经验条件熵

  • 此时,信息增益(information gain)表示得知特征X的信息而使得类Y的信息的不确定性减少的程度,

信息增益

  • 特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D),与特征A给定条件下D的经验条件熵H(D|A)之差 g(D,A)=H(D)-H(D|A)

  • 决策树学习应用信息增益准则可以用于特征选择,给定的训练集D和特征A,经验熵H(D)标书对数据集D进行分类的不确定性,而经验条件熵H(D|A)表示在特征A给定的情况下,对数据集D进行分类的不确定性。信息增益就是表示特征A使得对数据集D的分类的不确定性的减少程度。对于数据集D而言,信息增益依赖于特征,不同特征往往具有不同的信息增益,信息增益大的特征具有更强的分类能力。


相关问题推荐

  • 回答 15

    也不难学,但是要有JAVA的基础

  • 回答 13

    这个要看你在哪个城市就业了,一般来说适合大数据就业的城市不多,一线城市北上广深,甚至在成都找大数据方向的工作都不太好找。如果你学了大数据,刚好也在比较热门的城市,大数据薪资至少也得上万吧。...

  • 回答 5

    自学的话就走很多弯路,需要花费大量时间。如果时间充足可以自学。

  • 回答 7

    人工智能当前有六大研究领域,涉及到计算机视觉、自然语言处理、机器学习、自动推理、知识表示和机器人学,初学者应该选择一个主攻方向,并围绕这个主攻方向来制定学习计划。对于初学者来说,可以从机器学习开始学起,一方面机器学习是打开人工智能知识大门的...

  • 回答 4

    机器学习跟模式识别,统计学习,数据挖掘,计算机视觉,语音识别,自然语言处理等领域有着关系

  • 机器学习是啥呢?2020-06-10 10:29
    回答 4

    机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的...

  • 回答 4

    先来看一下机器学习的概念,我们提供给电脑样例数据,电脑通过一定的模型自己学习出相应的规则,并且这些规则可以随着数据的输入不断调整。而深度学习,则是一种十分有效的机器学习方法。现在的深度学习主要指的是深度神经网络。神经网络形式上就是一个分层的...

  • 回答 4

    行业里其实都有参合一起用,但是java用的比较多!

  • 回答 0

  • 回答 2

    特征缩放(feature scaling)是预处理阶段的关键步骤,但常常被遗忘。虽然存在决策树和随机森林这种是少数不需要特征缩放的机器学习算法,但对于大部分机器学习算法和优化算法来说,如果特征都在同一范围内,会获得更好的结果。比如梯度下降法。特征缩放的重要...

  • 回答 4

    机器学习【一】K最近邻算法涉及内容:分类——————数据集生成器、KNN拟合数据多元分类————生成数据集、KNN拟合回归分析————用于回归分析的数据集生成器、KNN拟合、调整近邻数KNN实战—酒的分类————数据集有哪些键、生成训练集和测试集、KNN拟...

  • 回答 3

    java 的优势就是 运行速度快(相比 pure python),python 的优势就是 库多,写起来代码量少

  • 回答 3

    微积分、线性代数、概率论、最优化方法

没有解决我的问题,去提问