河南省建设网站,重庆如何做聚政网站,娱乐彩票网站建设制作,定制网站开发app费用一、算法原理
1.1 CNN原理 卷积神经网络具有局部连接、权值共享和空间相关等特性。卷积神经网络结构包含卷积层、激活层和池化层。 #xff08;a#xff09;二维卷积层将滑动卷积滤波器应用于输入。该层通过沿输入垂直和水平方向 移动滤波器对输入进行卷积#xff0c;并计… 一、算法原理
1.1 CNN原理 卷积神经网络具有局部连接、权值共享和空间相关等特性。卷积神经网络结构包含卷积层、激活层和池化层。 a二维卷积层将滑动卷积滤波器应用于输入。该层通过沿输入垂直和水平方向 移动滤波器对输入进行卷积并计算权重与输入的点积然后加入一个偏置项。具体表达式为 卷积层的功能是对输入数据进行特征提取。其内部包含多个卷积核也称为 感受野。将输入图像和卷积核做卷积运算可以增强原始信号特征的同时降低噪声。卷积运算的具体过程如图1所示。 图1 卷积运算的具体过程
2激活函数 在卷积神经网络中常用的激活函数包括 Sigmoid 函数、Tanh 函数、Swish 函数和 Relu 函数。Relu 函数解决了 Sigmoid 函数和 Tanh 函数梯度消失的问题 提高了模型收敛的速度受到的广泛学者的欢迎。
3池化层 池化层又称为下采样层池化层分为平均池化层和最大池化层。其中最大池化层通过将输入分为矩形池化区域并计算每个区域的最大值来执行下采样 而平均池化层则是计算池化区域的平均值来执行下采样。池化层的池化过程如图2所示。 图2 池化过程示意图
1.2 LSTM原理 LSTM采用循环神经网络( Recurrent Neural NetworkRNN )架构[8]它是专门为从序列中学习长期依赖关系而设计的。LSTM可以使用4个组件输入门、输出门、遗忘门和具有自循环连接的单元来移除或添加块状态的信息。其神经元结构如图3所示。 图3 LSTM网络结构 设输入序列共有 k 个时间步LSTM 门控机制 结构为遗忘门、输入门和输出门xt携带网络输入值 作为向量引入系统ht 通过隐含层对 LSTM 细胞进 行输出ct携带着 LSTM 细胞状态进行运算。LSTM 运算规则如下 计算后保留 ct与 ht用于下一时间步的计算最后一步计算完成后将隐藏层向量 hk作为输出与本组序列对应的预测值对比得出损失函数值依据梯度下降算法优化权重和偏置参数以此训练出迭代次数范围内最精确的网络参数。
1.3 CNN-LSTM框架 以时序预测为例本次分享的CNN-LSTM的框架如图4所示。 图4 CNN-LSTM框架
二、代码实战
clcclearload(Train.mat)load(Test.mat)% LSTM 层设置参数设置inputSize size(Train_xNorm{1},1); %数据输入x的特征维度outputSize 1; %数据输出y的维度 numhidden_units150;numhidden_units2 20;numhidden_units3100;%opts trainingOptions(adam, ... MaxEpochs,10, ... GradientThreshold,1,... ExecutionEnvironment,cpu,... InitialLearnRate,0.001, ... LearnRateSchedule,piecewise, ... LearnRateDropPeriod,2, ... %2个epoch后学习率更新 LearnRateDropFactor,0.5, ... Shuffle,once,... % 时间序列长度 SequenceLength,k,... MiniBatchSize,24,... Verbose,0);%% lstmlayers [ ... sequenceInputLayer([inputSize,1,1],name,input) %输入层设置 sequenceFoldingLayer(name,fold) convolution2dLayer([2,1],10,Stride,[1,1],name,conv1) batchNormalizationLayer(name,batchnorm1) reluLayer(name,relu1) maxPooling2dLayer([1,3],Stride,1,Padding,same,name,maxpool) sequenceUnfoldingLayer(name,unfold) flattenLayer(name,flatten) lstmLayer(numhidden_units1,Outputmode,sequence,name,hidden1) dropoutLayer(0.3,name,dropout_1) lstmLayer(numhidden_units2,Outputmode,last,name,hidden2) dropoutLayer(0.3,name,drdiopout_2) fullyConnectedLayer(outputSize,name,fullconnect) % 全连接层设置影响输出维度cell层出来的输出层 % tanhLayer(name,softmax) regressionLayer(name,output)];lgraph layerGraph(layers)lgraph connectLayers(lgraph,fold/miniBatchSize,unfold/miniBatchSize);plot(lgraph)%% 网络训练ticnet trainNetwork(Train_xNorm,Train_yNorm,lgraph,opts);%% 测试figurePredict_Ynorm net.predict(Test_xNorm);Predict_Y mapminmax(reverse,Predict_Ynorm,yopt);Predict_Y Predict_Y;plot(Predict_Y,g-)hold on plot(Test_y); legend(预测值,实际值)
实验结果
部分知识来源于网络如有侵权请联系作者删除~ 今天的分享就到这里了后续想了解智能算法、机器学习、深度学习和信号处理相关理论的可以后台私信哦~希望大家多多转发点赞加收藏你们的支持就是我源源不断的创作动力 作 者 | 华 夏
编 辑 | 华 夏
校 对 | 华 夏