- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
运用Matlab创建BP神经网络(R2010b).
运用Matlab创建BP神经网络(R2010b)
BP神经网络属于前向网络
以下为创建BP神经网络的方法及参数意义
(1)net=newff(P,T,S)或者net = newff(P,T,S,TF,BTF,BLF,PF,IPF,OPF,DDF)
P:输入参数矩阵。(RxQ1)
T:目标参数矩阵。(SNxQ2)
S:N-1个隐含层的数目(S(i)到S(N-1)),输出层的单元数目取决于T,默认为空矩阵。
TF:相关层的传递函数,默认隐含层为tansig函数,输出层为purelin函数。
BTF:BP神经网络学习训练函数,默认值为trainlm函数。
BLF:权重学习函数,默认值为learngdm。
PF:性能函数,默认值为mse。
IPF,OPF,DDF均为默认值即可。
(2)传递函数
purelin 线性传递函数
tansig 正切 S 型传递函数
logsig 对数 S 型传递函数
隐含层和输出层函数的选择对BP神经网络预测精度有较大影响,一般隐含层节点转移函数选用 tansig函数或logsig函数,输出层节点转移函数选用tansig函数或purelin函数。
(3)学习训练函数
神经网络的学习分为有导师学习和无导师学习。
最速下降BP算法:traingd
动量BP算法:traingdm
学习率可变的BP算法:trainda(学习率可变的最速下降BP算法);traindx(学习率可变的动量BP算法)
弹性算法:trainrp
变梯度算法:traincgf(Fletcher-Reeves修正算法)
? ?? ?? ?? ?traincgp(Polak_Ribiere修正算法)
? ?? ?? ?? ?traincgb(Powell-Beale复位算法)
? ?? ?? ?? ?trainbfg(BFGS 拟牛顿算法)
trainoss(OSS算法)
trainlm(LM算法)
参数说明:通过net.trainParam可以查看参数
? ? Show Training Window Feedback? ?showWindow: true
? ? Show Command Line Feedback showCommandLine: false
? ? Command Line Frequency? ?? ?? ?? ?show: 两次显示之间的训练次数
? ? Maximum Epochs? ?? ?? ?? ?? ?? ? epochs: 训练次数
? ? Maximum Training Time? ?? ?? ?? ???time: 最长训练时间(秒)
? ? Performance Goal? ?? ?? ?? ?? ?? ?? ? goal: 网络性能目标
? ? Minimum Gradient? ?? ?? ?? ?? ?? ?min_grad: 性能函数最小梯度
? ? Maximum Validation Checks? ?? ?? ?max_fail: 最大验证失败次数
? ? Learning Rate? ?? ?? ?? ?? ?? ?? ?? ?? ?lr: 学习速率
? ? Learning Rate Increase? ?? ?? ?? ???lr_inc: 学习速率增长值
? ? Learning Rate? ?? ?? ?? ?? ?? ?? ???lr_dec: 学习速率下降值
? ? Maximum Performance Increase??max_perf_inc:
Momentum Constant? ?? ?? ?? ?? ?? ?? ???mc: 动量因子
(4)BP神经网络预测函数
SimOut = sim(model, Parameters) y=sim(net,x)
函数功能:用训练好的BP神经网络预测函数输出
net:训练好的网络
x:输入数据
y:网络预测数据
(5)训练函数
[net,tr] = train(Net,P,T,Pi,Ai)
其中,
Net??待训练的网络
P? ? 输入数据矩阵
T? ? 输出数据矩阵 (default = zeros)
Pi? ?初始化输入层条件 (default = zeros)
Ai? ?初始化输出层条件 (default = zeros)
net? ?训练好的网络
tr? ? 训练过程记录
注意:P? ?Ni-by-TS cell array? ?Each element P{i,j,ts} is an Ni-by-Q matrix.
T? ?Nl-by-TS cell array? ?Each element T{i,ts} is a Ui-by-Q matrix.
BP网络的常用函数表
函数类型 函数名称 函数用途
文档评论(0)