Face recognition using back propagation network.

2 次查看(过去 30 天)
I am trying to implement face recognition system. I am extracting the zernike features. the length of my feature vector is 49. on using euclidean distance as the classifier, I am getting an accuracy of 94%. however, on using BPN, I am getting just 89%. I am not sure if I am doing it right. I used "patternnet" in MATLAB as:
nat=patternnet(48);
nat.trainFcn='trainscg';
%nat.trainParam.lr=0.01;
nat.trainParam.epochs = 4000;
nat.performFcn = 'sse';
nat.trainParam.min_grad = 1e-11;
%nat.trainParam.goal=1e-11;
nat.divideFcn = 'dividerand';
nat.divideParam.trainRatio=100/100; nat.divideParam.valRatio=0; nat.divideParam.testRatio=0;
[nat,tr]=train(nat,A,t);
Is there any other parameter that I should set?
I also tried to implement the BPN through code. My code is working fine for XOR net. But I am not understanding how to use it for Zernike features. Please help.

采纳的回答

Greg Heath
Greg Heath 2013-12-19
How many examples do you have?
How many classes?
The number of hidden nodes should probably be much smaller than 48
Why aren't you using as many defaults as possible?
Search
greg patternnet
Hope this helps.
Thank you for formally accepting my answer
Greg
  9 个评论
Geetika
Geetika 2013-12-21
I was capable of implementing my own BPN network as well as built in function and still getting low accuracy. For RBF and PNN, I am using the inbuilt tools.
Greg Heath
Greg Heath 2013-12-22
Did you normalize? Reduce the dimensionality? Vary the spread in RBF and PNN? Vary the number of hidden nodes in the MLPNN (There is no such animal as a BPN) How much data for training? How many random weight initialization trials? Are you still using 'dividetrain'? If not, what split ratio?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Deep Learning Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by