Info

# Obtaining an analytical function of regression and Understanding the reversing concept of the normalisation (of input data) automatically done by Matlab Neural Network.

2 views (last 30 days)
Mohamed El Ibrahimi on 23 Jun 2020
Closed: MATLAB Answer Bot on 20 Aug 2021
I have a problem in understanding the reversing of the normalisation (of input data) automatically done by Matlab. I have followed the questions/answers presented in matworks.com website (using repmap, mapping and reverse mapping functions) but they does not work. if you can help me, this is my code:
n=6 ;
net=fitnet(n);
[net,TR]=train(net,entree',sortie');
%evaluation of the analytical function
x=[ 1100 , 1155 , 10 , 1 , 0 , 0.7 , 343.7508 , 1.00017 ];
b1 = net.b {1}; %size=[4 1]
b2 = net.b {2}; %size=[1 1]
IW = net.IW {1,1}; %size=[4 8]
LW = net.LW {2,1}; %size=[1 4]
a1=IW*x'+b1;
y=purelin(LW*(tansig(a1))+b2); % comparison with net(x')~ 10.37error=abs(net(x')-y);
Mohamed El Ibrahimi on 25 Jun 2020
Edited: Mohamed El Ibrahimi on 25 Jun 2020
I have found the response to my question, we can find the right solution by mapping and reverse mapping
entree=entree';
sortie=sortie';
N=length(sortie);
net=fitnet(n);
net.numLayers;
[net,TR]=train(net,entree,sortie,'UseParallel','yes');
%%%%%%%% do and extract Mapping settings %%%%
[entree_map,entree_setMap] = mapminmax (entree);
[sortie_map,sortie_setMap] = mapminmax (sortie);
%%% apply mapping setting + regression Modele test + mapping reverse %%%%%%%%%%%%%%%%
e=[1155 10 0.7 1.00017];
emap= mapminmax ('apply',e',entree_setMap);
b1 = net.b {1};
b2 = net.b {2};
IW = net.IW {1,1};
LW = net.LW {2,1};
B1=repmat(b1,1,N);
B2=repmat(b2,1,N);
a1=IW*emap+b1
h1=tansig(a1);
a2=LW*h1+b2;
h3_map=purelin(a2);
h= mapminmax('reverse',h3_map,sortie_setMap)
y=net(e')
, but it is a nother way to do it, and I think is the best: