随机森林之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轮抽取,生成训练集.每轮从原始样本 ...
随机推荐
- ApiDemo/FragmentRetainInstance 解析
/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Versi ...
- CCBReader
#ifndef _CCB_CCBREADER_H_ #define _CCB_CCBREADER_H_ #include "cocos2d.h" #include "Ex ...
- ExpandableListView 箭头靠右
ExpandableListView 默认标示箭头是在左边的,当左边有图片时,不是太好看,想把它放在右边,这么简单的事可我折腾死了,还好给我找到了. 参照了以下链接: expandableListvi ...
- JAVA线程池简介
一 简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的.在jdk1.5之后这一情况有了很大的改观.Jdk1.5之后加入了java.uti ...
- xtrabackup原理0
- Android中常用适配器及定义自己的适配器
转载:http://blog.chinaunix.net/uid-11898547-id-3303153.html http://www.tudou.com/home/_328390108/item ...
- 嵌入式Linux开发系列之一: 走进嵌入式Linux的世界
转载:http://www.ibm.com/developerworks/cn/linux/l-embed/part1/index.html 随着信息化技术的发展和数字化产品的普及,以计算机技术. ...
- Mac 下配置Tomcat7和eclipse中配置tomcat
转载自: http://www.cnblogs.com/weilaikeji/archive/2013/05/29/3106473.html 1.下载Tomcat 从Tomcat项目主页下载相关压缩包 ...
- C. Fox And Names
C. Fox And Names time limit per test 2 seconds memory limit per test 256 megabytes input standard in ...
- Python刷票小脚本——网络人气奖?不好意思,我要了
零.前言 最近参加微软的kinect大赛,报名之后发现有一个网络投票,票数最多的项目可以得到网络人气奖. 这种事,必然是要搞一搞! 说干就干. 说明:由于本人过于懒惰,所以就不截图了,让大家失望了! ...