关于BP神经网络MATLAB程序

关于BP神经网络MATLAB程序,第1张

1,我用的是matlab R2008,一列代表一个样本。其他版本的不知道

2,matlab中神经网络工具箱就已经很方便了,调用函数和修改参数就可以用了。

3,net_1trainParamlr代表学习速率,net_1trainParammc则是动量系数。至于参数的确定,要看具体情况。

示例程序见附件,其为一个简单的时间序列预测算例。其实所有的预测问题,本质都是一样的,通过对样本的学习,将网络训练成一个能反映时间序列内部非线性规律的系统,最终应用于预测。

BP(Back Propagation)神经网络是86年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidden layer)和输出层(output layer)。

给你个例子如下,

net=newff(inputn,outputn,[8,4],{'tansig','purelin'},'trainscg');%初始化网络结构

%网络参数配置(迭代次数、学习率、目标)

nettrainParamepochs=3000;

nettrainParamlr=008;

nettrainParamgoal=005;

netdivideFcn = '';

[net,tr]=train(net,inputn,outputn);%网络训练

%网络预测输出

an=sim(net,inputn_test);

不过只了解输入预测输出,这些还不够,还要看你的输入数据的量,来确定隐含层,还需要看数据是不是归一化,我专门做神经网络的预测工作,可否加QQ探讨一下?

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

原文地址:https://www.54852.com/zaji/12178434.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存