关于BP神经网络,求高手解答
由于刚接触BP神经网络,时间又紧张,之前在数据的准备上已经花费了很多时间,以下程序也是在别人已有程序的基础上修改过来的,但还存在着一些问题,(不能达到预期的目标,TRAINLM: Network error did not reach the error goal.Further training may be necessary, or try different
initial weights and biases and/or more hidden neurons.),有高手帮忙解决下吗,谢谢了
echo on
clc %清楚窗口命令
nntwarn off
p=[5 5 5 4 3 5 3 3 1
5 5 5 4 3 5 3 3 3
2 3 1 2 4 1 3 3 1
2 3 1 2 4 1 3 3 5
2 3 1 2 3 1 3 3 2
4 3 3 3 3 5 3 3 3
4 3 3 3 3 5 3 3 3
3 2 2 2 3 2 3 4 1
3 3 1 2 3 3 3 3 2
5 4 4 4 4 5 3 3 3
5 4 4 4 3 5 5 3 1
5 4 4 4 3 5 5 3 1
4 3 5 3 3 4 5 5 2
4 4 4 3 5 4 5 3 1
4 4 4 3 5 4 5 3 3
3 3 4 3 3 4 5 3 1
3 3 4 3 3 4 5 3 3
4 3 4 4 5 4 5 5 1
4 3 4 4 5 4 5 5 3
4 3 5 3 5 4 5 4 1
4 3 4 4 3 4 3 3 1
4 3 4 4 3 5 3 3 3
5 3 4 4 3 5 3 3 1
5 3 4 4 3 5 3 3 3
5 3 4 4 3 5 3 3 3
3 3 3 3 3 4 3 3 2
5 3 4 3 3 5 3 4 3
2 3 3 4 3 1 3 3 3
2 3 3 4 3 1 3 3 5
1 3 3 3 3 1 3 3 1
1 3 3 3 3 1 3 3 5
1 3 3 3 3 1 3 3 2
1 3 3 3 3 1 3 3 1
1 2 2 4 3 1 3 5 4
1 2 1 2 3 1 3 3 5
1 2 1 2 3 1 3 3 5
1 3 3 3 3 1 3 3 1
1 1 3 3 3 1 3 3 3
1 1 3 3 3 1 3 3 4
1 1 3 3 4 1 3 5 2
1 1 3 3 4 1 3 5 5
1 1 1 2 3 1 3 3 3
1 1 1 2 3 1 3 3 4
1 1 1 2 3 1 3 3 5
1 2 3 2 3 1 3 3 1
1 2 3 2 3 1 3 3 4
1 1 3 2 3 1 3 3 3
1 1 3 2 3 1 3 3 4
5 2 4 3 5 5 3 5 2
2 1 2 2 3 2 3 3 4
2 1 2 2 3 2 3 3 5
3 1 3 4 3 3 3 3 1
3 1 3 4 3 3 3 3 1
3 1 3 4 3 3 3 3 5
1 2 2 3 3 1 3 4 2
3 2 2 2 3 3 4 3 1
3 2 2 2 3 3 4 3 2
2 2 2 2 3 2 4 3 3
2 2 2 2 3 2 4 3 2
2 2 2 2 3 2 4 3 2
3 1 2 2 3 4 4 4 2
4 2 4 4 3 5 4 5 5
2 2 1 2 3 1 4 3 1
2 2 1 2 3 1 4 3 1
2 2 1 2 3 1 4 3 3
5 3 4 4 3 5 4 3 4
3 3 3 3 3 4 4 3 2
4 2 2 3 3 4 4 5 4
3 2 2 2 3 4 4 3 1
3 2 1 2 3 3 4 3 2
1 4 1 2 3 1 4 3 1
1 4 1 2 3 1 4 3 3
1 4 1 2 3 1 4 3 3
3 2 3 2 3 1 4 4 1
3 2 3 2 3 1 4 4 3
3 2 3 2 3 1 4 4 5
3 2 2 2 3 4 4 3 1
3 2 3 2 4 1 4 5 2
2 2 3 2 5 1 4 4 1
2 2 3 2 5 1 4 4 3
2 2 3 2 5 1 4 4 3
5 4 3 4 5 5 4 3 2
1 2 2 2 3 1 4 3 1
1 2 2 2 3 1 4 3 3
3 4 3 3 3 4 4 3 1
3 4 3 3 3 4 4 3 2
3 2 3 2 3 1 4 3 5
3 3 3 3 4 4 4 5 5
4 3 2 3 3 4 4 3 1
4 3 2 3 3 4 4 3 3
3 3 4 2 3 1 2 3 3
4 3 3 3 3 1 2 3 2
2 3 3 3 3 1 2 3 1
2 4 4 2 3 1 2 3 2
2 4 4 2 3 1 2 3 4
3 4 4 3 3 1 2 3 3
3 3 3 3 3 1 2 3 2
1 1 4 2 3 1 2 3 1
3 3 3 3 3 1 2 3 3
1 4 3 2 3 1 2 3 4
]
t=[32500
39000
8900
18000
8200
18950
19500
20160
9000
26200
16000
16000
29000
25500
26536
1800
21500
26500
26000
34500
23000
23000
25000
38500
38500
14000
35600
9750
18000
10500
18000
10750
9500
16720
13000
12680
11000
1000
13000
14000
32000
9300
11000
13000
8600
8600
9500
18000
25000
14000
18000
13750
14000
22900
12000
13000
15000
17800
13000
12500
13160
30000
9500
9500
13666
36000
18000
24800
12500
13000
8000
9500
12000
13000
15000
22500
9800
36000
13250
19000
19000
25000
8500
12415
15000
15500
23000
32500
14500
17000
15000
12000
7825
13000
15500
17670
11000
8500
12500
11600
]
p=p'
t=t'
s1=20%隐含层神经网络的个数
=premnmx(p)%对进行训练的输入样本进行归一化处理
=premnmx(t)%对进行训练的输出样本进行归一化处理
=initff(pn,s1,'tansig',tn,'purelin')
save init.mat w1 b1 w2 b2 minp maxp mint maxt
%初始权值阀值示意图
hintonwb(w1,b1)
figure
hintonwb(w2,b2)
figure
hold on
%设置训练参数
err_goal=0.005%最大误差指标
max_epoch=20000%最大训练步数
dis_freq=25%现实频率
tp=
=trainlm(w1,b1,'tansig',w2,b2,'purelin',pn,tn,tp)
hold on
pause
%训练结束提示
save net48.mat w1 b1 w2 b2 minp maxp mint maxt;
%训练后权值与阀值示意图
hintonwb(w1,b1)
figure
hold on
y=simuff(pn,w1,b1,'tansig',w2,b2,'purelin')
y0=postmnmx(y,mint,maxt)
%计算机仿真误差
ey=t-y0
msey=mse(ey)
%线性回归分析结果
=postreg(y0,t)
hold on echo
[ 本帖最后由 zhangnan3509 于 2010-7-6 15:30 编辑 ] 目标误差定的太低,当然有提示,就是定个0也没问题,程序没问题
回复 楼主 luqinhui 的帖子
神经网络不可能100%的精确。。。
页:
[1]