MATLAB: Classification problem: results better with fitnet than with patternnet

fitnetneural networkspatternnet

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!

Best Answer

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