matlab神经网络
来源:互联网 发布:业绩数据分析内容 编辑:程序博客网 时间:2024/05/17 01:13
卷积神经网络
卷积的物理意义是加权叠加——知乎大神
下面是本人的一个神经网络程序,当时为了预测天气编写,因为收敛过快无法得到充分训练,当时未能起到较好效果,但是对于理解matlab神经网络库的用法有帮助,是一个用神经网络预测时间序列,多变量时间序列的一个思路
使用回归神经网络:Elman
function [y,net]=tast(X)%% 用小波变换处理的数据来做神经网络预测,用截取的过去做输入,紧接着作为输出%% ===========数据准备=============forecast = 6;mm = max(X);X = X./mm;%因为是正值,直接除以最大值归一化n = length(X);x = zeros(n-forecast+1,forecast);%x是输入数据,逐列输入for i = 1:n-forecast+1 x(i,:) = X(i:i+forecast-1); endx = x';t = X(forecast+1:end);t = [t,0.4];%目标数据,逐列输入%% ========== Elman神经网络训练========dx = [zeros(forecast,1) , ones(forecast,1)];% net=newff(dx,[5,18,1],{'logsig','logsig','purelin'},'trainlm');net=elmannet(1:2:3,15,'traingdx');% net.trainparam.show=20;% net.trainparam.lr=0.01;% net.trainparam.epochs=3000;% net.trainparam.goal=1e-3;net.trainParam.max_fail=5;% net.trainParam.mc=0.99;% net.trainParam.delt_inc=1.2;% net.trainParam.delt_dec=0.3;% net.trainParam.deltamax=50;% net.trainParam.time=inf;% net.trainParam.mem_reduc=1;% net.performFcn='sse';% % net.layers{1}.initFcn = 'trainlm';% net.inputWeights{1,1}.initFcn = 'trainlm';% net.biases{1,1}.initFcn = 'trainlm';% net.inputWeights{2,1}.initFcn = 'trainlm';% net.biases{2,1}.initFcn = 'trainlm'; net=train(net,x,t);%% ========= 用训练的网络预测========Y = X;y =NaN(1,forecast) ;%y=Y(1:forecast)存放预测值,前十八天缺失%因为要预测18天,前面的预测结果作为输入预测后面的结果figure;grid on;for i=1:n-forecast+18 temp = sim(net,Y(i:i+forecast-1)'); y = [y,temp]; if i>=n-forecast+1 Y = [Y,temp]; endendX = X.*mm;y = y.*mm;%数据还原plot(X) ;hold on;plot(y);% plot(0.7142857*ones(size(y)));title('小波神经网络对气温的预测');legend('原始数据','预测结果');hold offend
BP神经网络[y,net] = tast(X)
function [y,net]=tast(X)%% 用小波变换处理的数据来做神经网络预测,用18天作输入,用紧接着的18天作输出,现在共有74%% 个数据,所以可以得到57组样本进行训练%% ===========数据准备=============forecast = 18;mm = max(X);X = X./mm;%因为是正值,直接除以最大值归一化n = length(X);x = zeros(n-forecast+1,forecast);%x是输入数据,逐列输入for i = 1:n-forecast+1 x(i,:) = X(i:i+forecast-1);endx = x';t = X(forecast+1:end);t = [t,0.4];%t少了一个,补一个%目标数据,逐列输入%% ========== BP神经网络训练========dx = [zeros(forecast,1) , ones(forecast,1)];net = newff(dx,[18,7,1],{'tansig','tansig','purelin'},'trainlm');net.trainParam.show=300;net.trainParam.Lr=0.05; %学习速率为0.05net.trainParam.epochs=500; %最大训练轮回为100000;net.trainParam.goal=0.65*10^(-14); %均方误差net=train(net,x,t);%% ========= 用训练的网络预测========Y = X;y =NaN(1,forecast) ;%y=Y(1:forecast)存放预测值,前十八天缺失%因为要预测18天,前面的预测结果作为输入预测后面的结果figure;grid on;for i=1:n temp = sim(net,Y(i:i+forecast-1)'); y = [y,temp]; if i>=n-forecast+1 Y = [Y,temp]; endendX = X.*mm;y = y.*mm;%数据还原plot(X) ;hold on;plot(y);% plot(0.7142857*ones(size(y)));title('小波神经网络对气温的预测');legend('原始数据','预测结果');hold offend
使用前馈神经网络进行多元时间序列预测——BP神经网络 [y,Y,net] = arimaBP(X)
function [y,Y,net]=arimaBP(X)%多元时间序列预测——BP神经网络 %% ===========数据准备=============forecast = 6; %mm = max(X);归一化,已经归一化,这里不用%X = X./mm;%因为是正值,直接除以最大值归一化[n,m]= size(X);x = zeros(n-forecast+1,forecast*m);%x是输入数据,m列数据for i = 1:n-forecast+1 temp = X(i:i+forecast-1,:);endt = X(forecast+1:end,:);t = [t;X(end,:)]%目标数据,逐列输入%% ========== BP神经网络训练========dx = [zeros(forecast,1) , ones(forecast,1)];net=newff(dx,[5,18,m],{'logsig','logsig','purelin'},'trainlm'); net.trainparam.show=20; net.trainparam.lr=0.01; net.trainparam.epochs=3000; net.trainparam.goal=1e-3; net.inputs{1}.size = m*forecast; net.trainParam.mc=0.99; net.trainParam.delt_inc=1.2; net.trainParam.delt_dec=0.3; net.trainParam.deltamax=50; net.trainParam.time=inf; net.trainParam.mem_reduc=1; net.performFcn='sse';% net.layers{1}.initFcn = 'trainlm'; net.inputWeights{1,1}.initFcn = 'trainlm'; net.biases{1,1}.initFcn = 'trainlm'; net.inputWeights{2,1}.initFcn = 'trainlm'; net.biases{2,1}.initFcn = 'trainlm'; net=train(net,x',t');%% ========= 用训练好的网络预测========Y = X;y =NaN(forecast,m) ;%y=Y(1:forecast)存放预测值,for i=1:n-forecast+18 ttemp = Y(i:forecast+i-1,:); temp = sim(net,ttemp(:)); y = [y;temp(:)']; if i>=n-forecast+1 Y = [Y;temp(:)']; end end% X = X.*mm;y = y.*mm;%数据还原end
0 0
- matlab神经网络
- matlab神经网络
- matlab神经网络
- MATLAB神经网络
- MATLAB神经网络工具箱创建神经网络
- matlab神经网络工具箱创建神经网络
- matlab神经网络工具箱创建神经网络
- matlab神经网络工具箱创建神经网络
- matlab神经网络归一化问题
- 神经网络matlab程序
- 神经网络matlab实现
- matlab通用神经网络代码
- matlab神经网络笔记
- MATLAB神经网络工具箱函数
- matlab人工神经网络参数
- Matlab 神经网络工具箱
- Matlab神经网络预测
- matlab神经网络相关函数
- Netty系列-使用Google Protobuf编解码
- JS之自定义属性的运用
- static
- HDU - 1406 完数(完全数)
- UML项目练习-仓库管理系统
- matlab神经网络
- 查找OPNET函数,修改OPNET的帮助文档,让它变得更直接更好用
- Unity渲染优化
- PAT A1010
- java设计模式(六)
- TSQL(SQL Server)使用语句双游标循环多表操作
- 最佳裁判
- Linux系统管理——网络配置与管理
- 结构体位段