赞
踩
由于课题需要,弄了一个matlab小程序如下:
close all
clear
echo on
clc
clc
P=[0.001,0.178,0.362,0.012,0.447,1.000,0.989;0.465,0.128,0.436,0.079,0.001,1.000,0.668;0.031,0.001,0.254,1.000,0.016,0.378,0.171;0.001,0.198,0.373,0.260,0.786,0.228,0.979;1.000,0.884,0.563,0.119,0.311,0.508,0.001];
T=[0.010,1.000,0.406,0.314,0.056,0.258,0.001;0.075,0.306,0.061,0.178,0.016,0.001,1.000];
clc
net=newff(minmax(P),[3,2],{'logsig','tansig'},'trainlm');
inputWeights=net.IW{1,1}
inputbias=net.b{1}
layerWeights=net.IW{1,1}
layerbias=net.b{2}
clc
net.trainParam.show = 500;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 10000;
net.trainParam.goal = 1e-4;
clc[net,tr]=train(net,P,T);
clc
A=sim(net,P)
E=T-A
MSE=mse(E)
clc
R=[0.4201,1.0000,0.0010;0.5823,0.0010,1.0000;1.0000,0.0010,0.8349;1.0000,0.0010,0.4439;0.0010,1.0000,0.3047];
X=[0.3199,0.0010,1.0000;1.0000,0.0010,0.1134];
C=sim(net,R)
E=C-X
MSE=mse(E)
echo off
输入的数据P,T,R,都手动归一化了,结果输出的C中间有负数,是不是有问题呀?输出的结果怎么归一化?归一化的公式是x=0.001+(1-0.001)*(X-Xmin)/(Xmax-Xmin);反归一化是它的反函数,可是这个反函数怎么能求得?
特向各位大神求助!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。