神经网络讲解及实例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
连接的权值:两个互连的神经元之间相互作用的强弱。
神经元的动作:
n
net wi xi i1
yf(ne) t
(xi,wiR)
输出函数 f:也称作用函数,非线性。
y
y
y
1
1
1
0θ
net
(a)
阈值型
net 0
(b)
S型
0
net
(c)
伪线性型
f 为阈值型函数时:ysgnn wixi
i1
设wn1 ,点积形式: ysgW nTX ()
* 正确判决的关键: 输出层每个神经元必须有一组合适的权值。
* 感知器采用监督学习算法得到权值;
* 权值更新方法:δ学习规则。
算法描述
第一步:设置初始权值wij(1),w(n+1)j(1)为第j个神经元的阈值。 第二步:输入新的模式向量。
第三步:计算神经元的实际输出。
设第k次输入的模式向量为Xk,与第j个神经元相连的权向量为 W j( k ) [ w 1 j,w 2 j, ,w ( n 1 )j] T
第三阶段:复兴期,从1982年到1986年。 Hopfield的两篇论文提出新的神经网络模型; 《并行分布处理》出版,提出反向传播算法。
第四个阶段:1987年至今,趋于平稳。 回顾性综述文章“神经网络与人工智能” 。
人工神经网络的基本特点
(1)可处理非线性
(2)并行结构.对神经网络中的每一个神经元来说;其 运算都是同样的.这样的结构最便于计算机并行处理.
Ep
wjk
其中,Ep Ep nek t wjk nek t wjk
由 netk
j
wjk y j
式得到: nek t wjk wjk
j
wjkypjypj
令 pkE p nk e,t可得
输出单元的误差: p k( d p ky p)y kp( 1 k y p)k
输出单元的修正增量:pj kpy kp j
典型的权值修正方法: Hebb学习规则、δ误差修正学习
1.Hebb学习规则 如果神经网络中某一神经元与另一直接与其相连的神经
元同时处于兴奋状态,那么这两个神经元之间的连接强度应 该加强。
x1
w1j
x2 w2j
┇┇
i yi
xi
wij
j yj
┇
┇
┇
wnj
xn
神经元间的连接
w i( j t 1 ) w i( j t) [ y j( t) y i( t)]
对于与输出层相邻的隐层中的神经元j和该隐层前低一层 中的神经元i :
p j yp(1 j yp)j w pkjk
k
Δpwij y pjpj
输出层中神经元输出的误差反向传播到前面各层,对各 层之间的权值进行修正。
BP算法建模步骤 : 第一步:对权值和神经元阈值初始化:(0,1)上分布的随机数。
触角长 类别 1.14 Apf 1.18 Apf 1.20 Apf 1.24 Af 1.26 Apf 1.28 Apf 1.30 Apf 1.36 Af
目标值 0.9 0.9 0.9 0.1 0.9 0.9 0.9 0.1
翼长 1.64 1.82 1.90 1.70 1.82 1.82 2.08
优点: (1) 较强的容错性;
(2) 很强的自适应学习能力; (3) 可将识别和若干预处理融为一体进行;
(4) 并行工作方式; (5) 对信息采用分布式记忆,具有鲁棒性。 四个发展阶段: 第一阶段:启蒙期,始于1943年。
形式神经元的数学模型提出。
第二阶段:低潮期,始于1969年。 《感知器》(Perceptions)一书出版,指出局限性 。
第j个神经元的实际输出为
yj(k)f[W jT(k)X k] 1jM
第四步:修正权值。
W j( k 1 ) W j( k ) [ d j y j( k )X k ]
dj:第j个神经元的期望输出。
1, dj 1,
Xk j Xk j
1jM
第五步:转到第二步。
当全部学习样本都能正确分类时,学习过程结束。
经验证明,当η随k的增加而减小时,算法一定收敛。
1.3.2 BP网络
目前,在人工神经网络的实际应用中,绝大部分的神经 网络模型是采用BP网络和它的变化形式,它也是前馈网络 的核心部分,并体现了人工神经网络最精华的部分。
BP网络主要用于 1)函数逼近一个特定的输出向量将它与输入向量联 系起来。 3)分类:把输入向量 以所定义的合适方式进行分类。 4)数据压缩:减少输出向量维数以便于传输或存储。
* 存在局部极小值问题; * 算法收敛速度慢; * 隐层单元数目的选取无一般指导原则; * 新加入的学习样本影响已学完样本的学习结果。
开始
初始化:给出训练 样本集,对阈值及 各连接权值赋初值
输入一个 训练样本p
前向传播,计算各 层节点的输出:
net j wijoi
i
Oj f (net j )
设输入模式向量,X [x 1,x2, ,xn]T ,共M类。
输出层第j个神经元对应第j个模式类,
n
输出为 yj f( wijxi j)
i1
θj:第j个神经元的阈值;
yi
wij:输入模式第i个分量与
输出层第j个神经元间的连接权。
x1
w1j
x2 w2j
┇┇
xi
wij
┇
┇
wnj
j yj
输出单元对所有输入数值加权求和,经阈值型输出函数
1.3 前馈神经网络
1.3.1 感知器 感知器(Perceptron):F.Rosenblatt于1957年提出。
y1
…
yM
…
…
x1
x2
…
xn
感知器结构示意图
结构特点:
* 双层(输入层、输出层); * 两层单元之间为全互连; * 连接权值可调。
* 输出层神经元个数等于类 别数(两类问题时输出层 为一个神经元)。
产生一组输出模式。
令 j w(n1)j 。取
W j [w 1 j,w 2 j, ,w (n 1 )j]T X [x 1 ,x 2 , ,x n ,1 ]T
n1
有
yj f( wijxi)f(W jTX)
i1
M类问题判决规则( 神经元的输出函数) 为
yj f(WjTX)11,,
若Xj 若Xj
1jM
(3)具有学习和记忆能力.一个神经网络可以通过训练 学习判别事物;学习某一种规律或规则.神经网络可以 用于联想记忆.
(4)对数据的可容性大.在神经网络中可以同时使用量化 数据和质量数据(如好、中、差、及格、不及格等).
(5)神经网络可以用大规模集成电路来实现.如美国用 256 个神经元组成的神经网络组成硬件用于识别手写体的邮政编 码.
计算样本p
的误差ep
ep
1 2
k
( yˆk yk )2
e满足要求?
Y
N
计算输出层各节点的δk,并调节 相应的连接权值
f '(netk ) Yk (1 Yk ) k ( yˆk yk ) f '(netk ) wjk k Oj wjk (t 1) wjk (t) wjk
所有e满足要求? N
wij(t+1):修正一次后的某一权值; η:学习因子,表示学习速率的比例常数;
yj(t),yi(t):分别表示t时刻第j个和第i个神经元的状态(输出)。
由 yi(t)xi(t)有:
w i( j t 1 ) w i( j t) [y j( t) x i( t)]
2. δ学习规则
(1)选择一组初始权值wij(1); (2)计算某一输入模式对应的实际输出与期望输出的误差; (3)更新权值,阈值可视为输入恒为(-1)的一个权值;
Y
结束
反向传播,计算隐层各节点的 δk,并调节相应的连接权值
f '(netk ) Ok (1 Ok )
k f '(netk ) mwkm
m
wjk k Oj
wjk (t 1) wjk (t) wjk
输入一个下一个训练样本p
开始 连接权及阀值初始化
学习模式对提供给网络 计算中间层各单元的输入、输出 计算输出层各单元的输入、输出 计算输出层各单元的一般化误差
w i( t j 1 ) w i( t j) [ d j y j( t ) x i( ] t )
式中,η:学习因子; dj,yj(t):第j个神经元的期望输出与实际输出; xi(t):第j个神经元的第i个输入。
(4)返回 (2) ,直到对所有训练模式网络输出均能满足要求。
神经网络的学习体现在:权值变化;网络结构变化。
人工神经网络
(Artificial Neural Netwroks -----ANN)
1.1 人工神经网络发展概况
人工神经网络(Artificial Neural Networks,ANN): 简 称神经网络。
模拟人脑神经细胞的工作特点: * 单元间的广泛连接; * 并行分布式的信息存贮与处理; * 自适应的学习能力等。
BP网络:采用BP算法(Back-Propagation Training Algorithm)
的多层感知器。
误差反向传播算法
认识最清楚、应用最广泛。
性能优势:识别、分类 1.多层感知器
输出层
y1
…
yM
…
针对感知器学习 …
算法的局限性:模式 第 二 隐
类必须线性可分。
层
…
结构:
第一隐 层
前馈网络;
1.2 神经网络基本概念
1.2.1 生物神经元 1.生物神经元的结构
细胞体、树突、轴突和突触。
来自其它神经元轴突的神经末梢
树突 细胞体 细胞核
轴突
突触 神经末梢
2.生物神经元的工作机制 兴奋和抑制两种状态。 抑制状态的神经元 由树突和细胞体 接收传来的兴奋电位
输入兴奋总 量超过阈值
神经元被激发 进入兴奋状态
wij:神经元i与j之间的连接权; f(∙):神经元的输出函数。
y1
…
yM
…
j
…
i
…
…
x1
x2
…
xn
S型输出函数:
yj
1
0.5
netj
0
θj
yj f(nej)t1e(n1ejtj) h0 θj:神经元阈值; h0:修改输出函数形状的参数。
设:输出层中第k个神经元的实际输出为yk,输入为netk;
与输出层相邻的隐层中任一神经元j的输出为yj。
若j是隐层神经元,则:j yj(1yj) kw jk
k
第五步:转到第二步,循环至权值稳定为止。
改进的权值修正:
w i( t j 1 ) w i( t j ) j y i [ w i( t j ) w i( t j 1 )]
α:平滑因子,0<α<1。
—— 收敛快、权值平滑变化
BP算法存在问题:
netk wjk yj
j
yk f(nek)t
对输入模式Xp,若输出层中第k个神经元的期望输出为
dpk,实际输出为ypk。输出层的输出方差 :
Ep
1 2
k
(dpkypk)2
若输入N个模式,网络的系统均方差为:
E 1 2N p
(dpkypk)2
k
1 N
Ep
p
当输入Xp时,wjk的修正增量:Δpwjk
式中,W [w 1 , ,w n ,w n 1 ]T X[x1, ,xn,1]T
1.2.3 神经网络的学习 学习: 神经网络的最重要特征之一。
实质: 同一个训练集的样本输入输出模式反复作用于网络,网
络按照一定的训练规则自动调节神经元之间的连接强度或拓 扑结构,使实际输出满足期望的要求或者趋于稳定。
产生输出脉冲
由突触传递给其它神经元
1.2.2 人工神经元及神经网络 人工神经元:生物神经元的简化模拟。
n维输入向量X
接收的信息
(其它神经元的输 出)
x1
w1
x2
w2
┇
┇
xn
wn
互连强度/权值 输出函数
∑ f
y
输出
作比较 的阈值
图8.2 人工神经元模型
人工神经元间的互连:信息传递路径轴突-突触-树突的简化;
输入层
…
中间层为一层或多层处理单元;
x1
x2
…
xn
只允许一层连接权可调。
2.BP算法
两个 正向传播阶段:逐层状态更新 阶段 反向传播阶段:误差
BP算法的学习过程
设:某层任一神经元j的 输入为netj,输出为yj; 相邻低一层中任一 神经元i的输出为yi。
nej t wijyi
i
yj f(nej)t
计算中间层各单元的一般化误差
调整中间层至输出层之间的连接 权及输出层各单元的输出阀值
调整输入层至中间层之间的连接 权及中间层各单元的输出阀值
更新学习输入模式
否
全部模式训练完?
是 更新学习次数
否
误差<e或学习次数>N
是 学习结束
3.应用之例:蚊子的分类
• 已知的两类蚊子的数据如表1:
翼长 1.78 1.96 1.86 1.72 2.00 2.00 1.96 1.74
第二步:输入样本,指定输出层各神经元的希望输出值。
1, dj 1,
Xj Xj
j1,2, ,M
第三步:依次计算每层神经元的实际输出,直到输出层。
第四步:从输出层开始修正每个权值,直到第一隐层。
w i( jt 1 ) w i( jt) jyi 01
若j是输出层神经元,则: jyj(1 yj)d (j yj)