随机森林之Bagging法
摘要:在随机森林介绍中提到了Bagging方法,这里就具体的学习下bagging方法。
Bagging方法是一个统计重采样的技术,它的基础是Bootstrap。基本思想是:利用Bootstrap方法重采样来生成多个版本的预测分类器,然后把这些分类器进行组合。通常情况下组合的分类器给出的结果比单一分类器的好,因为综合了各个分类器的特点。之所以用可重复的随机采样技术Bootstrap,是因为进行重复的随机采样所获得的样本可以得到没有或者含有较少的噪声数据。
在训练集上采样Bootstrap的方法进行采样,平均1/3的样本不会出现在采样的样本集合中,这就意味着训练集中的噪声点可能不会出现在Bootstrap所采集的样本集合中,所以与在原始样本集合上构建分类器相比,Bootstrap方法可以更容易的获得好的分类器。
在Leo Breiman的论文 :Bagging Predictors 中他研究了不稳定性问题。他指出神经网络,分类和回归树,线性回归等方法的子集选择都不是稳定的。K-nearest相邻方法是稳定的。在论文中表明,Bagging方法可以正常的处理不稳定情况。实践和理论证明Bagging方法可以将一个好的不稳定的过程推向最优化方向发展。
Bagging算法流程如下:
1:对于给定的训练样本集合,通过n次的随机可重复的采样,从原始的样本集合中构建一个Bootstrap样本集合。
2:对于每一个Bootstrap样本集合构建一颗决策树。
3:重复1-2步,获取更多的决策树。
4:让每一棵决策树对输入量X进行投票
5:计算所有的投票数目,并以投票最多的一个分类标签作为X的类型。
随机森林之Bagging法的更多相关文章
- 随机森林之oob error 估计
摘要:在随机森林之Bagging法中可以发现Bootstrap每次约有1/3的样本不会出现在Bootstrap所采集的样本集合中,当然也就没有参加决策树的建立,那是不是意味着就没有用了呢,答案是否定的 ...
- 机器学习总结(二)bagging与随机森林
一:Bagging与随机森林 与Boosting族算法不同的是,Bagging和随机森林的个体学习器之间不存在强的依赖关系,可同时生成并行化的方法. Bagging算法 bagging的算法过程如下: ...
- 04-10 Bagging和随机森林
目录 Bagging算法和随机森林 一.Bagging算法和随机森林学习目标 二.Bagging算法原理回顾 三.Bagging算法流程 3.1 输入 3.2 输出 3.3 流程 四.随机森林详解 4 ...
- 机器学习之Bagging与随机森林笔记
集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能.这对“弱学习器”尤为明显,因此集成学习的很多理论研究都是针对弱学习器进行的,而基学习器有时也被直接称为弱学习器.虽然从理论上来 ...
- 机器学习回顾篇(12):集成学习之Bagging与随机森林
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- Bagging与随机森林(RF)算法原理总结
Bagging与随机森林算法原理总结 在集成学习原理小结中,我们学习到了两个流派,一个是Boosting,它的特点是各个弱学习器之间存在依赖和关系,另一个是Bagging,它的特点是各个弱学习器之间没 ...
- Bagging与随机森林
Bagging Bagging是并行式集成学习算法最著名的代表,基于自助采样法(bootstrap sampling). 给定m个样本的数据集,选取m次,每次选1个样本,构成一个新的样本集,其中有的样 ...
- 机器学习相关知识整理系列之二:Bagging及随机森林
1. Bagging的策略 从样本集中重采样(有放回)选出\(n\)个样本,定义子样本集为\(D\): 基于子样本集\(D\),所有属性上建立分类器,(ID3,C4.5,CART,SVM等): 重复以 ...
- bagging与boosting集成学习、随机森林
主要内容: 一.bagging.boosting集成学习 二.随机森林 一.bagging.boosting集成学习 1.bagging: 从原始样本集中独立地进行k轮抽取,生成训练集.每轮从原始样本 ...
随机推荐
- 2013年中国区Skyline软件价格体系
< 2013年中国区Skyline软件价格体系 序号 产品名称 描述 市场报价 1 TerraExplorer Pro 5.1 对 ...
- C#制作一个消息拦截器(intercept)1
首先,我们先要制作一个自己定义Attribute,让他能够具有上下文读取功能,所以我们这个Attribute类要同一时候继承Attribute和IContextAttribute. 接口IContex ...
- Android系统Recovery工作原理之使用update.zip升级过程分析(一)
通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理.我们先从update.zip包的制作开始,然后是Android系统的启动 ...
- 《Maven_孔浩》Maven依赖
项目目录结构如下: pom.xml src main\java\zttc\itat\maven\ch02 target pom.xml文件说明 groupId:项目id(如:zt ...
- python之装饰器详解
这几天翻看python语法,看到装饰器这里着实卡了一阵,最初认为也就是个函数指针的用法,但仔细研究后发现,不止这么简单. 首先很多资料将装饰器定义为AOP的范畴,也就是Aspect Oriented ...
- Java中的文件操作
在使用计算机编程中,常常会用到对于文件的操作,以下是我对于Java中文件的相关内容学习之后的一个总结和在学习过程中遇到的一些问题. 一.什么是文件 对于文件进行操作,首先我们要知道什么是文件.在此之前 ...
- iOS之与JS交互通信
随着苹果SDK的不断升级,越来越多的新特性增加了进来,本文主要讲述从iOS6至今,Native与JavaScript的交互方法 一.UIWebview && iframe && ...
- IE8 innerHTML赋值时包含多级HTML标签时的解决方案
var inhtml = ''; var font = document.createElement("font"); var a = document.createElement ...
- CentOS(八)--crontab命令的使用方法
crontab命令常见于Unix和Linux的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行. 在 ...
- Linux命令行下cp,rm,mv命令的使用
以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...