Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2012-05-16
帖子: 2
声望力: 0 ![]() |
![]()
我的输入层有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 |
![]() |
![]() |