How to initialize weight and biases for single hidden layer ?
2 次查看(过去 30 天)
显示 更早的评论
Hello Everyone ! Please i need your help !
In order to create artificial neural networks for solar radiation prediction, I need to define architecture of my NNs, especially the number of hidden neurons because i use one hidden layer. So, i would like to use the following approach: Fix the initial conditions (weights and biases) and vary the number of hidden neurons from 1 to 20, till i find architecture that gives best performance.
My questions is : How do i use 'net = init(net)' in this code ?
x = simplefitInputs;
t = simplefitTargets;
% Choose a Training Function
% For a list of all training functions type: help nntrain
% 'trainlm' is usually fastest.
% 'trainbr' takes longer but may be better for challenging problems.
% 'trainscg' uses less memory. NFTOOL falls back to this in low memory situations.
trainFcn = 'trainlm'; % Levenberg-Marquardt
% Create a Fitting Network
hiddenLayerSize = 10;
net = fitnet(hiddenLayerSize,trainFcn);
% Setup Division of Data for Training, Validation, Testing
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
% Train the Network
[net,tr] = train(net,x,t);
% Test the Network
y = net(x);
e = gsubtract(t,y);
performance = perform(net,t,y)
% View the Network
view(net)
If there are other approaches, do not hesitate to mention them.
Thank you.
0 个评论
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!