function mse_calc = mse_test(x, net, inputs, targets)% 'x' contains the weights and biases vector
% in row vector form as passed to it by the
% genetic algorithm. This must be transposed
% when being set as the weights and biases
% vector for the network.
% To set the weights and biases vector to the
% one given as input
net = setwb(net, x');% To evaluate the ouputs based on the given
% weights and biases vector
y = net(inputs);% Calculating the mean squared error
mse_calc = sum(abs(y-targets)/length(y);end% INITIALIZE THE NEURAL NETWORK PROBLEM %
% inputs for the neural net
inputs = (-2:.01:2);% targets for the neural net
targets = ((inputs).^2)-3;% number of neurons
n = 4;% create a neural network
net = feedforwardnet(n);% configure the neural network for this dataset
net = configure(net, inputs, targets);% create handle to the MSE_TEST function, that
% calculates MSE
h = @(x) mse_test(x, net, inputs, targets);% Setting the Genetic Algorithms tolerance for
% minimum change in fitness function before
% terminating algorithm to 1e-8 and displaying
% each iteration's results.
ga_opts = gaoptimset('PopInitRange', [-1;1], 'TolFun', 1e-10,'display','iter');ga_opts = gaoptimset(ga_opts, 'StallGenLimit', 100, 'FitnessLimit', 1e-5, 'Generations', 400);% PLEASE NOTE: For a feed-forward network
% with n neurons, 3n+1 quantities are required
% in the weights and biases column vector.
% a. n for the input weights
% b. n for the input biases
% c. n for the output weights
% d. 1 for the output bias
% running the genetic algorithm with desired options
[x, err_ga] = ga(h, 3*n+1, ga_opts);net = setwb(net, x');
MATLAB: I want to optimize a neural network parameters by genetic algorithm and i get below code from matlab support, but the result is very poor even for a very simple function. how can i improve the result and is there any better code for the porpuse
genetic algorithmneural network
Related Question
- How to optimize patternnet using a genetic algorithm
- To optimize a neural network of multiple inputs using a genetic algorithm.
- Normalize Inputs and Targets of neural network
- To optimize a neural network by giving 46*3 inputs from excel and getting 46*1 output using a genetic algorithm
- Neural network weight and bias initializaiton problem
- How do i optimize weights of neural network using GA in MATLAB(need codes to achieve that), again how do i call this function that optimzes the neural network weights in GA GUI so i can work with it from the interface
Best Answer