有关BP神经网络参数的一些学习经验

1、BP网络 的激活函数 必须是处处可微的。

2、S型激活函数所划分的区域是一个 非线性 的超平面组成的区域,它是比较柔和、光滑的任意界面 ,因而它的分类比线性划分精确、合理,这种网络的容 错性较好。另一个重要特点是由于激活函数是连续可微的,它可以严格利用梯度法进行推算。

3、一般情况下BP网络结构均是在隐含层采用S型激活函数,而输出层采用线性激活函数。  

4、 动手编写网络的 程序 设计 之前,需要确定神经网络 的结构,其中包括以下内容:网络的层数、每层的 神经元数、每层的激活函数。

5、trainbp.m提供了两层和三层的BP训练程序,用户可以根据程序来选取不同的 参数

6、神经网络具有泛化性能,但是该性能只能对被训练的输入/输出对在最大值范围内的 数据 有效,即网络具有内插植特性,不具有外插植特性,超 出最大训练的输入必将产生大的输出误差。

7、理论上已经证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。

8、隐含层层数的经验选择:对于线性问题一般可以采用感知器或自适应网络来 解决 ,而不采用非线性网络,因为单层不能发挥出非线性激 活函数的特长;非线性问题,一般采用两层或两层以上的隐含层,但是误差精度的提高实际上也可以通过增加隐含层中的神经元数目获得,其训练效果也比增加层数 更容易观察和调整,所以一般情况下,应优先考虑增加隐含层中的神经元数。

9、隐含层的神经元数的经验确定:通过对不同神经元数进行训练对比,然后适当的增加一点余量。

10、初始权值的经验选取:威得罗等人分析了两层网络是如何对一个函数进行训练后。提出一种选定初值的策略:选择权值的量级为S1的r次方,其中S1为第 一层神经元数目。利用他们的方法可以在较少的训练次数下得到满意的训练结果。在Matlab 工具箱 中可以采用nwlog.m和nwtan.m来初始 化隐含层权值W1和B1。其方法仅需要使用在第一层隐含层的初始值的选取上,后面层的初始值仍然采用(-1,1)之间的随机数。

11、 学习 速率的经验选择:一般情况下倾向于选取较小的学习速 率以保证系统 的稳定性,学习速率的选取范围在0.01~0.8之 间。

12、期望误差的选取:一般情况下,作为对比,可以同时对两个不同的期望误差值的网络进行训练,最后通过综合因素的考虑来确定其中一个网络。

13、采用附加动量法使反向传播减少了网络在误差表面陷入低谷的可能性有助于减少训练时间。Matlab工具箱中提供的trainbpm.m可以训练一层 直至三层的带有附加动量因子的反向传播网络。

14、太大的学习速率导致学习的不稳定,太小值又导致极长的训练时间。自适应学习速率通过保证稳定训练的前提下,达到了合理的高速率,可以减少训练时间。 Matlab工具箱中带有自适应学习速率进行反向传播训练的函数为trainbpa.m,它可以训练至三层网络。

15、可以将动量法和自适应学习速率结合起来利用两方面的优点,这个 技术 已经编入函数trainbpx.m中

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值