完整版BP神经网络的基本原理一看就懂.docx
- 文档编号:509371
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:17
- 大小:21.68KB
完整版BP神经网络的基本原理一看就懂.docx
《完整版BP神经网络的基本原理一看就懂.docx》由会员分享,可在线阅读,更多相关《完整版BP神经网络的基本原理一看就懂.docx(17页珍藏版)》请在冰点文库上搜索。
完整版BP神经网络的基本原理一看就懂
5.4BP神经网络的基来源理
BP(BackPropagation)网络是1986年由Rinehart和
McClelland为首的科学家小组提出,是一种按偏差逆流传算
法训练的多层前馈网络,是当前应用最宽泛的神经网络模型
之一。
BP网络能学习和存贮大批的输入-输出模式映照关系,
而无需事先揭露描绘这类映照关系的数学方程。
它的学习规
则是使用最速降落法,经过反向流传来不停调整网络的权值
和阈值,使网络的偏差平方和最小。
BP神经网络模型拓扑结
构包含输入层(input)、隐层(hidelayer)和输出层(outputlayer)(如图5.2所示)。
5.4.1BP神经元
图5.3给出了第j个基本BP神经元(节点),它只模拟了生物神经元所拥有的三个最基本
也是最重要的功能:
加权、乞降与转移。
此中x1、x2xixn分别代表来自神经元1、2in的输入;wj1、wj2wjiwjn则分别表示神经元1、2in与第j个神经元的连结强度,即权值;bj为阈值;f(·)为传达函数;yj为第j个神经元的输出。
第j个神经元的净输入值为:
(5.12)
此中:
若视,,即令及包含及,则
于是节点j的净输入可表示为:
净输入
经过传达函数(
TransferFunction
)f(
·)后,便获取第
(5.13)
j个神经元的
输出:
(5.14)
式中f(·)是单一上涨函数,并且一定是有界函数,因为细胞传达的信号不行能无穷增添,必有一最大值。
5.4.2BP网络
BP算法由数据流的前向计算(正向流传)和偏差信号的反向流传两个过程组成。
正向流传
时,流传方向为输入层→隐层→输出层,每层神经元的状态只影响下一层神经元。
若在输出层得不到希望的输出,则转向偏差信号的反向流传流程。
经过这两个过程的交替进行,在权向量空间履行偏差函数梯度降落策略,动向迭代搜寻一组权向量,使网络偏差函数达到最小值,进而达成信息提取和记忆过程。
正向流传
设BP网络的输入层有n个节点,隐层有q个节点,输出层有m个节点,输入层与隐层之间
5.4
输出层的传达函数为f2(·),则隐层节点的输出为(将阈值写入乞降项中):
f1()
k=1,2,q
(5.15)
输出层节点的输出为:
j=1,2,m
(5.16)
至此B-P网络就达成了n维空间向量对m维空间的近似映照。
反向流传
1)定义偏差函数
输入个学习样本,用来表示。
第
(j=1,2,m)。
采纳平方型偏差函数,于是获取第
个样本输入到网络后获取输出
p个样本的偏差Ep:
(5.17)
式中:
为希望输出。
对于个样本,全局偏差为:
(5.18)
2)输出层权值的变化
采纳累计偏差BP算法调整,使全局偏差变小,即
(5.19)
式中:
—学习率
定义偏差信号为:
(5.20)
此中第一项:
(5.21)
第二项:
(5.22)
是输出层传达函数的偏微分。
于是:
(5.23)
由链定理得:
(5.24)
于是输出层各神经元的权值调整公式为:
(5.25)
3)隐层权值的变化
(5.26)
定义偏差信号为:
(5.27)
此中第一项:
(5.28)
依链定理有:
(5.29)
第二项:
(5.30)
是隐层传达函数的偏微分。
于是:
(5.31)
由链定理得:
(5.32)
进而获取隐层各神经元的权值调整公式为:
(5.33)
5.4.3BP算法的改良
BP算法理论拥有依照靠谱、推导过程谨慎、精度较高、通用性较好等长处,但标准BP算法存在以下弊端:
收敛速度迟缓;简单堕入局部极小值;难以确立隐层数和隐层节点个数。
在实质应用中,BP算法很难胜任,所以出现了好多改良算法。
1)利用动量法改良BP算法
标准BP算法实质上是一种简单的最速降落静态寻优方法,在修正W(K)时,只依照第K步的负梯度方向进行修正,而没有考虑到从前累积的经验,即从前时辰的梯度方向,进而经常使学习过程发生振荡,收敛迟缓。
动量法权值调整算法的详细
做法是:
将前一次权值调整量的一部分迭加到按本次偏差计算所得的权值调整量上,作为本次的实质权值调整量,即:
(5.34)
此中:
α为动量系数,往常0<α<0.9;η—学习率,范围在0.001~10之间。
这类方法所加的动量因子实质上相当于阻尼项,它减小了学习过程中的振荡趋向,进而改良了收敛
性。
动量法降低了网络对于偏差曲面局部细节的敏感性,有效的克制了网络堕入局部极小。
2)自适应调整学习速率
标准
BP算法收敛速度迟缓的一个重要原由是学习率选择不妥,
学习率选得太小,收敛太慢;
学习率选得太大,则有可能修正过头,以致振荡甚至发散。
可采纳图
5.5所示的自适应方
法调整学习率。
调整的基本指导思想是:
在学习收敛的状况下,增大η,以缩短学习时间;当η偏大概使不可以收敛时,要实时减小η,
直到收敛为止。
3)动量-自适应学习速率调整算法
采纳动量法时,BP算法能够找到更优的解;采纳自适应学习速率法时,BP算法能够缩短训练时间。
将以上两种方法联合起来,就获取动量-自适应学习速率调整算法。
4)L-M学习规则
L-M(Levenberg-Marquardt)算法比前述几种使用梯度降落法的BP算法要快得多,但对于复杂问题,这类方法需要相当大的储存空间。
L-M(Levenberg-Marquardt)优化方法的权值调整率选为:
(5.35)
此中:
e—偏差向量;J—网络偏差对权值导数的雅可比(Jacobian)矩阵;μ—标量,当μ很大时上式凑近于梯度法,当μ很小时上式变为了Gauss-Newton法,在这类方法中,μ也是自适应调整的。
综合考虑,拟采纳L-M学习规则和动量法分别作为神经网络的训练函数和学习函数。
5.5BP神经网络的训练策略及结果
本文借助于MATLAB神经网络工具箱来实现多层前馈BP网络(Multi-layerfeed-forward
backpropagationnetwork)的颜色空间变换,免除了很多编写计算机程序的烦忧。
神经网
络的实质输出值与输入值以及各权值和阈值相关,为了使实质输出值与网络希望输出值相符合,可用含有必定数目学习样本的样本集和相应希望输出值的会合来训练网络。
训练时仍旧使用本章5.2节中所述的实测样本数据。
此外,当前还没有找到较好的网络结构方法。
确立神经网络的结构和权系数来描绘给定的映照或迫近一个未知的映照,只好经过学习方式获取知足要求的网络模型。
神经网络的学习能够理解为:
对确立的网络结构,找寻一组知足要求的权系数,使给定的偏差函数最小。
设计多层前馈网络时,主要重视试验、商讨多种模型方案,在实验中改良,直到选用一个满意方案为止,可按以下步骤进行:
对任何实质问题先都只采纳一个隐层;使用极少的隐层节点数;不停增添隐层节点数,直到获取满意性能为止;不然再采纳两个隐层重复上述过程。
训练过程其实是依据目标值与网络输出值之间偏差的大小频频调整权值和阈值,直到此偏差达到预约值为止。
确立BP网络的结构
确立了网络层数、每层节点数、传达函数、初始权系数、学习算法等也就确立了BP网络。
确立这些选项时有必定的指导原则,但更多的是靠经验和试凑。
1)隐层数确实定:
1998年RobertHecht-Nielson证了然对任安在闭区间内的连续函数,都能够用一个隐层的
BP网络来迫近,因此一个三层的BP网络能够达成随意的n维到m维的照射。
所以我们从含
有一个隐层的网络开始进行训练。
2)BP网络常用传达函数:
BP网络的传达函数有多种。
Log-sigmoid型函数的输入值可取随意值,输出值在
0和1之
间;tan-sigmod型传达函数tansig的输入值可取随意值,输出值在-1到+1之间;线性传达函数purelin的输入与输出值可取随意值。
BP网络往常有一个或多个隐层,该层中的神经元均采纳sigmoid型传达函数,输出层的神经元则采纳线性传达函数,整个网络的输出能够取随意值。
各样传达函数如图5.6所示。
只改变传达函数而其他参数均固定,用本章5.2节所述的样本集训练BP网络时发现,传达函数使用tansig函数时要比logsig函数的偏差小。
于是在此后的训练中隐层传达函数改用tansig函数,输出层传达函数仍采纳purelin函数。
3)每层节点数确实定:
使用神经网络的目的是实现摄像机输出RGB颜色空间与CIE-XYZ色空间变换,所以BP网络的输入层和输出层的节点个数分别为3。
下边主要介绍隐层节点数目确实定。
对于多层前馈网络来说,隐层节点数确实定是成败的重点。
若数目太少,则网络所能获取的用以解决问题的信息太少;若数目太多,不单增添训练时间,更重要的是隐层节点过多
还可能出现所谓“过渡符合”(Overfitting)问题,即测试偏差增大以致泛化能力降落,所以合理选择隐层节点数特别重要。
对于隐层数及其节点数的选择比较复杂,一般原则是:
在能正确反应输入输出关系的基础上,应采纳较少的隐层节点数,以使网络结构尽量简单。
本论文中采纳网络结构增添型方法,即先设置较少的节点数,对网络进行训练,并测试学习偏差,而后渐渐增添节点数,直到学习偏差不再有显然减少为止。
偏差的选用
在神经网络训练过程中选择均方偏差MSE较为合理,原由以下:
①标准BP算法中,偏差定义为:
(5.36)
每个样本作用时,都对权矩阵进行了一次改正。
因为每次权矩阵的改正都没有考虑权值改正后其他样本作用的输出偏差能否也减小,所以将以致迭代次数增添。
②累计偏差BP算法的全局偏差定义为:
(5.37)
这类算法是为了减小整个训练集的全局偏差,而不针对某一特定样本,所以假如作某种改正能使全局偏差减小,其实不等于说每一个特定样本的偏差也都能同时减小。
它不可以用来比
较P和m不一样的网络性能。
因为对于同一网络来说,P越大,E也越大;P值同样,m越大
E也越大。
③均方偏差MSE:
(5.38)
此中:
—输出节点的个数,—训练样本数目,—网络希望输出值,—网络实质输
出值。
均方偏差战胜了上述两种算法的弊端,所以采纳均方偏差算法较合理。
训练结果
训练一个单隐层的三层BP网络,依据以下经验公式选择隐层节点数[125]:
(5.39)
式中:
n为输入节点个数,m为输出节点个数,a为1到10之间的常数。
针对本论文n1取值范围为3~13。
训练结果如表5.1所示。
表5.1隐层节点数与偏差的关系
隐层神经元个数训练偏差测试偏差
31.256611.1275
40.7977460.8232
5
0.631849
0.7278
6
0.570214
0.6707
7
0.552873
0.6895
8
0.445118
0.6575
9
0.385578
0.6497
10
0.259624
0.4555
11
0.185749
0.6644
12
0.183878
0.48
13
0.168587
0.6671
由上表能够看出:
①增添隐层节点数能够减少训练偏差,但超出10此后测试偏差产生颠簸,即泛化能力发生变化。
综合比较隐层节点数为10与12的训练偏差和测试偏差,决定隐层节点数采纳12。
②训练偏差和测试偏差都很大,并且收敛速度极慢(训练过程如图5.7所示),这个问题能够经过对输出量进行归一化来解决。
依据Sigmoid型传达函数输入和输出的范围,对输入变量不进行归一化办理,只对输出变量进行归一化,这是因为在输出数据要求归一化的同时,对输入数据也进行归一化的话,权值的可解说性就更差了。
目标值按下式进行变化:
(5.40)
使目标值落在0.05~0.95之间,这样凑近数据变化区间端点的网络输出值就有一颠簸范围,
网络的性能较好。
用重生成的训练样本与测试样本对隐层节点数为12的网络进行训练,得
到的训练偏差为9.89028×10-5,测试偏差为1.9899×10-4,达到了预约的目标(训练过程如图5.8所示)。
5.6最后训练后的神经网络结构
采纳三层BP网络实现摄像机输出RGB颜色空间与CIEXYZ色空间变换,此中隐层含有12个节点,传达函数采纳tansig函数;输出层传达函数采纳purelin函数。
经过测试后结果满
意,能够以为该神经网络能够用来实现这个关系映照。
网络的结构如图5.9所示:
获取的BP神经网络的权值和阈值为:
5.7本章小结
1)定量地剖析了用线性关系变换摄像机RGB空间到CIE-XYZ空间数据后产生的均方偏差,
表示CCD摄像机与标准察看者之间有比较显然的差异,也就是说RGB与CIE-XYZ间的变换
是非线性的。
2)采纳MATLAB中神经网络工具箱实现多层前馈BP网络的RGB到CIEXYZ颜色空间变换,
用经过归一化的训练样本与测试样本对隐层节点数为12的三层网络进行训练,获取的训练
偏差为9.89028×10-5,测试偏差为1.9899×10-4,结果表示经过训练的多层前馈BP网络可
以知足RGB空间向CIEXYZ颜色空间变换要求,达到了预约目标。
3)确立了用于RGB和XYZ颜色空间变换的BP网络结构,并求出了该神经网络的权值和阈值。
使用该网络能够定量表达食品颜色,定量比较高压加工食品颜色的变化,能够使食品
颜色测定和控制实现定量化,而不再是主观性很强的模糊描绘。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整版 BP 神经网络 基本原理 一看
![提示](https://static.bingdoc.com/images/bang_tan.gif)