MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
Asked by Ampi on 28 Oct 2012

Hello could you please help me out with the answer of a question? 1. Say I am performing Face Recognition using PCA, now I have found out say 100 vectors i.e. eigenvectors of few classes. I have also set up the target matrix to train those vectors. Now, my question is when I am setting up the training ststem I have wriiten the matlab command as:- net=newff(final,target,9) where 9 is no. of layers of perceptrons, where final is the tarining samples. Now since I have 100 sample vectors , I may increase the no of vectors, so my question is should I increase the layers of perceptrons or how should I choose the 3rd argument in newff function. For training of 100 vectors is 9 layer of perceptrons ok? I shall be grateful to you if you kindly answer my question

*No products are associated with this question.*

Answer by Greg Heath on 30 Oct 2012

Accepted answer

CORRECTION: You have one hidden layer with H = 9 hidden nodes. Do not use more hidden layers.

Design an I-H-O MLP for classification of O = c classes:

Use newpr (calls newff) or patternnet (calls feedforward net)

Input matrix x contains N I-dimensional column vectors

Target matrix t contains N O-dimensional unit column vectors with the row of the "1" indicating the class of the corresponding input vector.

Ntrn = 0.7*N % Default number of training examples

Ntrneq = Ntrn*O % Number of training equations

Nw = (I+1)*H +)H+1)*O % Number of unknown weights to estimate

H < < (Ntrneq-O)/(I+O+1) % Ntrneq > > Nw is desired

rng(0)

j=0

for h = 1:dH: Hmax

j=j+1

for i = 1:Ntrials

net = newpr(x,t,h);

[net tr ] = train(net,x,t);

% tr = tr % Important diagnostic info when needed

y = net(x);

classes = vec2ind(y);

fill this in

PctErr(i,j) = ... end end

etc

Hope this helps.

Thank you for formally accepting my answer.

Greg

## 0 Comments