Effacer les filtres
Effacer les filtres

probabilistic neural network coding problem

1 vue (au cours des 30 derniers jours)
abdulhamid
abdulhamid le 16 Déc 2013
i have create this simple code and trying to make classification between two inputs, but, after run the code the output is not overlapping the input and is not fitting the target, even the output it self i am not sure is looks like ANN output? or PNN has different output functions.
any one can give suggestion please.
regards
code is here:
clc
format short
p=[1.7572 8.3747 6.6941 4.0114 1.7572 1.9934 4.9658 8.4807 5.3349 5.5587 2.7213 1.9934 8.8202 4.9658 5.754 7.809 4.3451 4.7672
1.30E+08 5.81E+05 -6.63E+05 3.47E+06 1.30E+08 1.19E+08 2.68E+08 -2.39E+05 4.99E+05 -9.24E+04 -5.09E+06 1.19E+08 -7.06E+04 2.68E+08 -3.67E+05 -2.80E+05 -8.74E+05 -1.77E+05
-0.3045 -0.4317 -0.8981 0.1139 -0.3045 -0.0431 1.6113 -0.5305 -0.4704 -0.0686 -0.0464 -0.431 -0.4884 1.6113 -0.4654 -0.1465 -0.6266 0.6488
5.02E+07 2.09E+07 7.13E+06 2.48E+07 5.02E+07 4.92E+07 1.71E+08 7.47E+06 7.14E+06 7.85E+06 5.50E+07 4.92E+07 7.06E+06 1.71E+08 7.56E+06 2.96E+07 1.14E+06 1.17E+07
];
t=[0 1 0 1 0 0 1 0 0 0 1 0 0 1 0 1 0 0
];
plottools('on');
spread= 10;
net=newpnn(p,t,spread);
net.performFcn;
toc;
tic;
plottools('on');
hold on;
%net.trainparam.show=1;
nettrainparam.epochs=1000;
%net.trainparam.goal=0.0002;
%net.trainParam.searchFcn = 'srchbac';
nettrainparam.lr=0.5;
%net=train(net,p,t);
y=sim(net,p);
plotregression(t,y);
%plottraining (t,y);
plottools('on');
error=abs(y-t);
plot(error);
%y=sim(net,p);
grid on;
legend off;
plottools('on');
%plot(p,t,'*');
%e = t-y
% perf = mse(e);
% perf = sse(e);
End

Réponse acceptée

Greg Heath
Greg Heath le 17 Déc 2013
1. Class 1 has 2 duplicate points and class 2 has 1 duplicate point
2. There is an 8 orders of magnitude difference between variables (1,3) and variables (2,4). Therefore, I standardized the data to have zero mean and unit variance.
3. Using newpnn with 0 < spread < 2 I was not able to separate the classes.
I recommend you use newrb and loop over spread values to obtain the best result.
Thank you for formally accepting my answer
Greg

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by