2024年中科院SCI期刊牛顿-拉夫逊优化算法NRBO优化Transformer-LST模型的多变量时间序列预测

本文主要是介绍2024年中科院SCI期刊牛顿-拉夫逊优化算法NRBO优化Transformer-LST模型的多变量时间序列预测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

matlab R2024a以上

一、数据集

二、2024年中科院SCI期刊牛顿-拉夫逊优化算法NRBO

牛顿-拉夫逊优化算法(Newton-Raphson-based optimizer, NBRO)是一种新型的元启发式算法(智能优化算法),该成果由Sowmya等人于2024年2月发表在中科院2区Top SCI期刊《Engineering Applications of Artificial Intelligence》上。

NRBO受牛顿-拉弗逊方法启发,利用牛顿-拉弗逊搜索规则(NRSR)和躲避陷阱算子(TAO),以及一些矩阵组来探索整个搜索过程,进一步探索最佳结果。NRSR利用牛顿-拉弗逊方法改进NRBO的探索能力,提高收敛速度以达到改善搜索空间位置的目的。TAO帮助NRBO避免陷入局部最优解陷阱。对NRBO的性能进行了评估。

一、种群初始化

像其他元启发算法一样,NRBO通过在候选解的边界内产生初始随机种群来开始搜索最优解。基于存在Np个种群,且每个种群由dim决策变量/向量组成的事实。

二、Newton-Raphson搜索规则(NRSR) 

这些矢量由NRSR控制,可以更准确地探索可行区域并获得更好的位置。NRSR是基于NRM的概念,提出了提高勘探趋势和加速收敛。由于许多优化技术是不可微的,在这种情况下,数学NRM被用来取代显式公式的功能。NRM从一个假定的初始解开始,并在一个确定的方向上进行到下一个位置。为了从中公式(5)中获取NRSR,必须使用TS来确定二阶导数。f(x−Δx)和f(x+Δx)的TS如下所示:

通过减去/加上等式(9)和等式(10),f“(x)和f”(x)的表达式推导如下:

将等式(11)和等式(12)由方程式(5),并且更新的根位置被重写如下。

考虑到NRSR应该是NRBO的主要组成部分,有必要进行某些调整,以管理基于人口的搜索。作为等式(13),x的相邻位置分别用xn+Δx和xn-Δx表示,如图2所示。NRBO将这对相邻位置转换为群体中的另外两个向量。因为f(xn)是一个极小化问题,如图2所示,位置xn+Δx的适应度值比位置x的差,而位置xn-Δx的适应度值比位置xn的大。因此,NRBO用位置xn-Δx替换位置Xb,位置Xb在其邻域中的位置比位置xn更好,而位置xn+Δx被位置Xw替换,位置Xw在其邻域中的位置比位置xn更差。所建议的方法的另一优点在于,其使用位置(xn)而不是其适合度(f(xn)),这节省了计算时间。接下来,建议的NRSR表示如下:

其中randn表示具有平均值0和方差1的正态分布随机数,Xw表示最差位置,Xb表示最佳位置。当量(14)可以通过用当前的解决方案来帮助它来更新它的位置。当量(14)具有一个随机参数,以提高NRBO的搜索能力,并更好地平衡开发和勘探能力。作为经验法则,所提出的算法必须能够在多样化和集约化之间达到平衡,以便在搜索空间中发现最优解并最终收敛到全局解。可以通过应用称为δ的自适应系数来增强算法。δ的表达式如方程所示。

其中IT表示当前迭代,Max IT表示最大迭代次数。为了保持勘探和开采阶段之间的平衡,参数δ在迭代过程中自适应。图3显示了δ在每次迭代中的变化。δ的值在1到-1之间变化,如方程式所示。(十五)、该算法通过引入自适应参数δ,在优化过程中考虑了随机行为,增加了多样性,避免了局部最优,同时大大减少了迭代次数,从而改进了NRBO算法。方程中Δx的表达式(14)如方程式所示。(16)、

其中Xb表示迄今为止获得的最佳解,并且兰德(1:dim)是具有dim决策变量的随机数。现在,方程(13)通过考虑NRSR进行修改,并重写如下。

通过引入另一个称为ρ的参数,改进了所提出的NRBO的利用,该参数将种群引导到正确的方向。ρ的表达式如下所示。

其中a和B是(0,1)之间的随机数,r1和r2是从总体中随机选择的不同整数。然而,r1和r2的值不相等。矢量(Xn IT)的当前位置已由等式(1)更新。(19)、

其中X1 IT n是通过更新xIT n而得到的新向量位置。NRSR通过(Weerakoon和Fernando,2000年; Magre Rennan和Argyros,2018年)提出的NRM和Eq.(13)更改并重写如下。

其中,yw和yb是使用Zn+1和xn生成的两个向量的位置,r1表示(0,1)之间的随机数。NRSR的增强版本如方程(1)所示。(20)、使用等式(20),方程式(19)更新如下。

有必要通过用等式(1)中的当前矢量xIT n的位置替换最佳矢量Xb的位置来构造新矢量X2IT n。(24页)。

开发阶段是这个搜索方向策略的主要焦点。当涉及到局部搜索时,Eq.(25)是良性的,但它有局限性,当涉及到全球搜索,而搜索策略提出的方程。(24)对于全局搜索是有益的,但是当涉及到局部搜索时具有局限性。无论如何,NRBO都使用Eq。(24)和(25)改善潜水和强化阶段。下一次迭代期间的新位置向量表示为等式(1)。(26页)。

其中r2表示(0,1)之间的随机数。

三、陷阱规避操作(TAO)

纳入TAO的目的是为了提高建议的NRBO处理实际问题的有效性。TAO是从Ahmadianfar等人(2002)采用的修改和增强的算子,2020年)的报告。通过使用TAO,可以显著地改变xIT+1 n的位置。它通过组合最佳位置Xb和当前矢量位置XITn产生具有增强质量XITTAO的解。如果兰德的值小于DF,则解XIT TAO由等式产生。(28页)。

其中,兰德表示(0,1)之间的均匀随机数,θ1和θ2分别是(− 1,1)和(− 0.5,0.5)之间的均匀随机数,DF表示控制NRBO性能的决定因子,μ1和μ2是随机数,使用等式(29)和等式(30)分别表示。

其中,rand表示(0,1)之间的随机数,Δ表示(0,1)之间的数。当量(29)和等式(30)被进一步简化如下。

其中β表示二进制数,1或0,rand表示随机数。如果Δ的值大于或等于0.5,则β的值为0;否则,该值为1。由于参数μ1和μ2的选择具有随机性,种群变得更加多样化,并逃离局部最优解,这有助于提高其多样化。与NRBO类似,GBO也受到牛顿方法的启发。因此,NRBO概念可能看起来类似于GBO,但由于NRBO的独特功能,其性能仍然优于GBO。算法中给出了NRBO的伪代码。所提出的NRBO的流程图如图4所示。

三、Transformer-LSTM模型

Transformer-LSTM 模型结合了 Transformer 和 LSTM(长短期记忆网络)两种架构的优点,用于处理序列数据。以下是对这两种模型及其结合的简要介绍:

1. LSTM(Long Short-Term Memory)

LSTM 是一种特殊的递归神经网络(RNN),特别适用于处理和预测序列数据中的长时间依赖关系。传统的 RNN 在处理长序列时会遇到梯度消失或梯度爆炸问题,而 LSTM 通过引入“记忆单元”(memory cell)和“门控机制”(gating mechanisms),如输入门、遗忘门和输出门,能够有效地保留或遗忘信息,从而克服这些问题。

  • 输入门(Input Gate):控制新信息进入记忆单元的程度。
  • 遗忘门(Forget Gate):决定记忆单元中已有信息的保留或丢弃。
  • 输出门(Output Gate):决定记忆单元的信息将如何影响当前输出。

LSTM 擅长处理时间序列、自然语言处理等任务,特别是在需要记忆长时间依赖的信息时表现出色。

2. Transformer

Transformer 是一种完全基于注意力机制(Attention Mechanism)的架构,最初由 Vaswani 等人在 2017 年提出。与 RNN 类模型不同,Transformer 不依赖于序列顺序地处理数据,而是可以并行处理整个序列。因此,Transformer 在训练效率和捕捉长距离依赖方面具有显著优势。

  • 自注意力机制(Self-Attention Mechanism):允许模型在处理序列的每个位置时,都能考虑整个序列中的其他位置的信息。
  • 多头注意力(Multi-Head Attention):通过并行计算多个不同的注意力机制,捕捉到序列中更丰富的依赖关系。

Transformer 在机器翻译、文本生成、图像生成等领域取得了显著的成功,特别是像 BERT、GPT 这样的预训练模型。

3. Transformer-LSTM 结合模型

Transformer-LSTM 模型尝试结合两种架构的优点。一般有两种常见的结合方式:

  1. LSTM + Transformer:首先使用 LSTM 处理输入序列,提取时间序列中的长短期依赖关系,然后将这些特征传递给 Transformer 进行更高级的特征提取和捕捉全局依赖。这种方式可以保留 LSTM 的时序依赖能力,同时利用 Transformer 的全局特征捕捉能力。
  2. Transformer + LSTM:在这种架构中,Transformer 通常用于捕捉序列中的全局依赖和上下文信息,而 LSTM 则用于更好地理解这些特征在时间序列中的演变。这种方式常用于需要结合时间和全局依赖的复杂任务中。

4. 应用场景

  • 自然语言处理(NLP):在机器翻译、文本生成等任务中,Transformer-LSTM 模型可以同时处理局部和全局的依赖关系,提升模型性能。
  • 时间序列预测:在金融、气象等领域,结合模型可以更好地捕捉时间序列的动态特征。

5. 优缺点

  • 优点
  • 能够同时捕捉序列中的长短期依赖和全局特征。
  • 适应多种复杂任务,尤其在处理长序列时具有优势。
  • 缺点
  • 模型复杂度较高,训练和推理时间较长。
  • 需要大量数据和计算资源进行训练。

通过结合 LSTM 的时序建模能力和 Transformer 的全局依赖捕捉能力,Transformer-LSTM 模型能够更好地处理复杂的序列数据任务。

四、效果展示

五、代码获取

感兴趣的朋友可以关注最后一行

% 参数设置
options0 = trainingOptions('adam', ...'Plots','none', ...'MaxEpochs', 100, ...'MiniBatchSize', 32, ...'Shuffle', 'every-epoch', ...'InitialLearnRate', 0.01, ...'L2Regularization', 0.002, ...         % 正则化参数'ExecutionEnvironment', "auto",...'Verbose',1);% https://mbd.pub/o/bread/mbd-ZpqUlJtw

这篇关于2024年中科院SCI期刊牛顿-拉夫逊优化算法NRBO优化Transformer-LST模型的多变量时间序列预测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1101022

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语