机器学习模型——集成算法

集成学习的定义:

集成学习,顾名思义通过将多个单个学习器集成/组合在一起,使它们共同完成学习任务,以达到提高预测准确率的目的。有时也被称为“多分类器系统 (multi-classifier system)”。

集成学习概述:

集成学习是一种机器学习方法,它通过组合多个弱学习器来形成一个强学习器,以提高预测性能。以下是一些集成学习的关键点:

结合多个学习器:集成学习的核心思想是通过训练多个学习器(基学习器)并结合它们的预测结果来提高整体的预测性能。

适用性广泛:集成学习可以应用于多种机器学习任务,包括分类、回归、特征选择和异常检测等领域。

弱学习器与强学习器:在集成学习中,单个的基学习器通常被称为弱学习器,而通过集成这些弱学习器形成的综合模型则被称为强学习器。

主要算法:集成学习的主要算法包括Bagging、Boosting和Stacking。Bagging通过并行训练多个学习器来减少方差;Boosting通过串行训练学习器来逐步减少偏差;Stacking则是将多个不同的学习器(如KNN、SVM、随机森林等)的输出作为新的特征输入到一个元学习器中进行训练。

集成学习结合策略:

集成学习得到多个学习器后,结合策略得到最终的结果。通常用到最多的是平均法,投票法学习法。

投票法

投票法通常用于分类问题。这种技术中使用多个模型来预测每个数据点。每个模型的预测都被视为一次“投票”。大多数模型得到的预测被用作最终预测结果。即对K个学习器的分类结果做一个统计,出现次数最多的类作为预测类。

平均法

类似于最大投票技术,这里对每个数据点的多次预测进行算数平均。在这种方法中,我们从所有模型中取平均值作为最终预测。平均法可用于在回归问题中进行预测或在 计算分类问题的概率时使用。

加权平均法:

这是平均法的扩展。为所有模型分配不同的权重,定义每个模型的预测重要性。

学习法

为了解决投票法和平均法误差较大的问题。平均法和投票法是对弱学习器的结果做平均或者投票,相对比较简单,但是可能学习误差较大,于是就有了学习法。

对于学习法,代表方法是stacking,当使用stacking的结合策略时, 我们不是对弱学习器的结果做简单的逻辑处理,而是再加上一层学习器,也就是说,我们将训练集弱学习器的学习结果作为输入,重新训练一个学习器来得到最终结果。

在这种情况下,我们将弱学习器称为初级学习器,将用于结合的学习器称为次级学习器。对于测试集,我们首先用初级学习器预测一次,得到次级学习器的输入样本,再用次级学习器预测一次,得到最终的预测结果。

集成学习的流程:

集成学习法(Ensemble learning)既可以解决分了问题也可以解决回归问题,但常用于分类。通过将多个分类学习方法聚集在一起来提高分类准确率。

通常一个集成分类器的分类性能会好于单个分类器。集成学习法由训练数据构建一组基分类器(base classifier),然后通过对每个基分类器的预测进行投票或学习法来进行分类。  

在构建分类器的过程中,一般有两种集成方法:

一种是使用训练集的不同子集训练得到不同的基分类器

另一种方法是使用同一个训练集的不同属性子集训练得到不同的基分类器

Bagging基本思想:

对训练集有放回地抽取训练样例,从而为每一个基本学习器都构造出一个与训练集相当大小但各不相同的训练集,从而训练出不同的基本学习器;该算法是基于对训练集进行处理的集成方法中最简单、最直观的一种。

Bagging运行原理:

 代码实现:

from sklearn.ensemble import BaggingClassifierX = np.array([1,2,3,4,5,6,7,8,9,10])
y = [-1,-1,-1,1,1,1,1,-1,-1,-1,]from sklearn.tree import DecisionTreeClassifierdt = DecisionTreeClassifier(max_depth=1)  # 不设置树深,会让树完全生长,造成过拟合bc = BaggingClassifier(estimator=dt,n_estimators=10)
#                       学习器          迭代次数bc.fit(X.reshape(-1,1),y)
print(bc.score(X.reshape(-1,1),y))

Bagging的特点 :

Bagging通过降低基学习器的方差改善了泛化误差:bagging对样本进行有放回的重采样,学习结果是各个学习模型的平均值。由于重采样的样本集具有相似性以及使用相同的学习器模型。因此,各学习模型的结果相近,即模型有近似相等的偏差和方差。

另外由于每一个样本被选中的概率相同,因此bagging并不侧重于训练数据集中的任何特定实例。因此对于噪声数据,装袋不太受过分拟合的影响。

另外由于每一个样本被选中的概率相同,因此装袋并不侧重于训练数据集中的任何特定实例。因此对于噪声数据,装袋不太受过分拟合的影响。

关于bagging的一个有必要提及的问题:bagging 的代价是不用单棵决策树来做预测,具体哪个变量起到重要作用变得未知,所以bagging改进了预测准确率但损失了解释性。

理解了Bagging,随机森林也会更好理解,随机森林是Bagging的yige扩展变体。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux中如何修改界面为中文, 设置中文输入法

目录 修改界面为中文方法一方法二方法三(kali中)方法四方法五(kali中) 切换为中文/英文输入法方法一方法二(kali中) 待续、更新中 修改界面为中文 方法一 查看当前系统拥有的中文语言包 locale -a | grep CN zh_CN.utf8 : 简体中文语言包 打开文件locale.conf vi /etc/lo…

ISP-VPN实验

文章目录 ISP-VPN实验一,实验拓扑二、实验要求三、IP规划四、实验配置1、IP配置R1的配置R2的配置R3的配置R4的配置R5的配置 2、配置缺省路由3、认证与被认证配置4、HDLC封装5、构建MGRE和GRE6、整个私有网络基于RIP全网可达7、查看路由配置和PC端配置8、PC端pingR5的…

图扑数字孪生智慧城市,综合治理一屏统览

现代城市作为一个复杂系统,牵一发而动全身,城市化进程中产生新的矛盾和社会问题都会影响整个城市系统的正常运转。智慧城市是应对这些问题的策略之一。领导曾在中央城市工作会议上指出,城市工作要树立系统思维,从构成城市诸多要素…

大模型预测,下一个token何必是文字?

明敏 金磊 发自 凹非寺 量子位 | 公众号 QbitAI 太快了太快了… 大模型的生成技能,已经到了普通人看不懂的境界! 它可以根据用户过去5年的体检报告,生成未来第1年、第2年、第3年的体检报告。 你看,这个生成的过程,…

Mybatis-Plus分页查询时碰到`total`有值但`records`为空

个人原因:Mybatis-Plus分页插件设置了maxLimit单页条数 // 分页插件配置 PaginationInnerInterceptor paginationInnerInterceptor new PaginationInnerInterceptor(DbType.MYSQL); paginationInnerInterceptor.setMaxLimit(200L); // 单页分页条数限制(默认无限…

webpack项目打包console git分支、打包时间等信息 exec

相关链接 MDN toLocaleString child_process Node.js strftime 格式 代码 buildinfo.js const { execSync, exec } require("child_process"); // exec: 在 Windows 执行 bat 和 cmd 脚本// execSync 同步 // exec 异步// exec 使用方法 // exec(git show -s,…

Python基础之Class类的定义、继承、多态

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、class类1.类属性操作(增删改)2.类方法操作 二、类的继承1、语法2、方法重写 二、类的多态 一、class类 、三部分组成 1、类名&#xff…

黑马HTMLCSS基础

黑马的笔记和资料都是提供好了的,这个文档非常适合回顾复习。我在黑马提供的笔记上做了一些微不足道的补充,以便自己复习查阅。该笔记比较重要的部分是 表单,http请求 第一章. HTML 与 CSS HTML 是什么:即 HyperText Markup lan…

使用Pilotfish扩展Sui执行能力

Pilotfish第一个多机智能合约执行引擎,使Sui网络的验证节点可以利用多台机器,并在负载增加时自动扩展以执行更多的交易。这一目标实现不会影响可靠性或功能完整性。 Pilotfish可以从内部执行机器的故障中恢复,并支持Sui的全面动态操作。其流…

分享react+three.js展示温湿度采集终端

前言 气象站将采集到的相关气象数据通过GPRS/3G/4G无线网络发送到气象站监测中心,摆脱了地理空间的限制。 前端:气象站主机将采集好的气象数据存储到本地,通过RS485等线路与GPRS/3G/4G无线设备相连。 通信:GPRS/3G/4G无线设备通…

计算机网络链路层

数据链路 链路是从一个节点到相邻节点之间的物理线路(有线或无线) 数据链路是指把实现协议的软件和硬件加到对应链路上。帧是点对点信道的数据链路层的协议数据单元。 点对点信道 通信的主要步骤: 节点a的数据链路层将网络层交下来的包添…

Dockerfile和Docker-compose

一、概述 Dockerfile和Docker Compose是用于构建和管理 Docker 容器的两个工具,但它们的作用和使用方式不同。 Dockerfile Dockerfile 是一个文本文件,用于定义 Docker 镜像的构建规则。它包含一系列指令,如 FROM(指定基础镜像…

【蓝桥杯第十三届省赛B组】(详解)

九进制转十进制 #include <iostream> #include<math.h> using namespace std; int main() {cout << 2*pow(9,3)0*pow(9,2)2*pow(9,1)2*pow(9,0) << endl;return 0; }顺子日期 #include <iostream> using namespace std; int main() {// 请在此…

安全SCDN的威胁情报库对DDOS防护有什么好处

目前网络攻击事件频频发生&#xff0c;DDoS&#xff08;分布式拒绝服务&#xff09;攻击已成为各种企业&#xff08;小到区域性小公司大到各种跨国公司&#xff09;的主要威胁&#xff0c;DDoS 攻击可能会对企业造成重大损害和破坏&#xff0c;比如对目标公司的业务造成产生不利…

吴晓波频道:构建知识付费领域的数据飞轮

更多技术交流、求职机会&#xff0c;欢迎关注字节跳动数据平台微信公众号&#xff0c;回复【1】进入官方交流群 知识付费正在完成新阶段的转变。 知识付费的概念可以追溯到 20 世纪 80 年代的彼得德鲁克&#xff0c;他在《后资本主义》一书中提出“知识经济”&#xff0c;指出…

IDEA跑Java后端项目提示内存溢出

要设置几个地方&#xff0c;都试一下吧&#xff1a; 1、默认是700&#xff0c;我们设置大一点&#xff08;上次配置了这儿就解决了&#xff09; 2、 3、 4、-Xmx4g

redolog 和 binlog 的区别以及两阶段提交

最近在学习MySQL架构的时候&#xff0c;关于执行器&#xff0c;存储引擎的具体操作那里&#xff0c;有些地方不是很懂&#xff0c;我仔细思考了一下&#xff0c;发现我对两阶段提交这个过程比较模糊&#xff0c;所以我特意写一篇文章来说一下两阶段提交。 比如说一条更新语句&…

接口自动化框架搭建(九):接入钉钉消息通知

1&#xff0c;jenkins安装钉钉插件 2&#xff0c;在钉钉群聊设置机器人 3&#xff0c;jenkins配置钉钉 根据情况选择&#xff1a; 除了这些&#xff0c;其他不用配置&#xff0c;配置完成点击确认 4&#xff0c;项目配置 添加后保存 5&#xff0c;测试下效果 构建完成后&a…

免费开源的 AI 绘图工具 ImgPilot

免费开源的 AI 绘图工具 ImgPilot 分类 开源分享 项目名: ImgPilot -- 通过提示词及涂鸦生成图片 Github 开源地址&#xff1a; GitHub - leptonai/imgpilot: Turn the draft into amazing artwork with the power of Real-Time Latent Consistency Model 在线地址&#xff…

Go语言学习Day6:数组与切片

名人说&#xff1a;莫愁千里路&#xff0c;自有到来风。 ——钱珝 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 1. 数组① 什么是数组② 数组的声明③ 初始化数组的几种方式④ 遍历数组元素⑤ 数组为值类型⑥ 数…