当前位置:首页 > 神经网络 > 正文

五分钟理解神经网络原理


⒈深入浅出BP神经网络算法的原理
深入讲解BP神经网络算法原理
相信每个刚接触神经网络的人首先都会遇到BP算法的问题,如何清晰快速的理解BP神经网络才是关键进一步享受我们的学习(声音:好玩?你在跟我说好玩吗?)
这篇博文旨在帮助您快速入门使用BP算法的神经网络。
BP神经网络的定义是什么?参见这句话:按照“误差反向传播算法”训练的多层前馈网络。
BP的思想是利用输出后的误差来估计输出层上一层的误差,然后利用本层的误差来估计上一层的误差,得到所有层的误差估计。 这里的误差估计可以理解为一种偏导数,我们根据这个偏导数调整各层的连接权重,然后使用调整后的连接权重重新计算输出误差。 直到输出误差达到合规要求或迭代次数超过设定值。
毕竟“错误”这个词已经说了很多了,是不是说明这个算法和错误有很大关系呢?
是的,BP传播的对象是“误差”,传播的目的是得到所有层的误差估计。
学习规则为:采用最速下降法,通过反向传播(即逐层前向传输)不断调整网络的权重和阈值,最终最小化全局误差系数。
学习的本质是:动态调整各个连接的权值。
拓扑结构如上图:输入层(input)、隐藏层(hidelayer)、输出层(output)
BP网络的优点是可以学习并存储一个大量连接输入输出而不首先显示这种数学关系。 那么它是如何学习的呢?
BP到处使用可微的激活函数来描述层输入和层输出之间的关系,S形函数δ通常用作激活函数。
我们现在开始BP神经网络监督学习算法:
1前向传播得到输出层误差e
=>输入层输入样本=>各隐藏层=。 >输出层
2判断是否反向传播
=>如果输出层误差不符合期望=>反向传播
3在查看各层=>固定各层单元的权值直到误差减小到可接受的水平。
这个算法还是比较容易解释的,接下来我们通过数学公式来了解BP的真面目。
假设我们的网络结构是一个包含N个神经元的输入层,一个包含P个神经元的隐藏层和一个包含Q个神经元的输出层
这些变量如下:
知道了上述变量后,开始计算:
1用(-1)中的随机数初始化误差函数,并设置精度ε和最大迭代次数M
2选择k-th个预计匹配的输入和输出样本
重复以下步骤,直到出现错误。 需求:
3、计算隐藏层每个神经元的输入和输出
4、根据参数计算误差函数e对输出层每个神经元的偏导数比如输出层的期望输出和实际输出以及输出层计算的输入。
5根据最后一层(此处为输出层)的灵敏度(灵敏度稍后介绍)计算误差函数对隐藏层各神经元的偏导数δo。 (k)、最后一层连接计算权值w,以及该层的输入值等参数
6利用第四步的偏导数修正输出层的连接权值
/。 >
7在第五步中使用偏导数偏导数用于修正隐藏层连接权值
8.>
更具体的计算方法已经介绍过了,接下来用一个比较简单的数学公式来大致总结一下这个过程相信看完上面的详细步骤你会有一些了解和理解。
假设我们的神经网络是这样的,有两个隐藏层。
我们先来了解一下什么是敏感度?
看下面的公式:
这个公式是误差关于b的偏导数,这是什么?是基,灵敏度δ是误差相对于基的变化率,也就是导数。
由于?u/?b=1,所以?E/?b=?E/?u=δ,即基本偏差敏感度?E/?b=δ等于所有误差E节点Derivedu?E/?u的输入。
也可以认为,这里的灵敏度等于误差E对该层输入的导数,注意这里的输入是上图中阶段U的输入,即之后的输入图层和图层权重的计算已经完成。
第一层对于每个隐藏层的敏感度为:
"?"这里的意思是每个元素的乘法如果不明白的话可以和上面的详细公式对比
输出层的灵敏度的计算方法是不同的,因为:
最终的校正权重是灵敏度乘以值层输入,注意这里的输入是没有乘上权重的输入,也就是上图中的Xi级别。
对于每个权重(W)ij都有一定的学习率ηIj,这是通过算法学习完成的。


⒉神经网络算法原理

总共有四种算法和原理,如下:

1.自适应共振理论(ART)网络

自适应共振理论(ART)网络有不同的计划。 ART-1网络包含两层:输入层和输出层。 这两层完全互连,连接发生在前向(自下而上)和反馈(自上而下)方向。

2.学习矢量量化(LVQ)网络

学习矢量量化(LVQ)网络,由三层神经元组成,分别是输入转换层、隐藏层和输出层。 该网络在输入层和隐藏层之间完全连接,在隐藏层和输出层之间部分连接,每个输出神经元连接到不同的隐藏神经元组。

3.Kohonen网络

Kohonen网络或自组织特征图网络包含两层,一个输入缓冲层用于接收输入模型,另一个是输出层。 输出层神经网络元素通常排列成规则的二维网络,每个输出神经元都连接到所有输入神经元。 连接权重形成连接到已知输出神经元的参考向量的分量。

4.Hopfield网络

Hopfield网络是一个典型的递归网络。 该网络通常只接受二进制输入(0或1)和双极性输入(+1或-1)。 它包含单层神经元,每个神经元都连接到所有其他神经元,形成递归结构。

详细信息:

人工神经网络算法的历史背景:

这个算法体系出现在20世纪40年代以后,它由以下组成。 神经元相互连接,连接权值可调,具有大规模并行处理、分布式信息存储、良好的自组织和自学习等特点。

BP算法又称为误差反向传播算法,是人工神经网络中的一种监督学习算法。 BP神经网络算法理论上可以逼近任何函数。 基本结构由非线性变化单元组成,具有很强的非线性映射能力。

网络的中间层数、每层处理单元数以及网络的学习系数等参数可以根据具体情况进行设置,非常灵活,可以应用于优化、信号处理和模式识别以及智能控制、故障诊断等诸多领域具有广阔的应用前景。

参考来源:百度百科-神经网络算法