第五章 BP网络
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
函数值F[x(temp)]减少到给定的范围内为止。
16
拟牛顿算法 牛顿法: 基于二阶泰勒级数的快速优化算法。
x(k 1) x(k ) A1 (k ) g (k )
A(k ) 2 F ( x )
x x(k )
A(k):为误差性能函数在当前权值和阈值下的Hessian矩阵
包含数百个权值函数,收敛速度快 精度比较高 获得最小的均方误差 模式识别时,速度最快 所需的存储空间相对较小 网络规模较大情况适用 SCG应用于函数逼近问题很快 应用于模式识别时也很快 对存储空间要求相对较低 存储空间比LM小 应用于某些特定问题
网络权值数量很多时 模式识别的处理功能弱 存储空间大
RPROP
:学习速率,默认值为0.01
缺点:收敛速度慢 易陷于局部极小 容易发生震荡
8
动量BP算法 对权值和阈值的修正:
x(k 1) x(k ) (1 )
E (k ) x(k )
x(k 1) x(k ) x(k 1)
优点: 收敛速度较快,学习时间较短。 学习率可变的BP算法 学习率 根据局部误差曲面作出相应的调整,使得算法稳定且尽量大的步长。
3
[Title MM/DD/YYYY]
BP神经元及BP网络模型
BP神经元的传输函数最常用的为 logsig和tansig函数,输出层有时 也采用purelin线性函数。 如:a=logsig(Wp+b) BP神经网络信息从输入层流向输 出层,是一种多层前馈神经网络。
4
BP网络的学习
5
[Title MM/DD/YYYY]
Chapter 5 BP网络——多层神经网络
2012-5-22
章节目录
BP神经元及BP网络模型 BP网络的学习
−
−
BP网络学习算法
BP网络学习算法的比较
BP网络泛化能力的提高 BP网络的局限性 BP网络的MATLAB仿真程序设计 – BP网络设计的基本方法 – BP网络应用实例
2
BP神经元及BP网络模型
时,确认样本集的误差在明显增加,当确认样本集的误差连续增加的次数达
到指定的迭代次数时,训练便被终止,此时网络返回具有最小确认样本集误 差的权值和阈值。(例题)
测试样本集:用于各种不同模型的比较以及画测试样本集的误差曲线
23
BP网络泛化能力的提高 归一化法与提前终止法比较 归一化法比提前终止法具有更好的泛化性能(采用所有数据样本) 归一化法用于函数逼近的性能好
kinc (k ) E (k 1) E (k ) (k 1) kdec (k ) E ( k 1) E ( k )
9
弹性BP算法 目的:消除梯度幅度的不利影响。
x(k 1) x(k 1)sign( g (k ))
x(k )kinc sign( g (k )) 连续两次迭代梯度方向相同 x(k )kdec sign( g (k )) 连续两次迭代梯度方向相反 x(k ) 当g (k )=0
27
[Title MM/DD/YYYY]
BP网络设计的基本方法
网络层数
输入层的节点数
输出层的节点数 隐层的节点数
传输函数
训练方法及其参数选择
28
BP网络应用实例 用于模式识别与分类的BP网络(例题)
用于曲线拟合的BP网络(例题)
29
常用函数总结
函数名 newff() tansig() logsig() traingd()
(3)Powell-Beale复位算法
T 当梯度 g (k 1) g (k ) 0.2 g (k ) 时,有 2
p(k ) g (k ) (4)SCG算法
采用了模型信任区间逼近原理,避免了搜索方向计算耗时问题。
12
线性搜索路径 (1)黄金分割搜索 确定误差极小点的区间 连续两次迭代中,误差性能
30
Thank you
31
[Title MM/DD/YYYY]
函数逼近问题不适用
变梯度算法
BFGS 变学习率算法
运算量随网络大小几何级数增长 速度相对慢
19
BP网络泛化能力的提高
20
[Title MM/DD/YYYY]
BP网络泛化能力的提高 “过适配”现象: 对训练样本集数据拟合较好,但是由于噪声的影响, 没能很好的实现对争先曲线的拟合。
*为加噪正弦训练集
P(k): 第k+1次迭代的搜索方向 如何计算
(k ) ,介绍不同的变梯度算法中的四种计算方法。
11
变梯度算法 (1)Fletcher-Reeves修正算法
g T (k ) g (k ) (k ) T g (k 1) g (k 1)
(2)Polak-Ribiere 修正算法
g T (k 1) g (k ) (k ) T g (k 1) g (k 1)
由误差逐层往回传递,以修正层与层间的权值和阈值的误差反响传播算法称之为BP算法。 将该种算法推广到多层网络形成BP网络。
长沙
6
BP网络学习算法
1 s2 2 s 2 2 1 1 1 f [ wi , j (k ) f (iwi , j ( k ) pi ibi (k )) bi (k )] j 1 j 1
E (k ) E[e 2 (k )]
1 S2
[t
2 i
ai2 (k )]2
7
最速下降BP算法 3 第k次迭代的总误差曲面的梯度
E (k ) x(k ) 4 修正权值和阈值 g (k )
x(k 1) x(k ) g (k )
X(k): 第k次迭代各层之间的连接权向量或阈值向量
其中:r为误差性能调整率 msw为权值和阈值均方值 (2)自动归一化
利用贝叶斯框架理论,决定归一化最佳误差性能调整率。
22
BP网络泛化能力的提高
提前终止法: 将数据分为三个子集,分别是:
训练样本集:计算梯度和修正网络的权值和阈值
确认样本集:在训练过程中,监控确认样本集的误差。训练初期,确认样本 集误差在正常减少,即为训练样本集的误差,而在网络开始出现“过适配”
功能 生成一个前馈BP网络 双曲正切S型传输函数 对数S型传输函数 梯度下降BP训练函数
net.trainParam.show net.trainParam.epochs net.trainParam.goal net.trainParam.lr tr
显示的间隔次数 训练的最大步长 误差性能目标值(设置精确度) 学习率 训练记录
增加时,确定误差性能F(x)在
[a5 , b5 ] 区间内存在极小点。
减小极小点区间大小 c=a+(1-0.618)(b-a) d=b-(1-0.618)(b-a) 比较F(c)与F(d) 不断重复上述过程,直到最小
点的区间小宇设定值为止。
13
线性搜索路径 (2)Brent搜索 综合运用了黄金分割搜索和二次差值的线性搜索方法。
g(k): 第k次迭代的梯度
x(k ):权值或阈值第k次迭代的幅度修正值
10
变梯度算法 变梯度算法中,沿着变化的方向进行搜索,使其收敛速度比最陡下降梯度方向的收 敛速度更快。 1 第一次迭代沿着最陡梯度下降方向开始
p(0) g (0)
2 最佳距离的线性搜索沿着当前搜索方向
x(k 1) x(k ) p(k ) p(k ) g (k ) (k ) p(k 1)
dx
14
线性搜索路径 (3)对分-三次差值混合搜索 应用对分法,将在包含误差性能极小点的不确定区间减半。
进行三次插值,减小不确定区间的范围。
15
线性搜索路径
(4)Charalambous搜索 采用二次插值和一种分割算法。
(5)反响跟踪搜索
E (k ) x(temp) x(k ) 采用当前点的误差性能函数及其偏导,步长系数λ=1,即 x(k )
实线为对正弦函数的拟合结果 虚线为实际的正弦函数 提高网络泛化能力方法: 归一化法 提前终止法
21
BP网络泛化能力的提高 归一化法 (1)修正网络误差性能函数
1 mse N
(t
i 1
N
i
ai ) 2
1 n 2 msw x j n j 1
msereg mse (1 )msw
( x) F (a)
( x b)( x c) ( x c)( x b) ( x a)( x b) F (b) F (c ) (a b)(a c) (b c)(b a) (c a)(c b) d ( x ) 令 '( x) 0 求的极小点 d,重复此方法,继续进行搜索。
BP网络的学习
BP网络学习过程分为两个阶段:
第一个阶段: 输入已知的学习样本,通过设置网络结构和前一次迭代的权值和阈值,从网 络第一层向后计算各神经元的输出。 第二个阶段:对权值和阈值进行修改,从最后一层向前计算各权值和阈值对总误差的影响, 据此对各权值和阈值进行修改。
BP算法(back propagation):
拟牛顿法:不需要求二阶导数,用Hessian矩阵近似值进行修正。 BFGS算法(近似Hessian矩阵,适用于规模较小的网络算法) OSS算法(不储存全部的Hessian矩阵,假定每一次迭代时,前一次迭代 Hessian矩阵具有一致性)
17
LM算法 类似于拟牛顿法,以近似二阶训练速率进行修正,避免计算Hessian矩阵。
提前终止法用于模式识别的性能好
归一化法比提前终止法收敛所需花费的时间要长
24
BP网络的局限性
25
[Title MM/DD/YYYY]
BP网络的局限性
学习率与稳定性的矛盾 学习率的选择缺乏有效的方法
训练过程可能陷于局部最小
没有确定隐层神经元数的有效方法
26
BP网络的MATLAB仿真程序设计
H J T J (H近似表示Hessian矩阵) g JTe
x(k 1) x(k ) [ J T J I ]1 J T e
其中:H 为雅克比矩阵,包含网络误差函数对权值和阈值一阶导数 e为网络的误差向量 当
为0时,上式为牛顿法
18
BP网络学习算法比较
优点
缺点
LM算法
16
拟牛顿算法 牛顿法: 基于二阶泰勒级数的快速优化算法。
x(k 1) x(k ) A1 (k ) g (k )
A(k ) 2 F ( x )
x x(k )
A(k):为误差性能函数在当前权值和阈值下的Hessian矩阵
包含数百个权值函数,收敛速度快 精度比较高 获得最小的均方误差 模式识别时,速度最快 所需的存储空间相对较小 网络规模较大情况适用 SCG应用于函数逼近问题很快 应用于模式识别时也很快 对存储空间要求相对较低 存储空间比LM小 应用于某些特定问题
网络权值数量很多时 模式识别的处理功能弱 存储空间大
RPROP
:学习速率,默认值为0.01
缺点:收敛速度慢 易陷于局部极小 容易发生震荡
8
动量BP算法 对权值和阈值的修正:
x(k 1) x(k ) (1 )
E (k ) x(k )
x(k 1) x(k ) x(k 1)
优点: 收敛速度较快,学习时间较短。 学习率可变的BP算法 学习率 根据局部误差曲面作出相应的调整,使得算法稳定且尽量大的步长。
3
[Title MM/DD/YYYY]
BP神经元及BP网络模型
BP神经元的传输函数最常用的为 logsig和tansig函数,输出层有时 也采用purelin线性函数。 如:a=logsig(Wp+b) BP神经网络信息从输入层流向输 出层,是一种多层前馈神经网络。
4
BP网络的学习
5
[Title MM/DD/YYYY]
Chapter 5 BP网络——多层神经网络
2012-5-22
章节目录
BP神经元及BP网络模型 BP网络的学习
−
−
BP网络学习算法
BP网络学习算法的比较
BP网络泛化能力的提高 BP网络的局限性 BP网络的MATLAB仿真程序设计 – BP网络设计的基本方法 – BP网络应用实例
2
BP神经元及BP网络模型
时,确认样本集的误差在明显增加,当确认样本集的误差连续增加的次数达
到指定的迭代次数时,训练便被终止,此时网络返回具有最小确认样本集误 差的权值和阈值。(例题)
测试样本集:用于各种不同模型的比较以及画测试样本集的误差曲线
23
BP网络泛化能力的提高 归一化法与提前终止法比较 归一化法比提前终止法具有更好的泛化性能(采用所有数据样本) 归一化法用于函数逼近的性能好
kinc (k ) E (k 1) E (k ) (k 1) kdec (k ) E ( k 1) E ( k )
9
弹性BP算法 目的:消除梯度幅度的不利影响。
x(k 1) x(k 1)sign( g (k ))
x(k )kinc sign( g (k )) 连续两次迭代梯度方向相同 x(k )kdec sign( g (k )) 连续两次迭代梯度方向相反 x(k ) 当g (k )=0
27
[Title MM/DD/YYYY]
BP网络设计的基本方法
网络层数
输入层的节点数
输出层的节点数 隐层的节点数
传输函数
训练方法及其参数选择
28
BP网络应用实例 用于模式识别与分类的BP网络(例题)
用于曲线拟合的BP网络(例题)
29
常用函数总结
函数名 newff() tansig() logsig() traingd()
(3)Powell-Beale复位算法
T 当梯度 g (k 1) g (k ) 0.2 g (k ) 时,有 2
p(k ) g (k ) (4)SCG算法
采用了模型信任区间逼近原理,避免了搜索方向计算耗时问题。
12
线性搜索路径 (1)黄金分割搜索 确定误差极小点的区间 连续两次迭代中,误差性能
30
Thank you
31
[Title MM/DD/YYYY]
函数逼近问题不适用
变梯度算法
BFGS 变学习率算法
运算量随网络大小几何级数增长 速度相对慢
19
BP网络泛化能力的提高
20
[Title MM/DD/YYYY]
BP网络泛化能力的提高 “过适配”现象: 对训练样本集数据拟合较好,但是由于噪声的影响, 没能很好的实现对争先曲线的拟合。
*为加噪正弦训练集
P(k): 第k+1次迭代的搜索方向 如何计算
(k ) ,介绍不同的变梯度算法中的四种计算方法。
11
变梯度算法 (1)Fletcher-Reeves修正算法
g T (k ) g (k ) (k ) T g (k 1) g (k 1)
(2)Polak-Ribiere 修正算法
g T (k 1) g (k ) (k ) T g (k 1) g (k 1)
由误差逐层往回传递,以修正层与层间的权值和阈值的误差反响传播算法称之为BP算法。 将该种算法推广到多层网络形成BP网络。
长沙
6
BP网络学习算法
1 s2 2 s 2 2 1 1 1 f [ wi , j (k ) f (iwi , j ( k ) pi ibi (k )) bi (k )] j 1 j 1
E (k ) E[e 2 (k )]
1 S2
[t
2 i
ai2 (k )]2
7
最速下降BP算法 3 第k次迭代的总误差曲面的梯度
E (k ) x(k ) 4 修正权值和阈值 g (k )
x(k 1) x(k ) g (k )
X(k): 第k次迭代各层之间的连接权向量或阈值向量
其中:r为误差性能调整率 msw为权值和阈值均方值 (2)自动归一化
利用贝叶斯框架理论,决定归一化最佳误差性能调整率。
22
BP网络泛化能力的提高
提前终止法: 将数据分为三个子集,分别是:
训练样本集:计算梯度和修正网络的权值和阈值
确认样本集:在训练过程中,监控确认样本集的误差。训练初期,确认样本 集误差在正常减少,即为训练样本集的误差,而在网络开始出现“过适配”
功能 生成一个前馈BP网络 双曲正切S型传输函数 对数S型传输函数 梯度下降BP训练函数
net.trainParam.show net.trainParam.epochs net.trainParam.goal net.trainParam.lr tr
显示的间隔次数 训练的最大步长 误差性能目标值(设置精确度) 学习率 训练记录
增加时,确定误差性能F(x)在
[a5 , b5 ] 区间内存在极小点。
减小极小点区间大小 c=a+(1-0.618)(b-a) d=b-(1-0.618)(b-a) 比较F(c)与F(d) 不断重复上述过程,直到最小
点的区间小宇设定值为止。
13
线性搜索路径 (2)Brent搜索 综合运用了黄金分割搜索和二次差值的线性搜索方法。
g(k): 第k次迭代的梯度
x(k ):权值或阈值第k次迭代的幅度修正值
10
变梯度算法 变梯度算法中,沿着变化的方向进行搜索,使其收敛速度比最陡下降梯度方向的收 敛速度更快。 1 第一次迭代沿着最陡梯度下降方向开始
p(0) g (0)
2 最佳距离的线性搜索沿着当前搜索方向
x(k 1) x(k ) p(k ) p(k ) g (k ) (k ) p(k 1)
dx
14
线性搜索路径 (3)对分-三次差值混合搜索 应用对分法,将在包含误差性能极小点的不确定区间减半。
进行三次插值,减小不确定区间的范围。
15
线性搜索路径
(4)Charalambous搜索 采用二次插值和一种分割算法。
(5)反响跟踪搜索
E (k ) x(temp) x(k ) 采用当前点的误差性能函数及其偏导,步长系数λ=1,即 x(k )
实线为对正弦函数的拟合结果 虚线为实际的正弦函数 提高网络泛化能力方法: 归一化法 提前终止法
21
BP网络泛化能力的提高 归一化法 (1)修正网络误差性能函数
1 mse N
(t
i 1
N
i
ai ) 2
1 n 2 msw x j n j 1
msereg mse (1 )msw
( x) F (a)
( x b)( x c) ( x c)( x b) ( x a)( x b) F (b) F (c ) (a b)(a c) (b c)(b a) (c a)(c b) d ( x ) 令 '( x) 0 求的极小点 d,重复此方法,继续进行搜索。
BP网络的学习
BP网络学习过程分为两个阶段:
第一个阶段: 输入已知的学习样本,通过设置网络结构和前一次迭代的权值和阈值,从网 络第一层向后计算各神经元的输出。 第二个阶段:对权值和阈值进行修改,从最后一层向前计算各权值和阈值对总误差的影响, 据此对各权值和阈值进行修改。
BP算法(back propagation):
拟牛顿法:不需要求二阶导数,用Hessian矩阵近似值进行修正。 BFGS算法(近似Hessian矩阵,适用于规模较小的网络算法) OSS算法(不储存全部的Hessian矩阵,假定每一次迭代时,前一次迭代 Hessian矩阵具有一致性)
17
LM算法 类似于拟牛顿法,以近似二阶训练速率进行修正,避免计算Hessian矩阵。
提前终止法用于模式识别的性能好
归一化法比提前终止法收敛所需花费的时间要长
24
BP网络的局限性
25
[Title MM/DD/YYYY]
BP网络的局限性
学习率与稳定性的矛盾 学习率的选择缺乏有效的方法
训练过程可能陷于局部最小
没有确定隐层神经元数的有效方法
26
BP网络的MATLAB仿真程序设计
H J T J (H近似表示Hessian矩阵) g JTe
x(k 1) x(k ) [ J T J I ]1 J T e
其中:H 为雅克比矩阵,包含网络误差函数对权值和阈值一阶导数 e为网络的误差向量 当
为0时,上式为牛顿法
18
BP网络学习算法比较
优点
缺点
LM算法