救命啊!---基于神经网络的路面不平度识别
我要用matlab编一段程序用于神经网络的识别,就是给一些样本数据给你对该程序段进行训练,然后再给一组数据用于测试然后交换数据看这段程序的正确率,有哪位大哥帮忙啊.小弟在此谢谢啦.我把数据给出啊,还有就是我编,有错误的啊,帮忙改正!!!!红色的数值为标签!
0.7991 0.79077 0.85247 0.14303 0.56 0.56833 0.64133 0.070822; 5
0.924 0.84024 0.97764 0.10672 0.64324 0.91676 0.66025 0.072101; 5
1 1 1 0.20556 1 1 1 0.23637; 5
0.0057891 0.0023404 0 0.0074478 0.00023577 0.00042739 0 0.0041842; 2
0.015644 0.0085714 0.020563 0.0072649 0.0014496 0.0012986 0.0013977 0.0015721;2
0.013503 0.011346 0.021074 0 0.0043201 0.0027717 0.0017217 0;2
0.026938 0.0031588 0.0065868 0.12368 0.0065459 0.0041572 0.0042431 0.041063;2
0.12239 0.13281 0.10505 0.18537 0.064849 0.058244 0.051968 0.1003;4
0.15505 0.12107 0.14212 0.29998 0.077923 0.055586 0.073292 0.20449;4
0.014567 0.0077365 0.022655 0.10162 0.0089712 0.0073327 0.014954 0.021146;3
0.014262 0.0074819 0.020299 0.086135 0.0068783 0.0042903 0.0085916 0.015266;3
0.030836 0.015179 0.056716 0.052113 0.0085013 0.010717 0.014099 0.01408;3
0 0 0.0023987 0.062567 0 0 0.0011385 0.021423;3
0.017448 0.01054 0.035615 0.10072 0.0092133 0.0047904 0.013159 0.029627;1
0.0079591 0.0058186 0.0036841 0.033875 0.0011314 0.0020795 0.0029775 0.014785;1
0.023443 0.017684 0.032805 0.02157 0.0053974 0.0021727 0.0037674 0.0083976;1
0.019041 0.019262 0.036789 0.02836 0.0054088 0.006222 0.0078051 0.0057593;1
下面是我编的:
%输入向量p和目标容量t
clear
clc
p=[0.7991 0.79077 0.85247 0.14303 0.56 0.56833 0.64133 0.070822;
0.924 0.84024 0.97764 0.10672 0.64324 0.91676 0.66025 0.072101;
1 1 1 0.20556 1 1 1 0.23637;
0.0057891 0.0023404 0 0.0074478 0.00023577 0.00042739 0 0.0041842;
0.015644 0.0085714 0.020563 0.0072649 0.0014496 0.0012986 0.0013977 0.0015721;
0.013503 0.011346 0.021074 0 0.0043201 0.0027717 0.0017217 0;
0.026938 0.0031588 0.0065868 0.12368 0.0065459 0.0041572 0.0042431 0.041063;
0.12239 0.13281 0.10505 0.18537 0.064849 0.058244 0.051968 0.1003;
0.15505 0.12107 0.14212 0.29998 0.077923 0.055586 0.073292 0.20449;
0.014567 0.0077365 0.022655 0.10162 0.0089712 0.0073327 0.014954 0.021146;
0.014262 0.0074819 0.020299 0.086135 0.0068783 0.0042903 0.0085916 0.015266;
0.030836 0.015179 0.056716 0.052113 0.0085013 0.010717 0.014099 0.01408];
p=p';
t=[0 1 0 1;%5
0 1 0 1;%5
0 1 0 1;%5
0 0 1 0;%2
0 0 1 0;%2
0 0 1 0;%2
0 0 1 0;%2
0 1 0 0;%4
0 1 0 0;%4
0 0 1 1;%3
0 0 1 1;%3
0 0 1 1]';%3
%创建5个pnn,spreed不同
for i=1
net=newpnn(p,t,i/10);
temp=sim(net,p);
end
%测试洋率
p_test=[0 0 0.0023987 0.062567 0 0 0.0011385 0.021423;
0.017448 0.01054 0.035615 0.10072 0.0092133 0.0047904 0.013159 0.029627;
0.0079591 0.0058186 0.0036841 0.033875 0.0011314 0.0020795 0.0029775 0.014785;
0.023443 0.017684 0.032805 0.02157 0.0053974 0.0021727 0.0037674 0.0083976;
0.019041 0.019262 0.036789 0.02836 0.0054088 0.006222 0.0078051 0.0057593]';
y_test=sim(net,p_test);
yc_test=vec2ind(y_test)
不知道为什么输出的测试结果t都等于3.很郁闷.一开始我以为就是这样的,大不了正确率低,但是我把其中一组训练样本数据和测试数据调换输出的t还都是3,我调换几组都是这样的,所以这段程序是有错的,就不知道错在哪,请各位大侠帮忙啊!谢谢!
|