matlab程序 BP神经网络预测 程序如下:

matlab程序 BP神经网络预测 程序如下:,第1张

P=[。。。]输入T=[。。。]输出

% 创建一个新的前向神经网络

net_1=newff(minmax(P),[10,1],,'traingdm')

% 当前输入层权值和阈值

inputWeights=net_1.IW

inputbias=net_1.b

% 当前网络层权值和阈值

layerWeights=net_1.LW

layerbias=net_1.b

应该没问题吧。

newff 创建前向BP网络格式:

net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF)

其中:PR —— R维输入元素的R×2阶最大最小值矩阵; Si —— 第i层神经元的个数,共N1层; TFi——第i层的转移函数,默认‘tansig’; BTF—— BP网络的训练函数,默认‘trainlm’ BLF—— BP权值/偏差学习函数,默认’learngdm’ PF ——性能函数,默认‘mse’;(误差)

e.g.

P = [0 1 2 3 4 5 6 7 8 9 10]T = [0 1 2 3 4 3 2 1 2 3 4]

net = newff([0 10],[5 1],{'tansig' 'purelin'})net.trainparam.show=50 %每次循环50次net.trainParam.epochs = 500 %最大循环500次

net.trainparam.goal=0.01 %期望目标误差最小值

net = train(net,P,T) %对网络进行反复训练

Y = sim(net,P)Figure % 打开另外一个图形窗口

plot(P,T,P,Y,'o')

BP神经网络预测的步骤:

1、输入和输出数据。

2、创建网络。fitnet()

3、划分训练,测试和验证数据的比例。net.divideParam.trainRatio; net.divideParam.valRatio;net.divideParam.testRatio

4、训练网络。 train()

5、根据图表判断拟合好坏。ploterrcorr();parcorr();plotresponse()

6、预测往后数据。net()

7、画出预测图。plot()

执行下列命令

BP_prediction

得到结果:

[ 2016, 14749.003045557066798210144042969]

[ 2017, 15092.847215188667178153991699219]

[ 2018, 15382.150005970150232315063476562]

[ 2019,  15398.85769711434841156005859375]

[ 2020, 15491.935150090605020523071289062]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11015312.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存