神经网络相关知识积累

1基本概念

(1)前馈神经网络就是数据是一层层向前传播的
(2)BP网络是最常见的一种前馈网络,数据输入后,一层层向前传播,然后计算损失函数,得到损失函数的残差,然后把残差向后一层层传播。

2数值优化的BP网络训练算法

2.1拟牛顿法

拟牛顿法克服了梯度下降算法收敛慢以及牛顿法计算复杂的缺点。(以matlab2016a为例)
(1)BFGS你牛顿法

  • BFGS拟牛顿法在每次迭代中都要存储近似的海森阵,海森阵是一个n*n的矩阵,n是网络中所有的权值和偏置的总数。因此,当网络参数很多时,要求极大的存储量,计算也较为复杂。
  • 在matlab中对应的训练算法为‘trainbfg’
    (2)正割拟牛顿算法
  • 不需要存储完整的海森阵,除第一次迭代外
  • 相比于BFGS,其减少了存储和计算量。
  • 它是近似计算海森阵的拟牛顿法与共轭梯度法的一种折中。
  • 在matlab中对应的是‘trainoss’

2.2共轭梯度法

共轭梯度法力图克服梯度下降法收敛慢和拟牛顿法计算复杂的问题。
(1)Flectcher-Reeves共轭梯度法和Polak-Ribiere共轭梯度法

  • 其比绝大多数常规的梯度下降算法收敛的都要快,而且增加很少的存储量和计算量。
  • 分别是‘traincgf’和‘traincgp’

2.3Levenberg-Marquardt法

其实际是梯度下降算法和牛顿法的结合。

  • LM需要的存储量很大,雅可比矩阵使用Q*n矩阵,Q为训练样本数,n为网络中的权值和偏差的总数。
  • 在网络权值数目较少时收敛非常迅速。
  • ‘trainlm’

2.4小结

LM法拟牛顿法共轭梯度法
存储量较大较大较小
收敛速度较快较快较慢
适用范围网络参数很少网络参数很少或网络参数适中网络参数很多,需要考虑存储容量问题时

3 具体matlab中的训练函数

(1)train
[NET,TR] = train(NET,X,T) takes a network NET, input data X
and target data T and returns the network after training it, and a
a training record TR.

对于无监督训练如下,只有输入X,没有目标T:
[NET,TR] = train(NET,X) takes only input data, in cases where
the network’s training function is unsupervised (i.e. does not require target data).

(2)compet
compet 竞争传递函数.
A=compet(M),转换后的矩阵A中只保留M矩阵中每一列中的最大值,并置为1,即使相等也只保留第一个,每一列中的其他值,均为0;即每一种分类只对应一个结果。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值