Matlab终于能够实现Transformer预测了

        声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~

目录

原理简介

数据介绍

结果展示

完整代码


今天给小伙伴带来一期利用Matlab实现Transformer预测的代码。以往Transformer等模型只能在Python中实现,但是Python需要配置环境,且不同版本差异较大,难以直接在电脑上运行,非常不适合新手小白。同时,部分Python代码非常混乱,使用的库也不统一,真假难辨。

相比于传统LSTM、GRU等模型,Transformer模型也更加新颖,容易受到审稿人的喜爱。因此,本期推出Matlab版本的Transformer预测模型,代码非常清晰易懂,也跟以前的形式一样,直接Excel替换数据即可!无需更改代码!

原理简介

Transformer是2017年由Google团队针对机器翻译任务所提出来的模型,它没有采用卷积神经网络或者循环神经网络的结构,而是一个完全基于自注意力机制的模型,主要结构为位置编码、编码器、解码器和前馈网络。其优势就是高度并行化提高计算效率,可以捕获长时间依赖关系,更好地解决长时依赖问题。

Transformer主要由3个部分组成:位置嵌入模块、多头注意力模块和前馈网络模块。为增强长序列中的位置信息,需引入位置嵌入机制,位置编码方程定义为:

式中d为节点负荷的嵌入大小,i为第i个时间步长。自注意力网络的输入需加入位置编码变量:

式中:Et∈R^T×d表示单个节点负荷信息。随后使用线性变换矩阵Wq,Wk,Wv计算Q,K,V,即:

式中:Q和K为查询向量和键向量,用于计算数据间的相关度,V是表征历史数据的值向量。

Transformer的多头注意力机制可突出特征向量间的重点特征,注意力计算公式为:

式中:d为模型维度;h为注意力头数。

数据介绍

本期推文采用的案例数据是2022年1月份的某地光伏功率数据,是一个典型的多变量时间序列数据集。

特征包括气温, 方位角, 云层不透明度, 露点温度, DHI, DNI, GHI, GTI, GTI, 大气可降水量, 相对湿度, 降雪深度, 地面气压, 高度10m风向, 高度10m风速, 天顶角,输出即为实际功率一列。

这边已经帮小伙伴们完成了所有的数据预处理工作,包括缺失值处理、重复值处理等等。同时,由于光伏白天不发电,因此作者已经把功率为0的行都删除了!

更换自己的数据时,只需最后一列放想要预测的列,其余列放特征即可,无需更改代码,非常方便!

结果展示

设置最大训练次数为200次,初始学习率为0.001,最大位置编码长度为256,自注意力机制中的头数为4,每个头的键的通道数为4*32,利用上文2022年1月的光伏功率数据集进行光伏功率预测,得到的结果如下所示:

测试集预测效果图:

训练集预测效果图:

网络结构图:

回归拟合图:

差直方图:

预测结果显示:

可以看到,Transformer在该光伏功率数据集上的预测精度还是不错的,R2达到了0.999,如果再做几个对比模型,那么文章不就蹭蹭发了吗~

以上结果展示中所有图片,作者都已精心整理过代码,都可以一键运行main直接出图!不信的话可以看下面文件夹截图,非常清晰明了!

适用平台:Matlab2023b及以上,没有的文件夹里已经免费提供安装包,直接下载即可!

完整代码

         点击下方小卡片,再后台回复关键字,不区分大小写:

Transformer

         其他更多需求或想要的代码,均可点击下方小卡片后,再后台私信,看到后会秒回~

         更多代码链接:更多代码链接

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day9—Spark运行模式及RDD的创建

Spark概述 大数据开发的总体架构 可以看到,在数据计算层,作为Hadoop核心组成的MapReduce可以结合Hive通过类SQL的方式进行数据的离线计算(当然也可以编写独立的MapReduce应用程序进行计算);而Spark既可以做离线计算&a…

金属配件加工厂设备远程监控

随着科技的飞速发展,智能制造已成为制造业转型升级的重要方向。在金属配件加工领域,设备的稳定运行和高效管理对于提升产品质量、降低生产成本至关重要。HiWoo Cloud平台凭借其强大的远程监控功能,为金属配件加工厂提供了全新的解决方案&…

RabbitMQ详解-06RabbitMQ高级

1. 过期时间TTL 可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息自动被删除。RabbitMQ可以对消息和队列设置TTL。有以下两种设置方法: 通过队列属性设置,队列中所有消息都有相同的过期时间。对消息进…

省市区下拉选择:3个el-select(附完整代码+json)

目录 直接上做出的效果: 页面代码: 使用click.native: data及引入: 初始化: methods: JSON: 示例结构: 1.code.json 2.pca-code.json 回显: 视频效果: 直接上做出…

5个好用的中文AI大语言模型_中文大语言模型

AI大语言模型(Large Language Models, LLMs)是近1-2年来人工智能领域的重要发展,它们通过深度学习技术,特别是基于Transformer的架构(如GPT、BERT等),实现了对自然语言处理的巨大突破。 AI大语…

Vulkan入门系列2- 绘制三角形

概述: Vulkan的学习曲线是比较陡峭的,学习Vulkan刚开始像是在爬一个陡坡,等上了这个陡坡之后,后面学习曲线就相对比较平缓了。那么在Vulkan中绘制一个三角形,就相当于是在爬这样一个陡坡,因为绘制三角形需…

「51媒体」时尚类媒体邀约宣发资源

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 时尚类媒体邀约宣发资源可以多样化且针对性地满足品牌或活动的推广需求。以下是一些主要的资源及其特点: 时尚杂志:国内外知名时尚杂志,如《Vogue》、…

SparkSQL的分布式执行引擎-Thrift服务:学习总结(第七天)

系列文章目录 SparkSQL的分布式执行引擎 1、启动Thrift服务 2、beeline连接Thrift服务 3、开发工具连接Thrift服务 4、控制台编写SQL代码 文章目录 系列文章目录前言一、SparkSQL的分布式执行引擎(了解)1、启动Thrift服务2、beeline连接Thrift服务3、开发工具连接Thrift服务4、…

MS3121地隔离放大器

MS3121 是一款应用于车载音频系统的地隔离放大 器。芯片可以很好地解决汽车音频系统中的绕线电阻问 题,以及由车载电子设备带来的噪声问题。另外,芯片 所需要的外围电容小,便于系统的集成。注意,芯片的 地电位需要和后级音频功…

Flutter第十四弹 抽屉菜单效果

目标: 1.怎么构建抽屉菜单效果? 2.抽屉菜单怎么定制? 一、抽屉菜单 侧滑抽屉菜单效果 1.1 抽屉菜单入口 Flutter 的脚手架Scaffold,默认提供了抽屉菜单效果入口。 主页面采用一个简单的页面,侧滑菜单首先使用一个I…

ARP地址解析协议详解:

ARP:地址解析协议 – 以下3种ARP正常均只能在同一个广播域内使用 AARP 正向ARP 已知对端IP地址,通过广播来获取对端的MAC地址 RARP 反向ARP 已知对端的MAC地址,通过二层单播、三层广播来获取对端的IP地址 FARP 无故ARP 在设备刚获取…

电商API接口详述:涵盖订单、库存等多功能接口介绍

电商商家自研管理系统,线下ERP系统或WMS系统想要接入电商平台订单打单发货,通过点三电商API可以一键对接多个电商平台,帮助商家、ERP/WMS服务商快速开发电商模块,实现电商业务管理功能,那么点三电商API接口有哪些可用接…

HTTP 抓包工具——Fiddler项目实战

网络爬虫实质上是模拟浏览器向 Web 服务器发送请求。对于一些简单的网络请求,我们 可以通过查看 URL 地址来构造请求,但对于一些稍复杂的网络请求,仍然通过观察 URL 地 址将无法构造正确。因此我们需要对这些复杂的网络请求进行捕获分…

一文带你理清同源和跨域

1、概述 前后端数据交互经常会碰到请求跨域,什么是跨域,为什么需要跨域,以及常用有哪几种跨域方式,这是本文要探讨的内容。 同源策略(英文全称 Same origin policy)是浏览器提供的一个安全功能。同源策略限制了从同一个源加载的…

协同编辑:只是在线协作这么简单吗?揭秘协同编辑的深层价值

经常很多朋友咨询,无忧企业文档是否支持协同编辑,首先肯定是支持的。但是,我发现很多人对于“协同编辑”的理解可能比较表面,仅仅停留在多人同时编辑一份文档的层面。实际上,协同编辑的功能远不止于此,它更…

Stable Diffusion 设计 Logo 成品惊艳,比起人类手工设计的有什么不足之处?

Stable Diffusion不仅可以创作出精美的绘画作品,还能通过简单的prompt生成logo图案,并进一步衍生出更多的视觉海报和banner。 checkpoint ReV Animated ReV Animated - v1.2.2-EOL | Stable Diffusion Checkpoint | Civitai 这是我个人最喜欢的 2.5/3…

云平台DNS故障导致网站访问卡顿异常排查过程,wireshark、strace等工具在实际问题排查过程中的应用方法

一、问题现象 项目上使用华为私有云,前段时间华为升级云平台后,云上用户反馈业务系统出现卡顿,之前几秒可以刷新出来的页面现在需要几十秒。提供了一个比较明显的url和curl调用方法。 10.213.x.xxx:8082/files/login curl -H "Content-…

【Java学习笔记】异常处理

生活中我们在使用一些产品的时候,经常会碰到一些异常情况。例如,使用ATM机取钱的时,机器会突然出现故障导致无法完成正常的取钱业务,甚至吞卡;在乘坐地铁时,地铁出现异常无法按时启动和运行;使用…

电脑怎么卸载软件?多个方法合集(2024年新版)

在电脑的日常使用中,我们经常需要安装各种软件来满足不同的需求,但随着时间的推移,可能会出现一些软件不再需要或需要更换的情况。此时,及时从电脑上卸载这些不必要的软件是非常重要的。它不仅可以释放硬盘空间,还可以…

第二证券股市资讯:股票中什么叫龙头?

龙头,也就是龙头股,指的是某一职业中有必定影响力和号召力的股票,龙头股的涨跌通常对其他同职业板块股票的涨跌有必定演示和引导作用,是一种风向标一般的存在。龙头股的技能面表现和成交量都会比同时刻的大盘和地块要强。 具体分…