声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: ysy1981

[综合讨论] 请教一个初级问题:BP网络问题,在线急等,谢谢赐教!

[复制链接]
发表于 2006-9-5 11:39 | 显示全部楼层
1 ,threshold是表示输入向量p的范围,一般用minmax(p) 就可以,你设的范围要比p的范围大就不会错拉
Z%H2?p        S'v
g
2  t要求三行,net = newff(threshold,[S1 m],{'tansig' 'purelin'});,这是你那个m指定的

这为仁兄说的对,既然你写了threshlod=[0 1,0 1,.....]那就说明你的向量p的值在0和1直接,换句话讲是数据做过归一化处理了.所以在这里用minmax(p)是最好的了!~
回复 支持 反对
分享到:

使用道具 举报

 楼主| 发表于 2006-9-5 12:31 | 显示全部楼层
其实楼上的好意我知道,也明白你的意思。
上次你给我说了以后,我就在站内搜索了一下关于BP网络的主题问题。
把那些帖子都看了一遍,还是没能明白这个网络的内部训练过程。
我用的时候也就是直接用那些工具箱函数,从心里总怀疑其结果的正确性!
原来我建立网络就是直接用initff和trainbpx来训练的,可command窗口一直出现警告语句,
我就按你的建议,用newff来建立网络,可就是还是不清楚网络是怎么具体来训练样本了,
因为建立的网络,我都不知道具体的权值是多少了,也就无法明白具体的网络结构了。
可能我这么说,你会笑我这么不懂网络。我对网络的具体算法过程明白,要是自己能写出
算法过程就好了,可自己没这个时间了。
这些东西我是为了毕业用的,也就用这么一点。还想问一个问题:
我的训练输入数据实60*3的话,矩阵的每一列都代表一个变量。我想让网络把这个输入当成60个样本,3个输入节点来输入每一个样本的三个变量;输出也是60*3的矩阵,每一列同样对应的原来的变量。建立3*12*3这样的网络,是按我的想法来训练的吗?
就这点我一直不明白,参照的网络,原来是10*15的输入矩阵,可仿真的时候,仿真数据成了15*1的矩阵,我不明白到底网络是怎么把数据训练和输出的?
说了这么多,可能还是我不明白或我太死板,总想知道网络内部是怎么训练的。希望大虾多多讨论,赐教我这个初学者!
发表于 2006-9-5 13:27 | 显示全部楼层
输入n行m列说明输入层有n个神经元,共有m组输入样本,如果你的输出层神经元有s个的话,输出的就是s行m列数据。所以一般仿真的时候应该输入的是n行的数组。
网络内部如何训练要看你用的具体什么训练函数啊。如trainbpx就是带动量的自适应变步长学习法,是基于BP算法的。

评分

1

查看全部评分

 楼主| 发表于 2006-9-5 13:43 | 显示全部楼层
非常感谢楼上!谢谢!
我就是不明白,觉得好乱。自己却越问越乱!
上次我自己写的网络,训练函数就是trainbpx,可总出现警告语句,
有位仁者指点说语句与matlab版本不符,就改了语句。自己本
来就不怎么懂,搞的更糊涂了。
非常感谢楼上!
发表于 2006-9-5 13:45 | 显示全部楼层
已修改
P=[0.1452 0.1466 0.1314 0.2243 0.3523 0.4642 0.5015 0.6981 0.7821 0.8345 0.9649 1.156 0.2415 0.3027 0;
   0.1217 0.1581 0.1408 0.2304 0.3143 0.4312 0.5819 0.7125 0.8065 0.8647 0.9726 1.132 0.2385 0.3125 0;
   0.1525 0.1627 0.1507 0.2406 0.3502 0.4636 0.5051 0.7352 0.8459 0.8915 0.9654 1.156 0.2216 0.2701 1;
   0.1016 0.1105 0.1234 0.1978 0.3021 0.4232 0.5819 0.6952 0.8015 0.8725 0.9825 1.095 0.2352 0.2506 0.5;
   0.1115 0.1201 0.1312 0.2019 0.3532 0.4736 0.5029 0.7032 0.8189 0.8619 0.9365 1.125 0.2542 0.3125 0;
   0.1335 0.1322 0.1534 0.2214 0.3623 0.4827 0.5198 0.7276 0.8359 0.8906 0.9592 1.143 0.2601 0.3198 0;
   0.1368 0.1432 0.1653 0.2205 0.3823 0.4971 0.5136 0.7129 0.8263 0.8953 0.9891 1.137 0.2579 0.3099 0;
   0.1342 0.1368 0.1602 0.2131 0.3726 0.4822 0.5101 0.7098 0.8127 0.8921 0.9995 1.126 0.2301 0.2867 0.5;
   0.1113 0.1212 0.1305 0.1819 0.3952 0.4312 0.5886 0.6898 0.7999 0.8423 0.9721 1.095 0.2234 0.2799 1;
   0.1005 0.1121 0.1207 0.1605 0.3556 0.4022 0.5553 0.6673 0.7798 0.8623 0.9521 1.087 0.2314 0.2977 0]';
T=[0.1217 0.1581 0.1408 0.2304 0.3143 0.4312 0.5819 0.7125 0.8265 0.8847 0.9826 1.132;
   0.1525 0.1627 0.1507 0.2406 0.3502 0.4636 0.5051 0.7352 0.8459 0.8915 0.9464 1.156;
   0.1016 0.1105 0.1234 0.1978 0.3021 0.4232 0.5819 0.6952 0.8015 0.8825 0.9825 1.102;
   0.1115 0.1201 0.1312 0.2019 0.3532 0.4736 0.5029 0.7032 0.8189 0.8919 0.9965 1.125;
   0.1335 0.1322 0.1534 0.2214 0.3623 0.4827 0.5198 0.7276 0.8359 0.8506 0.9892 1.123;
   0.1368 0.1432 0.1653 0.2205 0.3823 0.4971 0.5136 0.7129 0.8263 0.8953 0.9691 1.117;
   0.1342 0.1368 0.1602 0.2131 0.3726 0.4822 0.5101 0.7098 0.8127 0.8921 0.9995 1.126;
   0.1113 0.1212 0.1305 0.1819 0.3952 0.4312 0.5886 0.6898 0.7999 0.8323 0.9721 1.156;
   0.1005 0.1121 0.1207 0.1605 0.3556 0.4022 0.5553 0.6673 0.7798 0.8623 0.9521 1.156;
   0.1123 0.1257 0.1343 0.2079 0.3579 0.4716 0.5459 0.7145 0.8205 0.8901 0.9419 1.136]';
net=newff(minmax(p),[32,12],{'tansig','logsig'},'trainscg','learngdm');%新建BP神经网络
net.trainParam.epochs=1000;%bp网络训练次数
net.trainParam.goal=0.002;%网络训练目标
net.trainParam.lr=0.01;%网络学习速率
[net,tr]=train(net,P,T);%训练网络
a=sim(net,p);
a
pause
figure(2)
P_test=[0.1123 0.1257 0.1343 0.2079 0.3579 0.4716 0.5459 0.7145 0.8205 0.8901 0.9419 1.136 0.2317 0.2936 0]';%网络输入数据
Out=sim(net,P_test)%网络仿真
X=[0.1119 0.1215 0.1621 0.2161 0.3471 0.4639 0.5555 0.7061 0.8243 0.8923 0.9522 1.129];%实际测得数据
t=1:1:12;
box off;
grid off;
plot(t,Out,'b',t,X,'r')%画出二维图形
你最好是把输入和输出做一下归一化处理

[ 本帖最后由 binghe79 于 2006-9-5 13:48 编辑 ]

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-27 06:54 , Processed in 0.085109 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表