poor performance by neural network
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
madhusudan kumar
el 26 de Abr. de 2015
Editada: Walter Roberson
el 28 de Sept. de 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 comentarios
Respuesta aceptada
Greg Heath
el 27 de Abr. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Image Data Workflows en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!