| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【回归预测】基于TPA-LSTM(时间注意力注意力机制长短期记忆神经网络)实现数据多输入单输出回归预测附matlab代码 -> 正文阅读 |
|
[人工智能]【回归预测】基于TPA-LSTM(时间注意力注意力机制长短期记忆神经网络)实现数据多输入单输出回归预测附matlab代码 |
1 内容介绍? 随着当今时代科技不断地飞速发展,科技信息也在急剧增加,收集并挖掘分析这些来源多样化的科技信息,有助于推动科技的发展。而预测作为一种重要的数据研究方法,在各个行业各个领域都有着广泛的应用。因此,面对数量如此庞大且繁杂的科技信息,如何对其进行有效地利用来实现科技发展趋势的预测及分析,具有重要的研究意义。针对传统的预测模型大多存在准确度低、收敛速度慢的问题,并且为达到长时预测的效果,提出一种基于注意力(Attention)机制的长短期记忆网络预测模型。LSTM是循环神经网络(RNN)的一种,它有效地改善了RNN梯度弥散的问题,添加了长短时记忆的功能,保持了模型的持久性,可以很好的解决长期依赖问题;Attention机制即注意力机制,其原理是模拟人脑的注意力模型,本质是一个加权求和的过程,通过给信息赋予不同的权重来凸显某一步的信息。本文使用注意力机制对LSTM网络进行优化,在时间粒子维度上对神经元各时间步的输出乘上相应的权重再相加,得到最后的输出值,从而提高预测精度;而跳层连接则可以改变LSTM网络传播的时间步长。从科技文献、技术成果、科研经费等方面的变化数据入手,根据某一领域不同范围每一年的统计数据来构建数据集进行量化分析。以人工智能领域为例,它包含计算机视觉、自然语言处理等多个范围,按照不同范围分别以年单位统计科技文献数量、研究经费数量、技术成果量等数值,经过数据预处理后构建时间序列,输入到模型的双分支结构中,其中一条分支是具有Attention机制的LSTM网络,另一条是Skip-LSTM网络,通过结合两条分支的输出值得到最终结果,反复迭代,直至模型收敛。实验结果表明,相比于LSTM模型和部分其他常用预测模型,该模型有着更高的预测准确度。 一方面,由于经典的统计分析时间序列模型,在实际应用中存在着对非线性过程建模不精准、 对过程变量之间的关联关系刻画不足的问题,己经不能满足当前对时间序列建模与预测日益精确 性的需求;另一方面,随着深度神经网络技术的飞速发展,及其在自然语言处理与时间序列分析 等方向上取得的巨大成功应用。因此,在本章节将着重对深度神经网络中的循环神经网络RNN、 长短期记忆网络LSTM以及注意力机制等相关理论与技术进行概括介绍。 2.1.1循环神经网络RNN 循环神经网络RNN如同其名字一样,在其网络中包含循环结构,实现信息的持久化,它是 一类专门用于时间序列数据处理的深度神经网络。循环神经网络的每一层结果不仅依次往下一层 传输,而且会同时输送给一个隐藏状态,为处理下一个样本时使用,循环神经网络据此可以很容 易地扩展到更长的序列数据中。RNN的一个重要特性是在同一时刻模型的参数是共享的,这使 得模型可以在同一时间上共享不同位置的信息,当序列数据中的某些信息在多个位置上,这种共?享参数就显得尤为重要了,循环神经网络结构如下图2-1所示: 从图2-1可以看出,循环神经网络主要包括三层结构,分别是输入层、隐藏层和输出层.输 入层为xc,其中隐藏层的具体计算公式如(2-1)所示: st?= f(w-st_1+u-xt) (2-1) 输出层的具体计算公式如(2-2)所示: Of?=?g(v- St) 其中w、u、V是权重,R)为隐藏层激活函数,一般釆用tanh函数或Relu函数,w、u在所?有隐藏层间是共享的,g()是输出层激活函数,一般釆用softmax函数。传统的神经网络隐藏层之?间的信息不能相互传递,每次的网络输出只依赖前一步的输入,没有考虑到不同时刻之间的相互?影响因素;并且输入和输出的维度是固定的,没有考虑到序列结构长度变化的影响。而在循环神?经网络RNN结构中,上一时刻神经元中的历史信息通过隐藏层的权值与下一时刻的隐藏层神经?元进行连接,形成反馈网络结构,进而对下一时刻的输出产生影响。RNN的提出可以有效刻画?时间序列中的时序关系,并能解决序列长度不固定的问题。 从理论上来说,循环神经网络RNN可以建模任意时间长度范围内的信息。但在实际应用过?程中,对于较长的时间间隔信息通常是无法进行的,这就是所谓的长时依赖问题。主要原因在于,?RNN网络在训练时主要根据梯度变化进行,而梯度变化的计算主要依据神经元之间的连接权值?的改变程度,而这种改变在训练过程中常常会产生梯度爆炸或梯度消失的问题。梯度爆炸是指随?着训练时间推移,数据量逐渐增加,需要参考的信息也越来越多,造成权值的快速增长,计算偏?差会呈现出指数增长,很小的误差经过长时间的训练也会呈现出较大的增长,从而导致无法训练?或者训练时间过长。梯度消失是指开始输入到网络中的数据会随着时间的增长,被新输入的数据?取代,使得梯度变化越来越小,直至没有任何变化,致使有效信息被遗忘。这两种问题是RNN?在实际应用过程中面临的主要困难。 2.1.2长短期记忆网络LSTM 长短期记忆网络LSTM在循环神经网络RNN的基础上进行了改进,利用门控机制更新细胞?状态与隐藏状态,解决了?RNN中存在的长时依赖问题,并在语音处理、数据分析、预测等领域?得到了广泛应用。在长短期记忆网络LSTM中最具代表性的是它的三个门控,分别是忘记门、输入门以及输出门,这三个门控具有各自不同的作用,通过门控机制可有效缓解训练过程中过拟合?与欠拟合现象。LSTM网络结构如图2-2所示: 2 仿真代码
3 运行结果4 参考文献[1]罗忠敬. 基于LSTM神经网络及注意力机制的科技趋势预测.? [2]郝建业, 侯韩旭, 马钰,等. 基于注意力机制的多通道LSTM神经网络流感疫情预测方法:, CN110085327A[P]. 2019. 博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:57:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |