当前位置:   article > 正文

matlab算归一法,matlab神经网络、归一化和反归一的问题

matlab函数newff会直接归一化吗

由于课题需要,弄了一个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);反归一化是它的反函数,可是这个反函数怎么能求得?

特向各位大神求助!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/105594
推荐阅读
相关标签
  

闽ICP备14008679号