神经网络的学习(一)

大家好,这段时间,我在跟着一个老师学习深度学习,但是把,那么多人,就我一个大一的,什么都不会。

之后,老师让我学习python和神经网络算法。

像这样的就叫做神经网络算法

我是零基础,不太会,就先去CSDN和博客,知乎上面搜索,结果搜索到很多,有一些讲的非常好的,适合零基础学习.

b站上也有很好的博主,讲的通俗易懂,适合零基础学习

一。神经网络定义

神经网络(NN)或者人工神经网络(ANN)是指用大量的简单计算单元(神经元)构成非线性系统,在一定程度上模拟了大脑的信息处理、存储和检索等功能。BP网络的误差反向后传学习算法,是最常用的神经网络算法。它利用输出后的误差来估计输出层的直接前导层误差,再利用这个误差更新前一层的误差,如此反传下去获得所有其他各层的误差估计

记得之前模式识别的老师说,神经网络算法就像一个黑盒子,不知道里面具体的样子,输入到黑盒子里就可以得到结果,所以这也是有少数人不信任这个算法的原因之一。

二。常用激活函数

激活函数的选择是构建神经网络的重要环节,下面是几种常用的激活函数,前三个属于线性函数,后三个为非线性函数。

(1)线性函数

(2)斜面函数

(3)阈值函数

(4)S形函数

导函数为

(5)双极S形函数

导函数为

BP算法要求激活函数可导,所以S型函数和双极型S函数适合用在BP神经网络中。

三。BP神经网络算法

BP神经网络的学习过程主要由四部分组成:输入模式顺传播。输出误差逆传播、循环记忆训练、学习结果判别

BP (Back Propagation)神经网络,即误差反传误差反向传播算法的学习过程,由信息的正向传播和误差的反向传播两个过程组成。输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。

四。神经网络常用训练函数

有的小伙伴会问啥是训练函数??

训练函数的定义:

训练函数的输出是训练好的网络和训练记录,训练函数是全局调整权值和阈值,考虑的是整体误差的最小。

训练函数的定义:

学习函数的输出是权值和阈值的增量

常用训练函数

trainlm——Levenberg-Marquardt的Bp算法训练函数

trainbfg——BFGS拟牛顿BP算法训练函数

trainrp——具有弹性的BP算法训练函数

traingd——梯度下降的BP算法训练函数

traingda——梯度下降自适应lr的BP算法训练函数

traingdm——梯度下降动量的BP算法训练函数

traingdx——梯度下降动量和自适应lr的BP算法训练函数

trainbr——贝叶斯正则化算法的BP算法训练函数

train函数

sim函数

五。配置参数

net.trainparam.goal:神经网络训练的目标误差

net.trainparam.how:显示中间结果的周期

net.trainparam.epochs:最大迭代次数

net.trainparam.lr:学习率

之后,我还会讲述其他的神经网络算法

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值