集成算法(随机森林,AdaBoost,Xgboost,Stacking模型)

news2024/10/6 6:40:35

目录

一、前言

二、Bagging模型

三、Boosting模型

四、Stacking模型

五、总结


一、前言

        集成算法(Enseamable learning)

        集成算法一般考虑树模型,KNN就不太适合

        目的:让机器学习效果更好,单个不好,一起干,三个诸葛亮

        Bagging:训练多个分类器取平均,f(x)=\frac{1}{M}\sum_{m=1}^{M}f_m(x),其中M表示分类器的个数,f_m(x)表示单个训练器。

        Boosting:从弱学习器开始加强,通过加权的方式来进行训练

                公式:F_m(x)=F_{m-1}(x)+argmin_h\sum_{i=1}^{n}L(y_i,F_{m-1}(x_i)+h(x_i))

                可以看出这种方法的最终结果是在上个结果的基础上加上一个补充值(个人理解)

                L(y_i,F_{m-1}(x_i)+h(x_i))表示在上个结果加上此次补充后结果的损失函数,看是否让其变小了。

        Stacking:聚合多个分类或者回归模型(可以分阶段来做);堆叠算法

二、Bagging模型

        全称:Boostrap aggregation

        其实就是并行训练一堆分类器

        最典型代表就是随机森林

        随机:数据采样随机,特征选择随机

        森林:很多个决策树并行放在一起了

        上图就可以很直观的表示出,并行的概念了。

        其中最难的就是随机这个概念,大家想一想如果树模型是一样的,输入数据一样,那么结果也是一样的,这样随机森林做出来就没得啥子意义了。要让它们不一样,模型不能改变,就只能从数据入手了。

        要数据采样随机,特征选择随机。意思是第一个模型只用数据样本的70%,特征也只用70%,第二个模型只用数据样本的70%,特征也只用70%,第三个,第四个......。要保证这二重随机性(个人自创),大家可以想想,可以把这两个随机性,当作随机森林参数。之所以要保证随机性是要保证模型的泛化能力。

        

        随机森林的优势:

                可解释性强,它内部的情况是可以看见的包括走势,中间结果,相当于软件测试中的白盒测试,而深度学习神经网络就相当于黑盒,不可以看见。

                它能够处理很高维度(feature)的数据,并且不用做特征选择

                在训练完后,它可以给出哪些feature比较重要

                

                理论上越多的树效果会越好,但实际上树超过一定的数量就差不多上下浮动了。

                

三、Boosting模型

        典型代表:AdaBoost,Xgboost

        AdaBoost会根据前一次的分类效果调整数据权重

        解释:如果某一个数据在这次分错了,那么在下一次就会给更大的权重(调整权重)

        最终的结果:每个分类器根据自身的准确性来确定各自的权重,在合体

        

        AdaBoost工作流程:

        

        

四、Stacking模型

        堆叠模型:很暴力,拿来一堆直接上(各种分类器都有)

        可以堆叠各种各样的分类器(KNN,SVM,RF等)

        分阶段:第一阶段得出各自的结果,第二阶段再用前一阶段的结果训练

        为了刷结果,不择手段!!!

        

        

        堆叠在一起确实能够使得准确率提升,但是速度是个问题,所以用的不是很多,竞赛可以试试。

五、总结

        集成算法是论文与竞赛神器,当我们更关注于结果时不妨试试!!!!

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

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

相关文章

性能优化篇(七) UI优化注意事项以及使用Sprite Atlas打包精灵图集

UI优化注意事项 1.尽量避免使用IMGUI(OnGUI)来做游戏时的UI,因为IMGUI的开销比较大。 2.如果一个UGUI的控件不需要进行射线检测,则可以取消勾选Raycast Target 3.尽量避免使用完全透明的图片和UI控件。因为即使完全透明,我们看不见它&#xf…

BUUCTF------[HCTF 2018]WarmUp

开局一个表情&#xff0c;源代码发现source.php <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whitelist ["source">"source.php","hint">"hint.php"];if (! isset($page) |…

关于图形学中生成三角形库Triangle.Net的下载及简单使用

背景 Triangle.NET 是生成 2D&#xff08;约束&#xff09;Delaunay 三角剖分和点集或平面直线图的高质量网格。此库是基于 Jonathan Richard Shewchuk 的 Triangle 项目&#xff0c;主要用于图形学像Opengl(或Unity3D)中生成三角形使用。 下载 Triangle.Net是基于C#语言的库…

倾斜三维模型OSGB路径漫游——DasViewer

背景 有时候我们需要查看倾斜三维模型效果的效果&#xff0c;虽然也有很多软件可以用&#xff0c;比如CC、超图等等&#xff0c;但是这些软件都比较大&#xff0c;安装也比较麻烦&#xff0c;DasViewer这个软件就比较轻量&#xff0c;安装也简单&#xff0c;功能强大&#xff…

网络信息安全:nginx漏洞收集(升级至最新版本)

网络&信息安全&#xff1a;nginx漏洞收集&#xff08;升级至最新版本&#xff09; 一、风险详情1.1 nginx 越界写入漏洞(CVE-2022-41742)1.2 nginx 缓冲区错误漏洞(CVE-2022-41741)1.3 nginx 拒绝服务漏洞&#xff08;CNVD-2018-22806&#xff09; 二、nginx升级步骤 &…

使用GRU进行天气变化的时间序列预测

本文基于最适合入门的100个深度学习项目的学习记录&#xff0c;同时在Google clolab上面是实现&#xff0c;文末有资源连接 天气变化的时间序列的难点 天气变化的时间序列预测涉及到了一系列复杂的挑战&#xff0c;主要是因为天气系统的高度动态性和非线性特征。以下是几个主…

jpg图片怎么转成png?一个超实用的jpg转格式方法

Jpg是常见的图片格式之一&#xff0c;有时候需要将常见的jpg格式转换成png格式的图片来应对不同的需求。因为png格式的图片画质更清晰还支持透明度等&#xff0c;能够更好的保存图片质量。接下来&#xff0c;就给大家介绍一下jpg转换png格式的小窍门。只需要使用jpg格式转换器&…

Matlab高光谱遥感、数据处理与混合像元分解

光谱和图像是人们观察世界的两种方式&#xff0c;高光谱遥感通过“图谱合一”的技术创新将两者结合起来&#xff0c;大大提高了人们对客观世界的认知能力&#xff0c;本来在宽波段遥感中不可探测的物质&#xff0c;在高光谱遥感中能被探测。以高光谱遥感为核心&#xff0c;构建…

HMI方案技术分享|启明智显M4核心板适配RGB/LVDS接口屏幕教程

前言&#xff1a; 深圳市启明智显科技有限公司专注于HMI&#xff08;人机交互&#xff09;和AIoT&#xff08;人工智能物联网&#xff09;产品和解决方案的研发、设计和生产。公司产品覆覆盖了多种操作系统&#xff0c;包括Linux、RTOS和OneOs等。无论您的项目使用哪种系统&am…

policy-space response oracles (PSRO)含义

Algorithm 1 维护了一个所有玩家策略的策略池。然后循环地选定玩家&#xff0c;然后从他的策略集中选择出一个策略&#xff0c;固定其它所有玩家此时的策略&#xff0c;然后不断地训练这个策略使得该策略成为一个在别的玩家策略不变的情况下、近似的best respond。然后将其加入…

仿牛客网项目---关注模块的实现

本篇文章是关于我的项目的关注模块的开发。 关注模块的开发实现了用户之间的关注功能和关注列表的展示。通过使用相应的服务类处理关注和取消关注操作&#xff0c;并利用用户服务类获取用户信息&#xff0c;实现了关注功能的存储和查询。同时&#xff0c;通过触发关注事件&…

哈希的简单介绍

unordered系列关联式容器 在C98中&#xff0c;STL提供了底层为红黑树结构的一系列关联式容器&#xff0c;在查询时效率可达到 l o g 2 N log_2 N log2​N&#xff0c;即最差情况下需要比较红黑树的高度次&#xff0c;当树中的节点非常多时&#xff0c;查询效率也不理想。最好的…

少儿编程 中国电子学会C++等级考试一级历年真题答案解析【持续更新 已更新82题】

C 等级考试一级考纲说明 一、能力目标 通过本级考核的学生&#xff0c;能对 C 语言有基本的了解&#xff0c;会使用顺序结构、选择结构、循环结构编写程序&#xff0c;具体用计算思维的方式解决简单的问题。 二、考核目标 考核内容是根据软件开发所需要的技能和知识&#x…

深度学习_18_模型的下载与读取

在深度学习的过程中&#xff0c;需要将训练好的模型运用到我们要使用的另一个程序中&#xff0c;这就需要模型的下载与转移操作 代码&#xff1a; import math import torch from torch import nn from d2l import torch as d2l import matplotlib.pyplot as plt# 生成随机的…

私有化部署自己的ChatGPT,免费开源的chatgpt-next-web搭建

随着AI的应用变广&#xff0c;各类AI程序已逐渐普及&#xff0c;尤其是在一些日常办公、学习等与撰写/翻译文稿密切相关的场景&#xff0c;大家都希望找到一个适合自己的稳定可靠的ChatGPT软件来使用。 ChatGPT-Next-Web就是一个很好的选择。它是一个Github上超人气的免费开源…

新零售SaaS架构:订单履约系统的概念模型设计

订单履约系统的概念模型 订单&#xff1a;客户提交购物请求后&#xff0c;生成的买卖合同&#xff0c;通常包含客户信息、下单日期、所购买的商品或服务明细、价格、数量、收货地址以及支付方式等详细信息。 子订单&#xff1a;为了更高效地进行履约&#xff0c;大订单可能会被…

安卓开发:计时器

一、新建模块 二、填写应用名称和模块名称 三、选择模块&#xff0c;Next 四、可以保持不变&#xff0c;Finish 五、相关目录文件 六、相关知识 七、&#xff1f;

正大国际:期货结算价是如何理解呢?结算价有什么作用?

如何理解期货结算价&#xff1a; 什么是商品期货当日结算价&#xff0c; 商品期货当日结算价是指某一期货合约当日交易期间成交价格按成交量的加权平均价。当日 无成交的&#xff0c;当日结算价按照交易所相关规定确定。 股指期货当日结算价是指某一期货合约当日交易期间最后一…

采购软件是如何改善采购周期?

采购是一个复杂的职能重叠网络&#xff0c;由市场分析、供应商选择、发布 RPF/RFQ、合同谈判等多个工作流程组成。此外&#xff0c;时间紧迫、满足客户期望等压力也使这项工作极具挑战性。因此&#xff0c;如果企业在采购过程中采取短视的方法&#xff0c;没有遵循适当的结构&a…

Pygame教程02:图片的加载+缩放+旋转+显示操作

------------★Pygame系列教程★------------ Pygame教程01&#xff1a;初识pygame游戏模块 Pygame教程02&#xff1a;图片的加载缩放旋转显示操作 Pygame教程03&#xff1a;文本显示字体加载transform方法 Pygame教程04&#xff1a;draw方法绘制矩形、多边形、圆、椭圆、弧…