Classification problem: results better with fitnet than with patternnet

1 view (last 30 days)
Hello,
I have a classification problem where I am classifying about 1000 samples of 10-dimensional data into three classes. I tried this with a default patternnet and a default fitnet setting. In the latter, I took the maximal value as the class into which it classified. The fitnet results were better (accuracy of 98% vs. 94%). I also tried changing the patternnet parameters similarly to those of fitnet ('mse' and 'ls' for the learning algorithm), but it didn't help much. I suppose this is because the output layer function is different so that the parameter space it is searching through does not look the same for the two functions. My question is, whether using fitnet in this case makes sense (especially since I took the maximal value as classified, not the one that has the smallest distance to 1) or is there anything else I can do to get the network with softmax in the last layer give better results.
Neither network overfits and they generalize with a similar accuracy. Changing the number of nodes in the middle layer also doesn't imporve anything.
Thanks!

Accepted Answer

Greg Heath
Greg Heath on 20 May 2016
Initial weights are random. With some sets, patternnet will prevail, on others fitnet. After all, they are both universal approximators.
Use the commands
type feedforwardnet
type fitnet
type patternnet
to see that actual differences between the three codes.
I posted the differences somewhere. However, it is probably faster for you to do it yourself.
Hope this helps.
Greg

More Answers (0)

Community Treasure Hunt

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

Start Hunting!