To optimize a neural network by giving 46*3 inputs from excel and getting 46*1 output using a genetic algorithm
3 次查看(过去 30 天)
显示 更早的评论
I have found the answer from the Matlab team but the code is applied for a single input.
I need to get 3 inputs of 43 rows from excel and 1 output of 43 rows from excel should be trained by neural network and should be applied using genetic algorithm to find the mean squared error.
The following code example describes a function that returns the mean squared error for a given input of weights and biases, a network, its inputs and targets.
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((y-targets).^2)/length(y);
end
The following code example describes a script that sets up a basic Neural Network problem and the definition of a function handle to be passed to GA. It uses the above function to calculate the Mean Squared Error.
% INITIALIZE THE NEURAL NETWORK PROBLEM %
% inputs for the neural net
inputs = (1:10);
% targets for the neural net
targets = cos(inputs.^2);
% number of neurons
n = 2;
% 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('TolFun', 1e-8,'display','iter');
% 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_ga_opt, err_ga] = ga(h, 3*n+1, ga_opts);
0 个评论
采纳的回答
Greg Heath
2016-4-3
After you get your data from EXCEL, use my corrected version of the algorithm posted in the NEWSREADER.
By the way, it is not necessary to make multiple posts of the same problem in both the NEWSGROUP and ANSWERS.
Thank you for formally accepting my answer
Greg
更多回答(1 个)
Walter Roberson
2016-4-3
Use xlsread to get the data from excel. Assign a portion of it to the variable name "inputs" and another portion to "targets" and remove the two assignments to those variables in the sample script .
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Genomics and Next Generation Sequencing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!