Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 人工智能 > 深度神经网络/深度学习
深度神经网络/深度学习 A discussion board for Deep Neural Network|Deep Learning.
 
 
主题工具 显示模式
旧 2012-05-16, 16:51   #1
kangta283
初级会员
 
注册日期: 2012-05-16
帖子: 2
声望力: 0
kangta283 正向着好的方向发展
默认 求指导!!BP神经网络的语法错误

我的输入层有30个神经元,选取5个训练样本(我知道5个不够,只是先拿5个来说明程序)所以输入矩阵P为一个5*30的矩阵
输出神经元为1个,隐蔽层只有一层,有6个结点,在网上找了现有的程序,可是好像
构造神经网络的时候就错了,怎么改啊,急死我了,哪个大神指导一下,感激不尽~


      close all
clear
echo on
clc
pause

%P为输入矩阵
P=[5 4 4 3 4 4 4 4 5 5 5 5 4 5 4 4 4 5 5 4 3 3 3 2 4 4 5 4 4 3
4 3 4 4 4 4 5 3 4 5 5 5 4 5 3 5 5 5 5 4 4 5 5 5 4 3 3 3 2 3
4 4 4 3 4 5 3 4 4 4 3 2 2 2 4 3 3 3 4 4 4 4 3 3 3 3 2 3 4 3
4 5 3 3 4 4 4 3 3 4 4 3 4 2 5 2 3 4 3 4 3 4 5 2 4 3 2 4 4 3
        3 5 3 3 4 4 5 3 5 4 3 3 4 2 5 2 3 4 4 4 3 4 5 2 4 3 2 4 4 3];
%T为理想输出
T=[3.336;3.363;3.325;3.969;3.711;3.843;4.340;3.246;3.540 ;3.504];
pause;
clc
%创建一个新的前向神经网络
net=newff(P,[6,1],{'tansig','purelin'});

%当前输入层权值和阈值
inputWeights=net.IW{1,1} ;
inputbias=net.b{1};
%当前网络层权值和阈值
layerWeights=net.LW{2,1};
layerbias=net.b{2} ;
pause
clc
%设置训练参数
net.trainParam.show = 10;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
pause
clc
% 调用 TRAINGDM 算法训练 BP 网络
[net,tr]=train(net,P,T);
pause
clc
% 对 BP 网络进行仿真
A = sim(net,P);
% 计算仿真误差
E = T - A;
MSE=mse(E);
pause
clc
echo off
kangta283 当前离线   回复时引用此帖
 


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

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



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


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