0 - 思想  

  如下图所示,Bagging(Bootstrap Aggregating)的基本思想是,从训练数据集中有返回的抽象m次形成m个子数据集(bootstrapping),对于每一个子数据集训练一个基础分类器,最后将它们的结果综合起来获得最终输出。

1 - 特点

  Bagging需要不同的/独立的(diverse/independent)基础模型,因此太过稳定的模型不适合这种集成方法,例如:

  • KNN是稳定的
  • 决策树是不稳定的,特别是未剪枝的决策树(因为对于每一份数据的拟合可能很不一样)

  此外,集成模型的性能在基础模型的数量达到一定规模之后,将收敛。

2 - 随机森林(Random Forest)

  一类最经典的Bagging集成模型是随机森林(Random Forest),其中通过如下两个点来确保随机性(即确保不同基础模型之间的差异性):

  • 每一棵树都使用一个子数据集进行训练(a bootstrap sample of data)
  • 每一个结点的最优分割加入了随机化,具体有如下三种方法
    • 从全部的$m$个属性中随机选取$d$个属性,计算它们的信息增益再选择最优的分割;
    • 计算$L$个随机属性的线性组合,线性组合的权重从$[-1,1]$中随机采样(这一种方法不太理解);
    • 计算全部$m$个属性的信息增益,而后选择最高的$d$个属性,再从中随机选取一个属性进行分割。

3 - 总结

  1. Bagging的工作原理是减少预测方差
  2. 简单分析预测结果,可以知道Bagging有预测错误概率的上界

    • 假设对于基础模型$i$,其预测错误的概率为$P(h_i(x)\neq f(x))=\epsilon $
    • 并且取预测最多的类别最为最终结果,表示为$H(x)=sign\left(\sum_{i=1}^T h_i(x) \right )$
    • 那么最终预测错误的概率可以表示为(利用Hoeffding inequality)$P(H(x)\neq f(x))=\sum_{k=0}^{\left \lfloor T/2 \right \rfloor}\binom{T}{k}(1-\epsilon)^k\epsilon^{T-k}\leq exp\left(-\frac{1}{2}T(2\epsilon-1)^2 \right )$
  3. Bagging很适合并行处理

【集成模型】Bootstrap Aggregating(Bagging)的更多相关文章

  1. Bootstrap aggregating Bagging 合奏 Ensemble Neural Network

    zh.wikipedia.org/wiki/Bagging算法 Bagging算法 (英语:Bootstrap aggregating,引导聚集算法),又称装袋算法,是机器学习领域的一种团体学习算法. ...

  2. Ensemble Learning: Bootstrap aggregating (Bagging) & Boosting & Stacked generalization (Stacking)

    Booststrap aggregating (有些地方译作:引导聚集),也就是通常为大家所熟知的bagging.在维基上被定义为一种提升机器学习算法稳定性和准确性的元算法,常用于统计分类和回归中. ...

  3. 集成学习—boosting和bagging异同

    集成学习 集成学习通过构建并结合多个学习器来完成学习任务.只包含同种类型的个体学习器,这样的集成是“同质”的:包含不同类型的个体学习器,这样的集成是“异质”的.集成学习通过将多个学习器进行结合,常可获 ...

  4. 常用的模型集成方法介绍:bagging、boosting 、stacking

    本文介绍了集成学习的各种概念,并给出了一些必要的关键信息,以便读者能很好地理解和使用相关方法,并且能够在有需要的时候设计出合适的解决方案. 本文将讨论一些众所周知的概念,如自助法.自助聚合(baggi ...

  5. 转载:bootstrap, boosting, bagging 几种方法的联系

    转:http://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, ja ...

  6. bootstrap, boosting, bagging 几种方法的联系

    http://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, jack ...

  7. 集成学习—boosting和bagging

    集成~bagging~权值~组合~抽样~样例~基本~并行 一.简介 集成学习通过构建并结合多个学习器来完成学习任务,常可获得比单一学习器显著优越的泛化性能 根据个体学习器的生成方式,目前的集成学习方法 ...

  8. (转)关于bootstrap, boosting, bagging,Rand forest

    转自:https://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, ...

  9. bootstrap, boosting, bagging

    介绍boosting算法的资源: 视频讲义.介绍boosting算法,主要介绍AdaBoosing http://videolectures.net/mlss05us_schapire_b/ 在这个站 ...

随机推荐

  1. HTML&CSS基础-ps的基本操作

    HTML&CSS基础-ps的基本操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   我们工作中可能会经常需要将一个图片做成一个网页,而图片中的字体大小,行间距,图中lo ...

  2. Zookeeper监控平台

    JMX: 安装配置 1.修改zookeeper的启动脚本 vi  zkServer.sh 找到启动参数ZOOMAIN ​ 修改为下面值(修改一项,新增4项): -Dcom.sun.management ...

  3. MySQL远程连接错误解决

    远程连接服务器的MySQL数据库,错误代码是1130,是由于无法给远程连接的用户权限的问题 解决方法: 本机登陆mysql后,将mysql数据库中的user表中的host项,从localhost改为% ...

  4. 异步委托方式取消BackGroundWorker执行无循环的耗时方法

    边学习边分享,纯属抛砖引玉. 线程的一个好处是异步的执行操作,在winform中,很多耗时操作执行时,为优化用户体验,避免长时间等待,从而运用线程技术异步的执行耗时操作,但不会阻塞主线程. 最近系统很 ...

  5. queue模块笔记

    queue被称为消息队列,数据不会混乱,也可以用于复杂业务传递元素,队列是多线程的利器,其内部有锁的机制可以控制数据的统一且安全 queue.Queue()按照先进先出原则 queue.LifoQue ...

  6. machine learning(11) -- classification: advanced optimization 去求cost function最小值的方法

    其它的比gradient descent快, 在某些场合得到广泛应用的求cost function的最小值的方法 when have a large machine learning problem, ...

  7. jQuery toast 淡入淡出提示

    #toast{ position: fixed; top: 44%;left:50%;transform: translateX(-50%); min-width: 80px; max-width: ...

  8. js for/in循环及其它

    for in 循环不仅可以遍历对象的属性,还可以遍历数组. Js 中为数组提供了多种遍历方式 const ary = ['a', 'b', 'c']; // 最基本的方式, 只能遍历下标有序递增的数组 ...

  9. Selenium常用API的使用java语言之1-环境安装之Java

    (一)环境安装之Java 1.安装java 点击 JDK8下载,根据自己的平台,选择相应的版本进行下载. 小知识: Java环境分JDK和JRE ,JDK就是Java Development Kit. ...

  10. BZOJ 1495 [NOI2006]网络收费(暴力DP)

    题意 给定一棵满二叉树,每个叶节点有一个状态0/10/10/1,对于每两个叶节点i,ji,ji,j,如果这两个叶节点状态相同但他们的LCALCALCA所管辖的子树中的与他们状态相同的叶节点个数较少(少 ...