% 创建一个新的前向神经网络
net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm')
% 当前输入层权值和阈睁培值
inputWeights=net_1.IW{1,1}
inputbias=net_1.b{1}
% 当前网络层权值和阈值
layerWeights=net_1.LW{2,1}
layerbias=net_1.b{2}
% 设置训练参春碰数
net_1.trainParam.show = 50
net_1.trainParam.lr = 0.05
net_1.trainParam.mc = 0.9
net_1.trainParam.epochs = 10000
net_1.trainParam.goal = 1e-3
% 调用 TRAINGDM 算法训练 BP 网络悉森唯
[net_1,tr]=train(net_1,P,T)
% 对 BP 网络进行仿真
A = sim(net_1,P)
% 计算仿真误差
E = T - A
MSE=mse(E)
x=[。。。]'%测试
sim(net_1,x)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
不可能啊 我2009
%由于数据比较大,我又懒得用归一化,所以直接把数据悔旅降了3个数量级,%不过我觉得应该没问搭凯题,但用归一化结果应该更准确些。。
%由于初始权值和阀值均是随机给的,所以每次仿真都有碧枝凳点点不同,这是正常的。
p=[1183 1303 12781303 1278 12841278 1284 1187 ...
1284 1187 11541187 1154 12671154 1267 1241...
1267 1241 13021241 1302 11951302 1195 1256]'*0.001
t=[ 1284 1187 1154 1267 1241 1302 1195 1256 1348]*0.001
net=newff(minmax(p),[3,1],{'tansig','purelin'},'traingda')
net.trainParam.goal=0.001
net.trainParam.show=20
net.trainParam.epochs=1000
net.trainParam.min_grad=1e-10
net.trainParam.mc=0.95
[net,tr]=train(net,p,t)
t1=sim(net,[1302 1195 1256]'*0.001)
t2013=t1*1000%2013 的 预测 数据
运行结果:
t2013 =
1301.9
a=randn(100,20) 桥陆差 悉改 %20列100行的随机数
meanvalue=mean(a) 敏皮 %20列数,对应a每列的平均值
maxminvalue=max(a)-min(a) %20列数,对应a的最大减最小值
stdvalue=std(a,0) %除以n-1的变准差 %20列数,对应a每列的标准差
%如果要除以n的标准差 stdvalue=std(a,1)
stdall=std(meanvalue,0) %1个数,对于20个平均值的标准差
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)