【集成模型】Bootstrap Aggregating(Bagging)
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 - 总结
- 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 )$
- Bagging很适合并行处理
简单分析预测结果,可以知道Bagging有预测错误概率的上界
【集成模型】Bootstrap Aggregating(Bagging)的更多相关文章
- Bootstrap aggregating Bagging 合奏 Ensemble Neural Network
zh.wikipedia.org/wiki/Bagging算法 Bagging算法 (英语:Bootstrap aggregating,引导聚集算法),又称装袋算法,是机器学习领域的一种团体学习算法. ...
- Ensemble Learning: Bootstrap aggregating (Bagging) & Boosting & Stacked generalization (Stacking)
Booststrap aggregating (有些地方译作:引导聚集),也就是通常为大家所熟知的bagging.在维基上被定义为一种提升机器学习算法稳定性和准确性的元算法,常用于统计分类和回归中. ...
- 集成学习—boosting和bagging异同
集成学习 集成学习通过构建并结合多个学习器来完成学习任务.只包含同种类型的个体学习器,这样的集成是“同质”的:包含不同类型的个体学习器,这样的集成是“异质”的.集成学习通过将多个学习器进行结合,常可获 ...
- 常用的模型集成方法介绍:bagging、boosting 、stacking
本文介绍了集成学习的各种概念,并给出了一些必要的关键信息,以便读者能很好地理解和使用相关方法,并且能够在有需要的时候设计出合适的解决方案. 本文将讨论一些众所周知的概念,如自助法.自助聚合(baggi ...
- 转载:bootstrap, boosting, bagging 几种方法的联系
转:http://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, ja ...
- bootstrap, boosting, bagging 几种方法的联系
http://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, jack ...
- 集成学习—boosting和bagging
集成~bagging~权值~组合~抽样~样例~基本~并行 一.简介 集成学习通过构建并结合多个学习器来完成学习任务,常可获得比单一学习器显著优越的泛化性能 根据个体学习器的生成方式,目前的集成学习方法 ...
- (转)关于bootstrap, boosting, bagging,Rand forest
转自:https://blog.csdn.net/jlei_apple/article/details/8168856 这两天在看关于boosting算法时,看到一篇不错的文章讲bootstrap, ...
- bootstrap, boosting, bagging
介绍boosting算法的资源: 视频讲义.介绍boosting算法,主要介绍AdaBoosing http://videolectures.net/mlss05us_schapire_b/ 在这个站 ...
随机推荐
- 13. 请看TED 的演讲, 谈谈你对压力的看法,以及怎么和别人合作, 帮助别人,把压力转化为动力,在互相帮助的环境中成长。------------答题者:徐潇瑞
看了ted的演讲,我觉得压力就像一根弹簧,有多大的压力,它就有多大的弹力:现实中只要你学会用一种永远不服输的顽强精神,去对待人生和社会中遇到的一切困难与挫折,宠辱不惊的看云卷云舒,悟潮起潮落.可是存在 ...
- 牛客练习赛48 C 小w的糖果 (数学,多项式,差分)
牛客练习赛48 C 小w的糖果 (数学,多项式) 链接:https://ac.nowcoder.com/acm/contest/923/C来源:牛客网 题目描述 小w和他的两位队友teito.toki ...
- Linux下干净卸载mysql
1.首先查看mysql的安装情况 rpm -qa|grep -i mysql 显示之前安装了: MySQL-client-5.5.25a-1.rhel5 MySQL-server-5.5.25a-1. ...
- vue router.beforeEach(),详解
outer.beforeEach()一般用来做一些进入页面的限制. 比如没有登录, 就不能进入某些页面,只有登录了之后才有权限查看某些页面...说白了就是路由拦截.第一步 规定进入路由需不需要权限 @ ...
- 57、springmvc-整合
57.springmvc-整合 57.1 创建Spring MVC Annotation项目 <?xml version="1.0" encoding="UTF-8 ...
- React组件属性/方法/库属性
1. propTypes 用于进行props的类型检查:来自于prop-types库. // V15.5之后 import PropTypes from 'prop-types'; 该方法适用于函数组 ...
- GreenPlum 数据备份与恢复
GreenPlum数据备份与恢复gp_dump是GP并行备份的备份工具,在运行gp_dump的时候master与所有的segment节点都开始备份(standby节点和segment节点中的mirro ...
- public abstract啥时候可以省略?
父类是抽象类,其中有抽象方法,那么子类继承父类,并把父类中的所有方法都实现覆盖了,子类才有创建对象实例的能力,否则子类也必须是抽象类.抽象类中可以有构造方法,是子类在构造子类对象时需要调用父类(抽象类 ...
- IP数据报首部checksum的计算
IP数据报首部checksum的计算 2009年02月22日 23:23:00 zhangyang0402 阅读数:10897 一.首先区别下面两个概念:(1)one's complement:正 ...
- Airflow 配置celery+rabbitmq和celery+redis
Airflow 配置celery+rabbitmq 1.安装celery和rabbitmq组件 pip3 install apache-airflow[celery] pip3 install apa ...