机器学习——集成学习(装袋法Bagging、提升法Boosting、梯度提升决策树GBDT、随机森林RF)

集成学习


集成学习通过构建并结合多个学习器来完成学习任务

集成方法是用多种学习方法的组合来获取比原方法更优的结果

使用于组合的算法是弱学习算法

即分类正确率仅比随机猜测略高的学习算法

但是组合之后的效果仍可能高于强学习算法

即集成之后的算法准确率和效率都很高

根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类:

1)个体学习器间存在强大依赖关系、必须串行生成的序列化方法,代表算法:Boosting;

2)个体学习器间不存在依赖关系、可同时生成的并行化方法,代表算法Bagging和RF

 

 

 装袋法(Bagging)


 

装袋法(Bagging)其原理是通过组合多个训练集的分类结果来提升分类效果

装袋法由于多次采样,每个样本被选中的概率相同,因此噪声数据的影响下降,所以装袋法太容易受到过拟合的影响

对于回归树:Bagging的结果就是B个没有经过Prune(剪枝)树的结果平均值。

对于分类树:我们通过Majority Vote,多数投票制,计算大多数模型认为结果应当属于哪一类,Bagging认为多数的结果是最终的分类结果。

Bagging的优缺点


Bagging提高了模型的准确率,降低了模型的Variance。

由于模型在最后用了平均值,因此Bagging结果的可解释性降低了。
 

提升法(Boosting)


提升法(Boosting)与装袋法相比每次的训练样本均为同一组,并且引入了权重的概念,给每个单独的训练样本都会分配个相同的初始权重。

然后进行T轮训练,每一轮中使用一个分类方法训练出一个分类模型,使用此分类模型对所有样本进行分类并更新所有样本的权重:分类正确的样本权重降低,分类错误的样本权重增加,从而达到更改样本分布的目的。

由此可知,每一轮训练后,都会生成一个分类模型,而每次生成的这个分类模型都会更加注意在之前分类错误的样本,从而提高样本分类的准确率。对于新的样本,将T轮训练出的T个分类模型得出的预测结果加权平均,即可得出最终的预测结果。

 

AdaBoost VS Bagging:

标准AdaBoost只适用于二分类任务,Bagging适用于多分类、回归等任务。

梯度提升决策树(GBDT)


梯度提升决策树算法是利用梯度下降的思想,使用损失函数的负梯度在当前模型的值,作为提升树中残差的近似值,以此来拟合回归决策树。梯度提升决策树的算法过程如下:

1、初始化决策树,估计一个使损失函数最小化的常数构建一个只有根节点的树;

2、不断提升迭代:

计算当前模型中损失函数的负梯度值,作为残差的估计值;
估计回归树中叶子节点的区域,拟合残差的近似值;
利用线性搜索估计叶子节点区域的值,使损失函数极小化;
更新决策树;
3、经过若干轮的提升法迭代过程之后,输出最终的模型;
 

随机森林(RF)


随机森林是专为决策树分类器设计的集成方式,是装袋法的一种拓展。

随机森林与装袋法采取相同的样本抽取方式。装袋法中的决策树每次从所有属性中选取一个最优的属性作为其分支属性,而随机森林算法每次从所有属性中随机抽取 t 个属性,然后从这 t 个属性中选取一个最优的属性作为其分支属性,这样就使得整个模型的随机性更强,从而使模型的泛化能力更强。

     随机森林是一种有监督学习算法,是以CART决策树为基学习器的集成学习算法。随机森林非常简单,易于实现,计算开销也很小,在分类和回归上表现出非常惊人的性能,因此,随机森林被誉为“代表集成学习技术水平的方法”。

 可以很明显地看到,随着随机森林中决策树数量的增多,模型的泛化能力逐渐增强,决策边界越来越趋于平滑(受到噪声点的影响越来越小)。

(1)RF划分时考虑的最大特征数(max_features
总数的百分比,常见的选择区间是[0.5, 0.9]。
(2)决策树的棵树(n_estimators
可能会设置为>50的取值,可根据计算资源调整。
(3)决策树最大深度(max_depth
常见的选择在4-12之间。
(4)内部节点再划分所需最小样本数(min_samples_split
如果样本量不大,不需要调整这个值。

如果样本量数量级非常大,我们可能会设置这个值为16,32,64等。

(5)叶子节点最少样本数(min_samples_leaf)
为了提高泛化能力,我们可能会设置这个值>1。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/353634.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

C++,Qt部分面试和笔试题

面试这么多次,C这块基础太差了,乘着还有印象总结下相关的面试问答和笔试题,后续会不断更新内容 目录 问答题1.计算机网络七层体系结构2.C中关键字static和const的使用3.QList和QVector for循环输出速度比较4.构造函数能否为虚函数5.谈谈你对面…

Mysql进阶【1】论述索引,索引数据结构,MVCC

1. ReadView 案例,解释为什么 RR 和 RC 隔离级别下看到查询结果不一致 案例 01- 读已提交 RC 隔离级别下的可见性分析 开启两个回话,会话事务级别都是READ-COMMITED; 操作步骤 开启两个数据库会话,设置事务为提交读事务2查询id1数据&#…

纯净内存清理加速软件(Mem Reduct)

纯净内存清理加速软件(Mem Reduct) 文章目录 纯净内存清理加速软件(Mem Reduct)一、Mem Product是什么?二、使用步骤1.下载2.安装 总结 你还为了加速球还困扰全家桶吗,看看这个!! 一、Mem Product是什么&a…

如何清理占用计算机内存,告诉你如何深度清理电脑内存

在如今这个社会时代中,电脑可以说是人们在日常生活中必不可少的一个工具,电脑对我们的学习和工作都起着非常大的作用。但电脑也有出现问题的时候,比如说电脑内存变得越来越小,遇到该问题是该如何处理呢?当然是进行清理内存啦,今天小编就给大家分享一下清理电脑内存的方法…

计算机C盘内存清理

计算机C盘总是莫名其妙的就满了,于是总结了一些清理C盘垃圾以及维护C盘内存的方法。大家有别的有效的方法欢迎告诉我,随时补充。 目录 一、 清理C盘垃圾方法1 利用系统自带的磁盘清理工具进行清理2 定期清理系统临时文件3 清理电脑缓存垃圾4 定期清理浏…

服务器系统如何清理,服务器清理内存怎么清理

服务器清理内存怎么清理 内容精选 换一换 本节操作指导您完成Windows操作系统云服务器磁盘空间清理。弹性云服务器匀出一部分磁盘空间来充当内存使用,当内存耗尽时,云服务器可以使用虚拟内存来缓解内存的紧张。但当内存使用率已经非常高时,频繁的内存与虚拟内存的切换会导致…

Lftp+Sftp传输总结

背景介绍:因为备份数据的不断扩大,需要把现网备份的数据(2T左右)传回到本地进行异地保存。但是2T太大了,需要进行压缩,这里采用了3G一个压缩包的方式。以下是压缩脚本 #!/bin/bash # 此脚本是全量压缩mongo…

xftp,xftp怎么连接

服务器管理进行文件传输用的最多的就是FTP传输,那xftp怎么连接服务器呢?打开xftp软件,新建一个连接,填上要连接的IP,端口号,用户名,密码等,保存即可。在选项中选择编码为UTF-8&#…

JAVA日志框架

JAVA日志框架 常见日志框架日志级别阿里日志规约什么时候打印日志配置文件log4j.propertieslogback-spring.xmllogback的默认配置 导入依赖日志使用方式,引入slf4j的API输出用户日志 常见日志框架 日志框架:Log4j 、Logback 。 日志门面:Slf…

VSFTP服务

概述: FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。 FTP(File Transfer Protocol: 文件传输协议)作用: Internet 上用来…

vsftp

一、概述 FTP是file Transfer Protocoll文件传输下ieyi,用于Internet上的文件的双向传输。因ftp是明文传输,没有受到保护,所以具有一定危险性。 VSFTP是一个基于GPL发布的类unix系统上使用的FTP服务器软件。为了解决ftp传输安全性问题的&…

SFTP在Linux和window下的文件传输

使用SecureCRT的SFTP在WINDOWS与LINUX之间传输文件 参考文献: http://ice-k.iteye.com/blog/1068275 http://www.cnblogs.com/chen1987lei/archive/2010/11/26/1888391.html 背景: 有一台主机,安装了windows7,在其安装了virtualbo…

vsftp的简单使用

一、vsftp以及安装 服务端软件:vsftpd 客户端软件:ftp 端口号:20、21或指定范围内其他随机端口 配置文件:vim /etc/vsftpd/vsftpd.conf # 安装 yum install vsftpd ftp# 开机自启 systemctl enable vsftpd# 启动 systemc…

Explaining predictive models: the Evidence Counterfactual

Imagine being targeted with an advertisement for this blog. You’d like to know: why did the AI model predict you’d be interested in the Faculty of Business and Economics’ blog, based on the hundreds of web pages you visited? The answer could be: becaus…

记录搭建hadoop集群的过程

Linux(CentOS-7.6-x64位)基础配置, 虚拟机平台VmWare15 CentOS-7.6-x64镜像下载: https://www.aliyundrive.com/s/72Xg449t6i8 提取码: 32rm VmVare15安装包下载带序列号:VmVare15安装包下载带激活序列号资源-CSDN文库 点击关闭,点击完成&…

ChatGPT热度不减!华为宣布入局,盘古GPT能否大杀四方!

ChatGPT热度不减 六月份了,朋友们,来到六月份了已经,ChatGPT的热度依旧不减,各大论坛网站的榜单上还飘着ChatGPT相关话题的文章,且排名靠前。由此可见,这ChatGPT这股子热潮还得持续一段时间呢。 而且ChatG…

三国志战略版:Daniel_新晋减伤战法-奇计良谋

一、战法介绍 战法定位:稳定且有针对性的群体减伤战法。 同类效果: 稳定的群体减伤战法:八门金锁阵、抚辑军民、暂避其锋、锋矢阵、藤甲兵、御敌屏障。 稳定群体减伤战法往往可以极大提升一个队伍的强度,如今一线群体减伤战法中…

英雄打怪

英雄类 package LOLDemo;/*** ClassName: Hero* Description: * 自定义一个英雄类* 0.英雄类中加入“经验值”,“等级”,“攻击力”等属性变量,加入“击打”方法,击打的目标是怪物,击打的结果是怪物的生命值-英雄攻击力* …

【游戏逆向】RPG游戏自动打怪之取得最近怪物

RPG游戏辅助想要自动打怪,首要的任务就是需要获得最近的怪物,否则打怪的顺序会非常混乱。 想要取得最近怪物信息 要2个步骤 第一步 计算出所有怪物的距离 第二步 对所有怪物的距离进行判断,筛选出距离最近的 第一步怪物距离计算 如果是以2D的平面来看 2个点的距…

英雄杀-如何通关挑战

对于很多英雄杀的新手玩家来说,挑战,几乎很难一次通关,我也是,一般没超过十关。 我给大家分享一下我最近的通关方法,仅供参考: 第一种思路: 杨延昭: 有两个前提: 第一、…