BP神经网络算法理论知识
n F ( x1 ,..., xn ) i wij x j bi i 1 j 1
m
是函数f()的近似, 满足
|F(x1,…,xn) – f(x1,…,xn)| <
只要隐层神经元足够多, 隐层激励函数sigmoid函 数, 输出层激励函数是线性函数的两层网络实质 上可以逼近任意函数到任意精度.
• 网络结构 – 输入层有n个神经元,隐含层有p个神经元, 输出层有q个神经元 • 变量定义 x x1, x2 , , xn – 输入向量; – 隐含层输入向量; hi hi1 , hi2 , , hi p – 隐含层输出向量; ho ho1 , ho2 , , ho p – 输出层输入向量; yi yi1 , yi2 , , yiq – 输出层输出向量; yo yo1 , yo2 , , yoq – 期望输出向量; d d , d , , d
m
q
BP网络的标准学习算法
• BP算法直观解释
– 情况一直观表达
• 当误差对权值的偏 导数大于零时,权值 调整量为负,实际输 出大于期望输出, 权值向减少方向调整, 使得实际输出与期望 输出的差减少。
e
who
e >0,此时Δwho<0 who
BP网络的标准学习算法
• BP算法直解释
– 情况二直观表达
o 1,2,
yoo (k ) f( yio (k ))
h 1
q
BP网络的标准学习算法
• 第四步,利用网络期望输出和实际输出, 计算误差函数对输出层的各神经元的偏 导数 。 o (k )
e e yio who yio who
yio (k ) who ( whohoh (k ) bo )
BP网络的标准学习算法
• 学习的过程:
– 神经网络在外界输入样本的刺激下不断改变网 络的连接权值,以使网络的输出不断地接近期 望的输出。 • 学习的本质: – 对各连接权值的动态调整 • 学习规则: – 权值调整规则,即在学习过程中网络中各神经 元的连接权变化所依据的一定的调整规则。
BP网络的标准学习算法-学习过程
(k) = (t(k) – a(k))T(t(k) – a(k)) = eT(k)e(k)
学习律: w(k+1) = w(k) –
(k ) w(k )
•Log-sigmoid 激励函数:
df (n) e n = f(n)(1 – f(n)) n 2 dn (1 e )
1 a f (n) 1 e n
• 多层神经元
输入 层
隐层
输出层
学习律 有监督(教师)的学习(Supervised Learning) 无监督(教师)的学习(Unsupervised Learning)
设 () 是有界单调增的连续函数, 而且()不是常数, 则对任 意给定的n-维单位超立方体[0,1]n 上的连续函数f, 有: 对任意 给定的 > 0, 存在整数m 和实常 数i, bi, wij, 其中i = 1, …, m, j = 1, …, n, 使得
复兴时期
(1980以来)
个人计算机和工作站越来越普及, 其功能越来越强大,. 而且提出了一些重要的新概念. John Hopfield: Hopfield network (1982)
David Rumelhart和James McClelland (1986): Backpropagation algorithm(反传算法, BP算法)
p 1 q ( ((d o (k ) f( who hoh ( k ) bo ) 2 )) hoh (k ) 2 o1 h 1 hoh (k ) hih (k )
(d o (k ) yoo (k )) f ( yio (k )) who
o 1
q
hoh (k ) hih (k )
o
1
2
q
BP网络的标准学习算法
wih – 输入层与中间层的连接权值: who – 隐含层与输出层的连接权值: – 隐含层各神经元的阈值: bh bo – 输出层各神经元的阈值: k 1, 2, m – 样本数据个数: f() – 激活函数: 1 q – 误差函数: e (d o (k ) yoo (k ))2 2 o1
i 1 n
wih
xi (k )
BP网络的标准学习算法
1 q ( ( d o ( k ) yoo (k )) 2 ) e hoh (k ) 2 o1 hih (k ) hoh ( k ) hih ( k ) 1 q ( (d o (k ) f( yio (k ))) 2 ) hoh (k ) 2 o1 hoh (k ) hih (k )
, d q (k )
BP网络的标准学习算法
• 第三步,计算隐含层各神经元的输入和 输出
hih (k ) wih xi (k ) bhnΒιβλιοθήκη h 1, 2,,p
hoh (k ) f(hih (k ))
p
i 1
h 1,2,
o 1,2,
,p
q
yio (k ) whohoh (k ) bo
•前向计算
•反向计算 •迭代
选择网络结构
要达到足够的性能,需要多少层,每层要多 少个神经元?
3 g ( p) 1 sin p 2
–2p2
隐层神经元个数增加的效果:
收敛性 g(p) = 1 + sin(p), –2p2
收敛的全局最小
收敛到局部极小
网络确实可以逼近给定的函数, 但学习算法没有收敛 到使网络有良好逼近性能的网络参数.
( o (k )who ) f (hih (k ))
o 1
q
h (k )
BP网络的标准学习算法
• 第六步,利用输出层各神经元的 o (k ) 和 隐含层各神经元的输出来修正连接权 值 who (k )。 e who (k ) o (k )hoh (k ) who
人工神经网络算法
计算机科学与技术
191093 张希鹏
发展史
初始发展时期 (1940-1960)
研究主流是仿生学结构主义, 其动机是要用 硬件来模仿人脑的结构和功能. 低谷时期 (1960-1980)
1972年, Teuvo Kohonen和James Anderson分别独立 地提出了一种可以作为记忆器的新网络. 当时由于没有功能强大的数字计算机来做大量计算 是制约神经网络领域研究的一个重要原因.
h p
who
hoh (k )
1 q ( (do (k ) yoo (k )))2 e 2 o1 (k ) (d o (k ) yoo (k )) yoo yio yio (d o (k ) yoo (k ))f ( yio (k )) o (k )
BP网络的标准学习算法
• 第一步,网络初始化
– 给各连接权值分别赋一个区间(-1,1)内 的随机数,设定误差函数e,给定计算精度 值 和最大学习次数M。
• 第二步,随机选取第 个输入样本及对应期 望输出
d o ( k ) d1 ( k ), d 2 ( k ),
x (k ) x1(k ), x2 (k ), , xn (k )
即使反传算法收敛了, 我们也不能确保得到了一个最 优解. 可以采用不同的初始条件多试几次, 以保证得 到最优解. •如果要一个网络的推广性能好, 那么它所含参数的 个数应小于训练集中数据点的个数.
学习模拟
• 苹果 脆度 0.8 0.9 1
色泽 0.6 0.7 0.8 含水量 0.1 0.3 0.4
e
• 当误差对权值的偏导数 小于零时,权值调整量 为正,实际输出少于期 望输出,权值向增大方向 调整,使得实际输出与期 望输出的差减少。
who
e <0, who
此时Δwho>0
反传算法(BP算法) 训练数据: {p1,t1}, {p2,t2}, …, {pQ,tQ} 均方误差: E(eTe) = E((t – a)T(t – a)) 均方误差可由下式近似
• 梨子 脆度 色泽 0.6 0.2 0.3 0.1 0.2 0.7
含水量 0.4 0.9 1.0
通过学习样本数据认识这两种水 果
谢谢 !
N 1 ih
w h (k ) xi (k )
N ih
BP网络的标准学习算法
• 第八步,计算全局误差
1 2 E (d o (k ) yo (k )) 2m k 1 o1
• 第九步,判断网络误差是否满足要求。当误差 达到预设精度或学习次数大于设定的最大次数, 则结束算法。否则,选取下一个学习样本及对 应的期望输出,返回到第三步,进入下一轮学 习。
N 1 N who who o (k )hoh (k )
BP网络的标准学习算法
(k ) • 第七步,利用隐含层各神经元的 h和输 入层各神经元的输入修正连接权。
e e hih (k ) wih (k ) h (k ) xi (k ) wih hih (k ) wih w
• 正向传播:
– 输入样本---输入层---各隐层---输出层
• 判断是否转入反向传播阶段:
– 若输出层的实际输出与期望的输出(教师信号)不 符
• 误差反传
– 误差以某种形式在各层表示----修正各层单元 的权值
• 网络输出的误差减少到可接受的程度 进行到预先设定的学习次数为止
BP网络的标准学习算法
BP网络的标准学习算法
第五步,利用隐含层到输出层的连接权 值、输出层的 o (k )和隐含层的输出计算误 差函数对隐含层各神经元的偏导数 h (k )。