本章的基本内容 ·BP网络结构与模型 ·BP网络的学习算法 ·BP神经网络的重要函数和基本功能 ·一个简单的例子 ·BP网络的几个问题 ·改进的BP网络的学习算法 ·BP网络的应用示例 2006-12-6 北京科技大学自动化系付冬梅 2
2006-12-6 北京科技大学 自动化系 付冬梅 2 本章的基本内容 • BP网络结构与模型 • BP网络的学习算法 • BP神经网络的重要函数和基本功能 • 一个简单的例子 • BP网络的几个问题 • 改进的BP网络的学习算法 • BP网络的应用示例
概述 Rumelhart,McClelland于1985年提出了BP网络的误差 反向后传BP(Back Propagation)学习算法 David J.McClelland Rumelhart BP算法基本原理 利用输出后的误差来估计输出层的直接前导层的误差, 再用这个误差估计更前一层的误差,如此一层一层的 反传下去,就获得了所有其他各层的误差估计。 2006-12-6 北京科技大学自动化系付冬梅 3
2006-12-6 北京科技大学 自动化系 付冬梅 3 ◼ Rumelhart,McClelland于1985年提出了BP网络的误差 反向后传BP(Back Propagation)学习算法 ◼ BP算法基本原理 ❑ 利用输出后的误差来估计输出层的直接前导层的误差, 再用这个误差估计更前一层的误差,如此一层一层的 反传下去,就获得了所有其他各层的误差估计。 David J. McClelland Rumelhart 概述
5-1网络结构和模型 BP网络是一种前向映射网络。网络的结构见 下一页的图形。其中:u是网络的输入向量,y是 网络的输出向量。神经元用节点表示,网络由输 入层、隐层和输出层节点组成,隐层可一层,也 可多层(图中是单隐层)。前层节点至后层节点通 过权联接。 由于这种网络常常用BP学习算法后的网络权 值,所以常称BP人工神经网络。 2006-12-6 北京科技大学自动化系付冬梅
2006-12-6 北京科技大学 自动化系 付冬梅 4 BP网络是一种前向映射网络。网络的结构见 下一页的图形。其中:u是网络的输入向量,y是 网络的输出向量。神经元用节点表示,网络由输 入层、隐层和输出层节点组成,隐层可一层,也 可多层(图中是单隐层)。前层节点至后层节点通 过权联接。 由于这种网络常常用BP学习算法后的网络权 值,所以常称BP人工神经网络。 5-1 网络结构和模型
5-1网络结构和模型 y 2006-12-6 北京科技大学自动化系付冬梅 5
2006-12-6 北京科技大学 自动化系 付冬梅 5 5-1 网络结构和模型 u y
5-1网络结构与模型 y 2006-12-6 北京科技大学自动化系付冬梅
2006-12-6 北京科技大学 自动化系 付冬梅 6 u y 5-1 网络结构与模型
5-1网络结构和模型 BP网络的神经元模型是 改进了感知器神经元模型得 W 到的。 输入层: X w,=1,f(x)=x 隐层: f(x) I(x)= f(x)= 1-e m 1+e-x Wn 输出层:f(x)= 1-e-x 1+e-x f(x)= f(x)=kx I+e-x 2006-12-6 北京科技大学自动化系付冬梅
2006-12-6 北京科技大学 自动化系 付冬梅 7 n j u u u1 y x wn w1 f (x) 5-1 网络结构和模型 BP网络的神经元模型是 改进了感知器神经元模型得 到的。 输入层: 隐层: 输出层: f x e x ( ) = + - 1 1 f x e e x x ( ) = - + - - 1 1 f x e e x x ( ) = - + - - 1 1 f x e x ( ) = + - 1 1 f x kx ( ) = 1, ( ) w f x x ij =
5-2 BP网络的学习算法 5-2-1BP学习算法概述 多层前馈网络的反向传播(BP)学习算法 简称BP学习算法,这是一种有导师的学习算法 是梯度下降法在多层前馈网中的应用。 BP学习算法可以看成是线性自适应神经元学 习算法的进一步推广。 BP学习算法二前向计算过程十误差反向传播过程 前向计算过程:也是网络应用时的实现过程。 误差反向传播过程:是BP网络权值的学习和 训练过程。 2006-12-6 北京科技大学自动化系付冬梅 8
2006-12-6 北京科技大学 自动化系 付冬梅 8 5-2 BP网络的学习算法 多层前馈网络的反向传播 (BP)学习算法, 简称BP学习算法,这是一种有导师的学习算法, 是梯度下降法在多层前馈网中的应用。 BP学习算法可以看成是线性自适应神经元学 习算法的进一步推广。 BP学习算法=前向计算过程+误差反向传播过程 前向计算过程:也是网络应用时的实现过程。 误差反向传播过程:是BP网络权值的学习和 训练过程。 5-2-1 BP学习算法概述
5-2 BP网络的学习算法 5-2-1BP学习算法概述 ■学习的类型:有导师学习 ■核心思想: 口将输出误差以某种形式通过隐层向输入层逐层反传 将误差分摊给各层的所有 单元 。。-各层单元的误 修正各单元权 差信号 值 学习的过程: 口信号的正向传播 误差的反向传播 2006-12-6 北京科技大学自动化系付冬梅
2006-12-6 北京科技大学 自动化系 付冬梅 9 ◼学习的类型:有导师学习 ◼核心思想: ❑ 将输出误差以某种形式通过隐层向输入层逐层反传 ◼学习的过程: ❑ 信号的正向传播 误差的反向传播 将误差分摊给各层的所有 单元---各层单元的误 差信号 修正各单元权 值 5-2 BP网络的学习算法 5-2-1 BP学习算法概述
5-2 BP网络的学习算法 5-2-1BP学习算法概述 正向传播 口输入样本··-输入层。·-各隐层。·-输出层 判断是否转入反向传播阶段: 口若输出层的实际输出与期望的输出(教师信号)不符 误差反传 误差以某种形式在各层表示····修正各层单元的权值 网络输出的误差减少到可接受的程度 或者进行到预先设定的学习次数为止 2006-12-6 北京科技大学自动化系付冬梅 10
2006-12-6 北京科技大学 自动化系 付冬梅 10 ◼ 正向传播: ❑ 输入样本---输入层---各隐层---输出层 ◼ 判断是否转入反向传播阶段: ❑ 若输出层的实际输出与期望的输出(教师信号)不符 ◼ 误差反传 ❑ 误差以某种形式在各层表示----修正各层单元的权值 ◼ 网络输出的误差减少到可接受的程度 或者进行到预先设定的学习次数为止 5-2 BP网络的学习算法 5-2-1 BP学习算法概述
5-2 BP网络的学习算法 5-2-2BP学习算法的描述 网络结构 输入层有个神经元,隐含层有p个神经元,输出 层有q个神经元。 变量定义 口输入向量; X=(x1,x2,…,Xn) 隐含层输入向量;hi=(hi,hi2,…,hip) 口隐含层输出向量; ho=(ho,ho2,…,hop) 输出层输入向量; yi=(yi,yi2,…,yi,) ▣输出层输出向量; yo=(0,02,…,y0g) 口期望输出向量; d。=(d,d2,…,dg) 2006-12-6 北京科技大学自动化系付冬梅 11
2006-12-6 北京科技大学 自动化系 付冬梅 11 ◼ 网络结构 输入层有n个神经元,隐含层有p个神经元,输出 层有q个神经元。 ◼ 变量定义 ❑ 输入向量; ❑ 隐含层输入向量; ❑ 隐含层输出向量; ❑ 输出层输入向量; ❑ 输出层输出向量; ❑ 期望输出向量; x = ( x x x 1 2 , , , n ) hi = (hi hi hi 1 2 , , , p ) ho = (ho ho ho 1 2 , , , p ) yi = ( yi yi yi 1 2 , , , q ) yo = ( yo yo yo 1 2 , , , q ) d o = (d d d 1 2 , , , q ) 5-2 BP网络的学习算法 5-2-2 BP学习算法的描述