Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 人工智能 > 深度神经网络/深度学习
深度神经网络/深度学习 A discussion board for Deep Neural Network|Deep Learning.
 
 
主题工具 显示模式
旧 2009-05-11, 17:48   #1
379848134
初级会员
 
注册日期: 2009-05-11
年龄: 38
帖子: 1
声望力: 0
379848134 正向着好的方向发展
默认 bp神经网络为什么每次训练结果不一样

如题,我用的是三层BP神经网络,同样的语句,在MATLAB工作界面每次训练结果不一样,不知道为什么?望高手帮我解答!谢谢!
下面是我的程序:
clear all
% newff——生成一个新的前向神经网络
% train——对 BP 神经网络进行训练
% sim——对 BP 神经网络进行仿真
% 定义训练样本
% P为输入矢量
P=[
0.9048 0.3843 0.0786 0.7434 0.4639 0.6454 0.3651 0.7755 0.4339 0.8790 0.2597
0.6142 0.0279 0.0321 0.1560 0.7589 0.8566 0.1540 0.9088 0.3959 0.7791 0.5917
0.0159 0.0013 0.1682 0.8232 0.0071 0.8534 0.1650 0.0167 0.4252 0.3944 0.2276
0.3114 0.0070 0.5242 0.0940 0.1935 0.4940 0.8934 0.9593 0.6144 0.8823 0.9551
0.1928 0.1678 0.8414 0.9798 0.0915 0.7809 0.9458 0.0753 0.4468 0.4257 0.0630
0.2755 0.1504 0.3064 0.6532 0.1679 0.2747 0.5175 0.2851 0.0120 0.4664 0.1832
0.0267 0.5155 0.1912 0.2841 0.9422 0.9674 0.0184 0.4881 0.0343 0.4249 0.6242
0.8306 0.4189 0.0651 0.8672 0.8494 0.9905 0.4193 0.9706 0.3988 0.4552 0.2914
0.7643 0.5938 0.9460 0.0301 0.1373 0.0844 0.1221 0.5681 0.9795 0.6954 0.1372
0.7212 0.2770 0.2448 0.7609 0.6607 0.3298 0.9518 0.2740 0.5428 0.0956 0.1889
0.8227 0.5928 0.6254 0.8962 0.0385 0.2683 0.2702 0.1291 0.9124 0.7335 0.9566
0.7645 0.5851 0.2067 0.6189 0.1482 0.2159 0.8937 0.1552 0.3242 0.1300 0.2966
0.1206 0.1216 0.2417 0.7207 0.1848 0.7670 0.8952 0.2688 0.2905 0.4965 0.2372];
% T为目标矢量
T=[1 0 0 0 0 0 0 0 0 0;
0 1 0 0 0 0 0 0 0 0;
0 0 1 0 0 0 0 0 0 0;
0 0 0 1 0 0 0 0 0 0;
0 0 0 0 1 0 0 0 0 0;
0 0 0 0 0 1 0 0 0 0;
0 0 0 0 0 0 1 0 0 0;
0 0 0 0 0 0 0 1 0 0;
0 0 0 0 0 0 0 0 1 0;
0 0 0 0 0 0 0 0 0 1;
0 0 0 0 0 0 0 0 0 0]';
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1;0 1];
inputNums=13; %输入层节点
outputNums=25; %输出层节点
hideNums=10; %隐层节点数
net=newff(threshold,[22,10],{'tansig','logsig'},'trainlm');
% 创建前向BP网络;传递函数--tansig:S型的正切函数;logsig:S型的对数函数;trainlm:训练函数;
net.trainParam.show=25;
% 显示两次之间的训练步数
net.trainParam.lr=0.05;
a=0.5;
%BP优化算法的一个设定值,对上组训练的调整值按比例修改
% 学习速率
net.trainParam.max_fail=20
% 确认失败的最大次数
net.trainParam.epochs=200;
% 最大训练步数
net.trainParam.min_grad=1e-7
% 最小性能梯度
net.trainParam.goal=0.001;
% 性能参数,训练目标
net=train(net,P,T);
% 调用train函数训练
Y=sim(net,P)
379848134 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 20:07


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.