求助 matlab bp神经网程序问题

发布时间:2024-05-16 02:26 发布:上海旅游网

问题描述:

P=[123 15.0 1.10 70 0.2 0;123 15.0 1.10 70 0.2 0;145 16.0 1.50 120 0.4 0;130 15.0 1.40 135 0.4 0;110 12.0 1.40 100 0.4 0;148 18.0 1.80 95 0.8 0;225 14.0 1.90 130 0.8 0;308 10.0 1.00 160 0.6 0;287 10.0 1.00 130 0.6 0;300 8.0 1.80 100 0.4 0;230 10.0 2.30 120 0.6 0;230 26.0 3.50 180 0.4 0;310 26.0 1.80 128 0.2 0;310 26.0 1.80 128 0.2 1;259 4.0 3.00 160 0.6 0;320 4.0 5.4 60 0.6 0;520 30.0 0.94 120 0.6 0;400 9.0 7.50 34 0.4 0;400 9.0 4.00 34 0.4 0;227 12.0 3.50 30 0.4 0;227 12.0 3.50 30 0.4 1;900 26.0 2.00 200 0.6 0;1000 30.0 2.00 200 0.6 0;200 10.0 1.60 100 0.2 0;375 14.0 2.40 70 0.6 0;375 14.0 2.40 100 0.6 0]';
T=[7.00 13.40 14.00 12.00 10.70 9.00 9.75 10.50 9.50 10.00 13.00 20.00 16.80 29.60 16.40 9.70 13.00 8.00 6.00 3.50 7.00 27.00 38.00 8.50 9.70 12.90];
% 创建一个新的前向神经网络
net_1=newff(minmax(P),[10,1],{'tansig','tansig'},'traingdm')

% 当前输入层权值和阈值
%inputWeights=net_1.IW{1,1}
%inputbias=net_1.b{1}
% 当前网络层权值和阈值
%layerWeights=net_1.LW{2,1}
%layerbias=net_1.b{2}

% 设置训练参数
net_1.trainParam.show = 50;
net_1.trainParam.lr = 0.5;
%net_1.trainParam.mc = 0.9;
net_1.trainParam.epochs = 10000;
net_1.trainParam.goal = 0.01;

% 调用 TRAINGDM 算法训练 BP 网络
[net_1,tr]=train(net_1,P,T);

% 对 BP 网络进行仿真
A = sim(net_1,P);
% 计算仿真误差
E = T - A

1.请问数据如何归一化?
2.训练曲线为什么在10的2次方处呈直线?
3.权值与阀值如何计算?根据什么设定?
谢谢!

问题解答:

求助 matlab bp神经网程序问题这个旅游问答期待您的解答,请登录账号或关注微信公众号回答这个问题。

热点新闻