Need help on Neural Network Multiple Classes Training
Show older comments
Hi all pros and gurus on mathworks, I've made a neural network classifier according to these codes
P=[ 0.0756 0.0679 0.0848 0.0172 0.0283
0.0000 0.0000 0.0000 0.0000 0.0000
0.0002 0.0002 0.0002 0.0002 0.0001
0.0005 0.0003 0.0005 0.0008 0.0004
0.0004 0.0003 0.0004 0.0012 0.0008
0.0007 0.0004 0.0005 0.0013 0.0049
0.0021 0.0013 0.0015 0.0025 0.0153
0.0071 0.0049 0.0061 0.0075 0.0132
0.0222 0.0184 0.0235 0.0123 0.0078
0.0434 0.0447 0.0551 0.0060 0.0045
0.0470 0.0297 0.0453 0.0011 0.0009]
T=[
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0 ]%identity matrix for training target
net = newff(P,T,20,{'tansig','logsig'});
net.performFcn = 'mse';%mean square error
net.trainParam.epochs = 100;
net.trainParam.mc = 0.98;%momentum coefficient
net.trainParam.lr=0.001;%Learning rate
net.trainParam.lr_inc=1.06; %Ratio to increase learning rate
net.trainParam.lr_dec=0.7; %Ratio to decrease learning rate
%train the network net = train(net,P,T); y = sim(net,P);
Pone= [0.0756
0.0000
0.0002
0.0005
0.0004
0.0007
0.0021
0.0071
0.0222
0.0434
0.0470]
Ptwo= [0.0679
0.0000
0.0002
0.0003
0.0003
0.0004
0.0013
0.0049
0.0184
0.0447
0.0297]
Pthree= [0.0848
0.0000
0.0002
0.0005
0.0004
0.0005
0.0015
0.0061
0.0235
0.0551
0.0453]
res1 = sim(net,Pthree); disp('res1='); disp(res1);
[Co,I] = max(res1);
%save the network
save('NNClassifier2five.mat','net')
%data comparison
if (I == 1)
disp('This is a signal of Normal Heart Sound')
elseif (I == 2)
disp('This signal is classified as illness: S3')
elseif (I == 3)
disp('This signal is classified as illness: S4')
elseif (I == 4)
disp('This signal is classified as illness: Aortic Stenosis')
elseif (I == 5)
disp('This signal is classified as illness: Aortic Regurgitation')
else
disp('Error: No Classification is available')
end
I've tried to train the NN using P=[training features] starting from 11x3, 11x4, both of them are returning very well trained and precise NN, My problem now is my Neural network doesn't return satisfying result if my classes are above 5 (11x5)
Anyone can point out my mistakes? I'm still very new to matlab. Hope that I get replies soon
Accepted Answer
More Answers (0)
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!