《人工神经网络原理》读书笔记(四)-误差反向传播神经网络

全部笔记的汇总贴:《人工神经网络原理》-读书笔记汇总

一、误差反向传播神经网络的提出

采用非线性连续变换函数,使隐含层神经元具有学习能力。

二、误差反向传播神经网络结构

在这里插入图片描述
互连结构

  • BP神经网络是一种具有三层或三层以上结构的无反馈的层内无互联的前向网络,各层之间的神经元为全连接关系,每层各个神经元之间无连接。

BP神经网络采用有指导的学习方式进行训练和学习。

BP神经网络采用的“误差反向传播学习算法”是一种误差函数按梯度下降的学习方法。

三、误差反向传播神经网络处理单元结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、误差反向传播学习算法

BP神经网络的学习过程

  • 模式顺传播
  • 误差逆传播
  • 记忆训练
  • 学习收敛

标准BP学习算法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
BP学习算法的局部极小值问题

  • 现象
    当学习进行到一定次数后,虽然网络的实际输出与期望输出还存在较大误差,但无论再如何学习,网络全局误差都变化缓慢,或者根本不再发生变化。
  • 原因
    BP学习算法采用误差函数按梯度下降学习算法。
    在这里插入图片描述
  • 解决方法
    适当改变BP神经网络隐含层的单元个数;
    给每个初始连接权加上一个很小的随机数。

五、误差方向传播学习算法的数学基础

  • 梯度下降

六、误差反向传播学习算法的改进

BP算法存在的问题

学习算法的收敛速度慢

  • 学习速率影响收敛速度:学习速率太小,网络的收敛速度慢;学习速率太大,网络会出现振荡而无法收敛。
  • 通常学习速率的取值范围为 0.01 ∼ 1 0.01\sim1 0.011

存在局部极小点

  • 通过设置较小的连接权初始值可以尽量避免该问题。

隐含层层数及节点数的选取缺乏理论指导。

训练时学习新样本有遗忘旧样本的趋势。

累计误差校正算法

基本思想

  • 计算 m m m个学习模式对的累计误差和 E = ∑ k = 1 m E k E=\sum_{k=1}^mE^k E=k=1mEk

累计误差校正BP算法与BP算法比较

  • 累计误差校正BP算法中,每个连接权值及阈值的校正次数明显减少(每一次学习减少 m − 1 m-1 m1次校正),减少了学习时间,尤其是在学习模式对较少时,累计误差BP算法的收敛速度要快于BP算法。
  • 累计误差BP算法基于 m m m个学习模式对的累计误差和调整连接权值,容易将各个学习模式的误差平均化,容易引起网络振荡。

Sigmoid函数输出限幅BP算法

基本思想

  • 连接权值的调整与隐含层的输出相关,当隐含层的输出为0或1时,连接权校正量 Δ w i j \Delta w_{ij} Δwij Δ v j t \Delta v_{jt} Δvjt为0,起不到任何校正作用。
  • 隐含层的输出由Sigmoid函数的输出决定。
  • sigmoid函数具有饱和非线性输出特性
    x < − 5 x<-5 x<5时, f ( x ) f(x) f(x)接近于0;
    x > + 5 x>+5 x>+5时, f ( x ) f(x) f(x)接近于1;
    x x x在0附近时( − 5 ≤ x ≤ 5 -5\le x\le5 5x5), f ( x ) f(x) f(x)才真正起到转移作用。

sigmoid函数限幅算法

IF f(x)<=0.01
THEN
	f(x)=0.01
else
	IF f(x)>=0.99
	THEN
		f(x)=0.99
	ELSE
		f(x)保持不变

增加动量项的BP算法

标准BP算法在调整连接权值时,只考虑了本次调整时的误差梯度下降方向,而未考虑前一次调整时的误差梯度方向,因而经常使训练过程发生振荡,收敛缓慢。

基本思想

  • 在对连接权值进行调整时,按照一定比例加上前一次学习时的调整量,即动量项,力图使连接权的调整向着同一方向进行。
  • 可变动量项使连接权的调整随着训练过程变的不断进行而逐渐沿平均方向变化 Δ W i j ( n ) = − β ⋅ ∂ E ∂ W i j + η ( n ) ⋅ Δ W i j ( n − 1 ) \Delta W_{ij}(n)=-\beta\cdot\frac{\partial E}{\partial W_{ij}}+\eta(n)\cdot\Delta W_{ij}(n-1) ΔWij(n)=βWijE+η(n)ΔWij(n1)

学习速率自适应调整BP算法

基本思想

  • 学习速率使影响BP学习算法的关键因素之一,必须在训练过程中不断调整
  • 如果误差不断减小并趋向目标,说明误差修正方向正确,可以增加学习速率;如果误差不断增加并超过预先设定值,说明误差修正方向错误,此时应减少学习速率。
  • K i n c K_{inc} Kinc为学习速率增量因子, K d e c K_{dec} Kdec为学习速率减量因子 α ( n + 1 ) = { K i n c ⋅ α ( n )        E ( n + 1 ) < E ( n ) K d e c ⋅ α ( n )        E ( n + 1 ) ≥ E ( n ) \alpha(n+1)=\left\{ \begin{array}{l} K_{inc}\cdot\alpha(n)\;\;\;E(n+1)<E(n) \\ \\K_{dec}\cdot\alpha(n)\;\;\;E(n+1)\ge E(n) \end{array} \right. α(n+1)=Kincα(n)E(n+1)<E(n)Kdecα(n)E(n+1)E(n)

七、隐含层的特征抽取作用

隐含层也称为特征提取层。

隐含层每个神经元都具有抽取不同输入模式的特征,并将抽取出的特征传递给输出层的能力。

在这里插入图片描述

八、误差反向传播神经网络的主要能力

  • 非线性映射能力
  • 泛化能力
  • 容错能力

下一章传送门:《人工神经网络原理》读书笔记(五)-Hopfield神经网络

猜你喜欢

转载自blog.csdn.net/qq_41485273/article/details/114015146