poor performance by neural network
2 views (last 30 days)
Show older comments
madhusudan kumar
on 26 Apr 2015
Edited: Walter Roberson
on 28 Sep 2016
I started doing Devanagari character recognition .. I had handwritten 50 Devanagari characters by 5 persons..I finished the feature extraction portion .. My features for each image in having 1 column and 55 rows. My feature vectors are arranged like column 1 contains letter 1 feature by writer 1, column 2 contains letter 2 feature by writer 2 . . . . . letter 50 by writer 5.
For training i am taking first 4 writers characters . So the training matrix named PP has 55 rows and 200 columns .. My target I have declared as
Target=[eye(50) eye(50) eye(50) eye(50) ]
Now seeing tutorials i started training the network as below
hiddenLayerSize = 10;
net = fitnet(hiddenLayerSize);
net = configure(net,P,T);
net=init(net);
[net,tr] = train(net,P,T);
After doing it I am getting very poor performance =0.018.. On testing the test set PP(:,201:250) i am not getting any proper result.. Am i doing the training wrong .. I am a beginner just started on neural networks .. Thanking you
0 Comments
Accepted Answer
Greg Heath
on 27 Apr 2015
FITNET is for regression and curve-fitting. The performance function is mean-square-error (MSE)
which depends on the scale of the target data. The overall evaluation function is normalized MSE, NMSE = MSE/mean(var(target',1)). Typically, values below 0.01 are acceptable. However, separate calulations should be made for each of the training, validation and test subsets.
PATTERNNET is for classification and pattern-recognition. The performance function is crossentropy. The evaluation function is overall classification error rate. Typically, values below 5% are acceptable. However, separate train/val/test calulations should be made for each class.
Train will automatically configure and initialize new networks. Therefore you should remove those 2 commands.
Data division and weight initialization depend on the state of the random number generator. Therefore, set the RNG state before training so that the designs can be duplicated.
I had difficulty understanding your description. However, it appears that you should be using patternnet with the following data:
[ I N ] = size(input) % [ 55 250 ]
[ O N ] = size(target) % [ 5 250 ]
See the documentation examples
help patternnet
doc patternnet
More realistic classification examples can be found by searching the NEWSGROUP and ANSWERS using
greg patternnet
Hope this helps.
Thank you for formally accepting my answer
Greg
2 Comments
More Answers (0)
See Also
Categories
Find more on Image Data Workflows in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!