GA optimization

12 views (last 30 days)
Malathy
Malathy on 28 Feb 2012
I have developed an neural network with 4 input nodes, 4 hidden nodes and one output node using feed forward back propagation network. Now I need to use GA to optimize and determine the maximum output. How to define the ANN model as the fitness function.

Accepted Answer

Seth DeLand
Seth DeLand on 28 Feb 2012
You can create a function handle to the network and then pass that function handle into GA. Note that GA will pass in a row vector, so if your NN accepts a column vector as input it will need to be transposed. Also, GA minimizes the objective function so we add the negative sign to flip it from a maximization problem to a minimization problem. For example:
objFcn = @(x) -sim(net,x'); % Function that simulates NN and returns output
[xOpt,fVal] = ga(objFcn, 4); % Find the minimum of objFcn with 4 inputs
  1 Comment
Abul Fujail
Abul Fujail on 4 Apr 2012
Thank you very much...
I am also solving the same problem, Neural network with 4 input and want to optimize the weights to get the best result. My codes ase shown below in='input_train.tra';
p=load(in);
p=transpose(p);
tic;
net=feedforward([.1 .9;.1 .9;.1 .9;.1 .9],[7,1], {'logsig','logsig'},'trainlm');
net=init(net);
tr='target_train.tra';
x=load(tr);
x=transpose(x);
net.trainParam.epochs=600;
net.trainParam.show=10;
net.trainParam.lr=0.3;
net.trainParam.mc=0.6;
net.trainParam.goal=0;
[net,tr]=train(net,p,x);
%y=sim(net,p);
objFcn = @(x) -sim(net,x') % Function that simulates NN and returns output
[xOpt,fVal] = ga(objFcn, 4) % Find the minimum of objFcn with 4 inputs
The target vector consists of a vector with 80 values, and input consists of 4 vectors with 80 values in each vector... Now i want that the result should also consists of 80 values, one result for each input pattern... what changes should be done in the program... please suggest me... thank you.. Fujail

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!