【时间序列预测】基于matlab CNN优化LSTM时间序列预测(单变量单输出)【含Matlab源码 1688期】「建议收藏」

一、CNN简介二、LSTM简介1LSTM控制流程LSTM的控制流程:是在前向传播的过程中处理流经细胞的数据,不同之处在于LSTM中细胞的结构和运算有所变化。这一系列运算操作使得LSTM具有能选择保存信息或遗忘信息的功能。咋一看这些运算操作时可能有点复杂,但没关系下面将带你一步步了解这些运算操作。2核心概念LSTM的核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。你可以将其看作网络的“记忆”。理论上讲,细胞状态能够将序列处理过程中的相关

大家好,又见面了,我是你们的朋友全栈君。

一、卷积神经网络(CNN)简介

1 卷积神经网络(CNN)定义
卷积神经网络(convolutional neural network, CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。卷积网络是指那些至少在网络的一层中使用卷积运算来替代一般的矩阵乘法运算的神经网络。

2 CNN神经网络图
在这里插入图片描述
CNN是一种通过卷积计算的前馈神经网络,其是受生物学上的感受野机制提出的,具有平移不变性,使用卷积核,最大的应用了局部信息,保留了平面结构信息。

3 CNN五种结构组成
3.1 输入层

在处理图像的CNN中,输入层一般代表了一张图片的像素矩阵。可以用三维矩阵代表一张图片。三维矩阵的长和宽代表了图像的大小,而三维矩阵的深度代表了图像的色彩通道。比如黑白图片的深度为1,而在RGB色彩模式下,图像的深度为3。

3.2 卷积层(Convolution Layer)
卷积层是CNN最重要的部分。它与传统全连接层不同,卷积层中每一个节点的输入只是上一层神经网络的一小块。卷积层被称为过滤器(filter)或者内核(kernel),Tensorflow的官方文档中称这个部分为过滤器(filter)。
【注意】在一个卷积层中,过滤器(filter)所处理的节点矩阵的长和宽都是由人工指定的,这个节点矩阵的尺寸也被称为过滤器尺寸。常用的尺寸有3×3或5×5,而过滤层处理的矩阵深度和当前处理的神经层网络节点矩阵的深度一致。
下图为卷积层过滤器(filter)结构示意图
在这里插入图片描述
下图为卷积过程
在这里插入图片描述
详细过程如下,Input矩阵是像素点矩阵,Kernel矩阵是过滤器(filter)
在这里插入图片描述
3.3 池化层(Pooling Layer)
池化层不会改变三维矩阵的深度,但是它可以缩小矩阵的大小。通过池化层,可以进一步缩小最后全连接层中节点的个数,从而达到减少整个神经网络参数的目的。使用池化层既可以加快计算速度也可以防止过拟合。池化层filter的计算不是节点的加权和,而是采用最大值或者平均值计算。使用最大值操作的池化层被称之为最大池化层(max pooling)(最大池化层是使用的最多的磁化层结构)。使用平均值操作的池化层被称之为平均池化层(mean pooling)。
下图分别表示不重叠的4个2×2区域的最大池化层(max pooling)、平均池化层(mean pooling)
在这里插入图片描述
在这里插入图片描述
3.4 全连接层
在经过多轮卷积层和池化层的处理之后,在CNN的最后一般会由1到2个全连接层来给出最后的分类结果。经过几轮卷积层和池化层的处理之后,可以认为图像中的信息已经被抽象成了信息含量更高的特征。我们可以将卷积层和池化层看成自动图像特征提取的过程。在提取完成之后,仍然需要使用全连接层来完成分类任务。

3.5 Softmax层
通过Softmax层,可以得到当前样例属于不同种类的概率分布问题。

二、 LSTM简介

1 LSTM控制流程
LSTM的控制流程:是在前向传播的过程中处理流经细胞的数据,不同之处在于 LSTM 中细胞的结构和运算有所变化。
在这里插入图片描述
这一系列运算操作使得 LSTM具有能选择保存信息或遗忘信息的功能。咋一看这些运算操作时可能有点复杂,但没关系下面将带你一步步了解这些运算操作。

2 核心概念
LSTM 的核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径,让信息能在序列连中传递下去。你可以将其看作网络的“记忆”。理论上讲,细胞状态能够将序列处理过程中的相关信息一直传递下去。
因此,即使是较早时间步长的信息也能携带到较后时间步长的细胞中来,这克服了短时记忆的影响。信息的添加和移除我们通过“门”结构来实现,“门”结构在训练过程中会去学习该保存或遗忘哪些信息。

3 Sigmoid
门结构中包含着 sigmoid 激活函数。Sigmoid 激活函数与 tanh 函数类似,不同之处在于 sigmoid 是把值压缩到 0~1 之间而不是 -1~1 之间。这样的设置有助于更新或忘记信息,因为任何数乘以 0 都得 0,这部分信息就会剔除掉。同样的,任何数乘以 1 都得到它本身,这部分信息就会完美地保存下来。这样网络就能了解哪些数据是需要遗忘,哪些数据是需要保存。
在这里插入图片描述
4LSTM门结构
LSTM 有三种类型的门结构:遗忘门、输入门和输出门。
4.1 遗忘门
遗忘门的功能是决定应丢弃或保留哪些信息。来自前一个隐藏状态的信息和当前输入的信息同时传递到 sigmoid 函数中去,输出值介于 0 和 1 之间,越接近 0 意味着越应该丢弃,越接近 1 意味着越应该保留。
在这里插入图片描述
4.2 输入门
输入门用于更新细胞状态。首先将前一层隐藏状态的信息和当前输入的信息传递到 sigmoid 函数中去。将值调整到 0~1 之间来决定要更新哪些信息。0 表示不重要,1 表示重要。
其次还要将前一层隐藏状态的信息和当前输入的信息传递到 tanh 函数中去,创造一个新的侯选值向量。最后将 sigmoid 的输出值与 tanh 的输出值相乘,sigmoid 的输出值将决定 tanh 的输出值中哪些信息是重要且需要保留下来的。
在这里插入图片描述
4.3 细胞状态
下一步,就是计算细胞状态。首先前一层的细胞状态与遗忘向量逐点相乘。如果它乘以接近 0 的值,意味着在新的细胞状态中,这些信息是需要丢弃掉的。然后再将该值与输入门的输出值逐点相加,将神经网络发现的新信息更新到细胞状态中去。至此,就得到了更新后的细胞状态。
在这里插入图片描述
4.4 输出门
输出门用来确定下一个隐藏状态的值,隐藏状态包含了先前输入的信息。首先,我们将前一个隐藏状态和当前输入传递到 sigmoid 函数中,然后将新得到的细胞状态传递给 tanh 函数。
最后将 tanh 的输出与 sigmoid 的输出相乘,以确定隐藏状态应携带的信息。再将隐藏状态作为当前细胞的输出,把新的细胞状态和新的隐藏状态传递到下一个时间步长中去。
在这里插入图片描述
让我们再梳理一下。遗忘门确定前一个步长中哪些相关的信息需要被保留;输入门确定当前输入中哪些信息是重要的,需要被添加的;输出门确定下一个隐藏状态应该是什么。

三、部分源代码



四、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 包子阳,余继周,杨杉.智能优化算法及其MATLAB实例(第2版)[M].电子工业出版社,2016.
[2]张岩,吴水根.MATLAB优化算法源代码[M].清华大学出版社,2017.
[3]周品.MATLAB 神经网络设计与应用[M].清华大学出版社,2013.
[4]陈明.MATLAB神经网络原理与实例精解[M].清华大学出版社,2013.
[5]方清城.MATLAB R2016a神经网络设计与应用28个案例分析[M].清华大学出版社,2018.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128358.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 设置VScode的快捷键

    设置VScode的快捷键打开快捷键面板首先,打开快捷键设置面板:文件-首选项-键盘快捷键Ctrl+k,Ctrl+s也能打开设置快捷键这一步,需要已经知道,默认的快捷键是什么。比如,跳转到上一个编辑位置(VScode中叫前进,奇了怪),默认的是”alt+right”。那么,在最上方的面板中输入:我想要改成”Ctrl+Alt+右箭头”,点击进入,按下该组合键:然后,点击“已有2条命令的按键绑定与此相同”,清理已有的快捷键设置:然后,再次尝试绑定,就可以成功了:…

    2022年5月25日
    337
  • SpEL 表达式_strpbrk函数

    SpEL 表达式_strpbrk函数前言:Spring表达式语言(简称SpEL)是一种与JSP2的EL功能类似的表达式语言,它可以在运行时查询和操作对象图。与JSP2的EL相比,SpEL功能更加强大,它甚至支持方法调用和基本字符串模板函数。SpEL可以独立于Spring容器使用——只是当成简单的表达式语言来使用;也可以在Annotation或XML配置中使用SpEL,这样可以充分利用SpEL简化Spring的Bean配置。注:在…

    2025年10月30日
    5
  • flash咏鹅课件_咏鹅flash动画课件下载

    flash咏鹅课件_咏鹅flash动画课件下载咏鹅flash动画课件下载文欣赏咏鹅鹅,鹅,鹅,曲项向天歌。白毛浮绿水,红掌拨清波。本动画声情并茂的展示了这首著名的诗文,朗读者感情丰富,是很好的小学一年级语文Flash动画课件关键词:北师大版一年级上册语文Flash动画课件下载,一年级语文Flash动画课件下载,咏鹅Flash动画课件下载,.swf格式;更多关于《咏鹅》PPT课件,请点击咏鹅ppt标签。《咏鹅》PPT:《咏鹅》PPT第…

    2022年4月29日
    95
  • 毕业六年

    今年工作变化。这一年可以说命途多舛,下半年短短几个月,换了3条业务4个老板,有被动调整,也有主动转岗,面临比较重要的选择,还是相当煎熬的。这个过程有些坑,空了单独分享。运气不好的是频繁拥抱变化,有些努力白费了,意外之中又有意外,不过运气好的是年终没吃太多亏,权当是走个弯路,浪费了一年时间吧。惰性。技术上来说,转后端一年多,工作够用了,不过这两年从客户端折腾到前端又到后端,把技术热情磨没了,可能也是各方面原因,今年第一次感觉到了惰性,有点佛,感觉够用就行,不再试图知其所以然…

    2022年3月11日
    48
  • 转:不同的行业和工作的真实情况是怎样的?「建议收藏」

    ————————————————————————————————————–不同的行业和工作的真实情况是怎样的?收入、发展前景和挑战如何?这个问题可能会耽误您很多时间,但是,这个问题实在是憋了许久。每个大学生考虑以后从事行业的方式都不同,这

    2022年4月8日
    34
  • Vue(4)Vue指令的学习1「建议收藏」

    Vue(4)Vue指令的学习1「建议收藏」前言Vue官网一共有提供了14个指令,分别如下v-textv-htmlv-showv-if☆☆☆v-else☆☆☆v-else-if☆☆☆v-for☆☆☆v-on☆☆☆v

    2022年7月31日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号