MATLAB 2016b--神经网络工具箱中BP网络的实现

MATLAB 2016b–神经网络工具箱中BP网络的实现

在干活的过程中整理下来的,希望对大家有帮助。
上一篇介绍的是MATLAB 2016b–神经网络工具箱中图形用户界面的使用
这一篇就介绍如何利用神经网络工具箱中包含的函数(其中包括BP网络创建函数、传递函数、训练函数等)进行编程,从而实现BP网络的具体功能与应用。
我用的是MATLAB 2016b,它新增了一些网络函数,并对老版中一些网络函数进行了调整。

1.BP神经网络基本函数

对于BP神经网络的实现,MATLAB神经网络工具箱提供了五个基本函数:feedforwardnet,configure,init,train和sim,它们分别对应五个基本步骤,即新建、配置、初始化、训练和仿真。

(1)新建函数feedforwardnet

功能:创建一个BP神经网络。
调用格式:net=feedforwardnet
net=feedforwardnet(hiddenSizes,trainFun)
参数说明:hiddenSizes为表示每个隐含层神经元个数的行向量,默认值为10。例如,如果需要创建一个有3个隐含层的神经网络,其中第一个隐含层有10个神经元,第二个隐含层有8个神经元,第三个隐含层有5个神经元,那么hiddenSizes为[10,8,5]。trianFcn为反向传播训练函数,可选的训练函数有’trainlm’(默认值) 、“trainbr”、“trainbfg”、“trainrp”、“trainscg”等,将在下面专门给予介绍。
新旧版比较:相较于使用旧版函数newff创建网络时需要逐层设置激活函数的形式、神经元数量、输入输出的范围以及训练方式等,新版函数feedforwardnet只需要设定每个隐藏层的大小及训练函数,使用更加简捷。

(2)配置函数configure

功能:对新创建的网络进行配置
调用格式:net=configure(net,P,T)
参数说明:net为创建的网络,P为输入矩阵,T为输出矩阵。配置是为了使网络的输入、输出、连接权重和阈值能够匹配输入矩阵和输出矩阵。train可以自动完成这一过程,但如果想在train之前就对网络进行仿真,则需先进行configure。

(3)初始化函数init

功能:对网络进行自定义的初始化。
调用格式:net=init(net)
参数说明:初始化是对连接权值和阈值进行初始化。BP神经网络在训练之前必须要对权值和阈值进行初始化,train()函数可以自动完成这一过程,但是无法重新赋初值。如果想重新初始化,可以应用init()函数,使网络恢复到初始化的情况。

(4)训练函数train

功能:对网络的权值和阈值进行反复地调整,以减少网络性能函数net.perforFen的值,直到达到预先的要求。
调用格式:[net,tr]=train (net,X,T,Xi,Ai,EW)
参数说明:X和T分别为输入/输出矩阵,net为由feedforwardnet产生的要训练的网络,Xi为初始输入延迟条件,Ai为初始层延迟条件。需要注意的是T、Xi和Ai的默认值是

  • 10
    点赞
  • 115
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值