Needing Good Neural Network (Classification) Design

1 view (last 30 days)
Good day! I am somewhat new to neural setworks and to the nnet toolbox.
Basically, I have six inputs and 32 categories for the output.
The ranges of my inputs are the following: [50, 1060] [70, 590] [385 725] [80 170] [0, 800] [0, 180] corresponding to: x and y coordinates, another x and y coordinates, a distance (most significant), and an angle(more significant) respectively.
And my current idea for the output is to have 5 binary targets to represent the 32 categories.
My questions are: (1) What is the ideal network topology for this, training functions and parameters/ etc. (2) What is the ideal way to standardize/rescale/normalize my inputs based from their ranges(and significance?)
I'm already trying some ideas but my performance(MSE) wont drop below 0.1. I just want to know how will you do it exactly if it were you in my place. :)
Thank you in advance!
PS: Hi, Sir Greg! This is a semi-independent topic from my other post, so I still need your ideas there if you have time. Thx :)

Accepted Answer

Greg Heath
Greg Heath on 2 Oct 2012
Sir Greg? I must be getting old because I don't remember being knighted.
Why aren't you consulting the examples in the documentation?
I favor zscore or mapstd normalization to investigate outliers.
I use MSEgoal = 0.01*Neq*mean(var(targets'))/(Neq-Nw)
Search my posts and answers in NEWSGROUPS and ANSWERS using
Neq Nw Ntrials.
Greg

More Answers (1)

renz
renz on 2 Oct 2012
if this is my network: (6inputs, 6 targets, 2layer feedforward)
H = 10;
TF = {'tansig','logsig'};
BTF = 'trainlm';
BLF = 'learngdm';
PF = 'mse';
IPF = {'fixunknowns','removeconstantrows', 'mapminmax'};
OPF = {'removeconstantrows'};
DDF = 'dividerand';
net = newff(inputs,targets,H,TF,BTF,BLF,PF,IPF,OPF,DDF);
net.divideParam.trainRatio =.5;
net.divideParam.testRatio =.25;
net.divideParam.valRatio =.25;
net.plotFcns = {'ploterrhist'};
and since I want BINARY target values,
a = round(sim(net,inputs));
Am I correct to choose my "best" network as the one that has the highest concentration of validation and test errors inside the range (-0.5, 0.5) ? That is, by using error histogram and observing the instances of validation and test errors.
OR should I look for the network with the highest R in
R = postreg(a,targets)
Thank you in advance!

Categories

Find more on Deep Learning Toolbox 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!