集成方法 Bagging原理
1.Bagging方法思路
Bagging独立的、并行的生成多个基本分类器,然后通过投票方式决定分类的类别
Bagging使用了自助法确定每个基本分类器的训练数据集,初始样本集中63.2%的数据会被采样到
从Training Sets中每次取1个,放回,再取1个,放回,重复直到取到n个组成Boot Strap1
同理生成 Boot Strap2、Boot Strap3、……、Boot Strap t,组成Bootstrap Sets,Bootstrap Sets中的数据占Training Sets的63.2%
然后由这些Boot Strap生成不同的基本分类器h1、h2、……、ht
使用这些基本分类器对剩余36.8%的数据预测,然后投票决定分类结果

Bagging方法常用的算法是Random Forest
2.Random Forest算法
随机森林 = Bagging + 完全生长的CART决策树
算法思想
1)使用自助法进行采样,生成n个训练集
2)利用n个训练集,训练n个决策树,决策树不进行剪枝
- 从d个属性中随机选择k个属性
- 从k个属性里选出最优特征,生成二叉树
参数k控制了随机性的引入程度: 若令k=d,则决策树的构建与传统决策树相同;若令k=1,则是随机选择一个属性用于划分;一般情况下,推荐值$k=log_2d$
3)n个决策树分别进行预测,然后投票决定最终结果

3.Random Forest的优点
1)RF很少过拟合
2)RF中的决策树是平行生成的,速度快
3)RF对异常值不敏感,能处理缺失数据,并且不会丢失精度
4)RF在分类问题有很高的精度
4.Random Forest的缺点
1)集成大量的决策树可以提高RF的性能,但是会使算法变慢
2)RF在回归问题表现不好
它并不能给出一个连续的输出。当进行回归时,RF不能够做出超越训练集数据范围的预测,这可能导致在某些特定噪声的数据进行建模时出现过度拟合。(PS:随机森林已经被证明在某些噪音较大的分类或者回归问题上会过拟合)
集成方法 Bagging原理的更多相关文章
- 集成方法 Boosting原理
1.Boosting方法思路 Boosting方法通过将一系列的基本分类器组合,生成更好的强学习器 基本分类器是通过迭代生成的,每一轮的迭代,会使误分类点的权重增大 Boosting方法常用的算法是A ...
- 常用的模型集成方法介绍:bagging、boosting 、stacking
本文介绍了集成学习的各种概念,并给出了一些必要的关键信息,以便读者能很好地理解和使用相关方法,并且能够在有需要的时候设计出合适的解决方案. 本文将讨论一些众所周知的概念,如自助法.自助聚合(baggi ...
- 【机器学习实战】第7章 集成方法 ensemble method
第7章 集成方法 ensemble method 集成方法: ensemble method(元算法: meta algorithm) 概述 概念:是对其他算法进行组合的一种形式. 通俗来说: 当做重 ...
- 【机器学习实战】第7章 集成方法(随机森林和 AdaBoost)
第7章 集成方法 ensemble method 集成方法: ensemble method(元算法: meta algorithm) 概述 概念:是对其他算法进行组合的一种形式. 通俗来说: 当做重 ...
- 决策树和基于决策树的集成方法(DT,RF,GBDT,XGBT)复习总结
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 内容: 1.算法概述 1.1 决策树(DT)是一种基本的分类和回归方法.在分类问题中它可以认为是if-the ...
- 机器学习 —— 决策树及其集成算法(Bagging、随机森林、Boosting)
本文为senlie原创,转载请保留此地址:http://www.cnblogs.com/senlie/ 决策树--------------------------------------------- ...
- 决策树和基于决策树的集成方法(DT,RF,GBDT,XGB)复习总结
摘要: 1.算法概述 2.算法推导 3.算法特性及优缺点 4.注意事项 5.实现和具体例子 内容: 1.算法概述 1.1 决策树(DT)是一种基本的分类和回归方法.在分类问题中它可以认为是if-the ...
- [机器学习]集成学习--bagging、boosting、stacking
集成学习简介 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务. 如何产生"好而不同"的个体学习器,是集成学习研究的核心. 集成学习的思路是通过 ...
- SpringBoot集成MyBatis底层原理及简易实现
MyBatis是可以说是目前最主流的Spring持久层框架了,本文主要探讨SpringBoot集成MyBatis的底层原理.完整代码可移步Github. 如何使用MyBatis 一般情况下,我们在Sp ...
随机推荐
- 记录学习antd design pro dva的过程,主要记错, 多图预警,如有理解偏差,忘指出,多谢!
首要问题: 如何增加菜单项 答案: 在router.config中添加路由,在locales语言国际化增加选项 问题1: 答案1: 问题2: 这个要修改state,正确写法 存在的疑惑:为什么不能直接 ...
- iOS 快捷下载和安装并使用CocoaPods
CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,手动一个个去下载所需类库十 ...
- Spring Boot与分布式
---恢复内容开始--- 分布式.Dubbo/Zookeeper.Spring Boot/Cloud 一.分布式应用 在分布式系统中,国内常用zookeeper+dubbo组合, 而Spring Bo ...
- Verilog语言实现并行(循环冗余码)CRC校验
1 前言 (1) 什么是CRC校验? CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定.循环冗余检查(CRC)是一种数据传输检错功能, ...
- BZOJ 1815: [Shoi2006]color 有色图(Polya定理)
题意 如果一张无向完全图(完全图就是任意两个不同的顶点之间有且仅有一条边相连)的每条边都被染成了一种颜色,我们就称这种图为有色图. 如果两张有色图有相同数量的顶点,而且经过某种顶点编号的重排,能够使得 ...
- MATLAB-卡尔曼滤波简单运用示例
1.角度和弧度之间的转换公式? 设角度为 angle,弧度为 radian radian = angle * pi / 180; angle = radian * 180 / pi; 所以在matla ...
- EnableFeignClients基本配置
pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId&g ...
- 升级AndroidStudio3.4问题汇总
1.Could not get unknown property 'bootClasspath' for object of type org.gradle.api.tasks.compile.Com ...
- 1.7分布式工具配置及安装(仅供学习Xshell,VMware)
前言 最近因为换工作以及其他的一些琐事,耽误了更博时间,再加上分布式的这几个软件之前没撸过....这学习这几个工具上也花了点时间 本篇博客为后续分布式的学习提供基础的安装和配置. 首先,系统为Cent ...
- Linux(Centos)设置ip
一.Linux(Centos7)安装完毕后,重启电脑后,输入用户名(root),密码(**********). 在命令行中输入nmtui命令.选择Edit a connection,选择对应的链接端口 ...