NARNET, why i do not get bias=0 and weight -0.9?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to understand RNNs properly. I am creating one with narnet. I train it with a sigmoid function with some noise. My purpose is to create one rnn with one neuron in the hidden layer whose activation fuction is the sigmoid, and lineas activation function in the output layer, with a single neuron too. I train the rnn with data generated as y(t) = 1 / ( 1 + exp (-0.9 * y( t - 1 )), so bias should be zero and the weight should be -0.9, but it doesn't work properly.
I give you my code, and I hope you could help my.
Thank you.
clear all;
T = simplenar_dataset
%net = narnet(1:2,10);
net = narnet(1:1,10);
[Xs,Xi,Ai,Ts] = preparets(net,{},{},T);
net = train(net,Xs,Ts,Xi,Ai);
view(net)
%Iw = cell2net(net.IW)
b1 = cell2mat(net.b(1))
Lw = cell2mat(net.Lw)
b2 = cell2mat(net.b(2))
clear all;
nmues=1000;
%y=cell(1,nmues);
y(1)=1/(1+exp(-0.9));
for i=2:nmues;
y(i)=(1/(1+exp(-0.9*y(i-1))))+normrnd(0,.1);
end;
%T2={1;y1nolin};
C={};
C{[1]}=y(1);
for i=1:100;
C{(i)}=y(i);
end;
%plot(1:nmues,y1nolin)
net = narnet(1,1);
net.layers{1}.TransferFcn='logsig';
net.layers{2}.TransferFcn='purelin';
%[inputs,inputStates,layerStates,targets] = preparets(net,{},{},y1nolin);
%[net,tr] = train(net,inputs,targets,inputStates,layerStates);
[Xs,Xi,Ai,Ts] = preparets(net,{},{},C);
net = train(net,Xs,Ts,Xi,Ai);
view(net)
net.IW
net.b(1)
net.Lw
net.b(2)
0 commentaires
Réponses (0)
Voir également
Catégories
En savoir plus sur Sequence and Numeric Feature Data Workflows dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!