人工神经网络及其应用实例解读
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
人工神经网络及其应用实例人工神经网络是在现代神经科学研究成果基础上提出的一种抽
象数学模型,它以某种简化、抽象和模拟的方式,反映了大脑功能的
若干基本特征,但并非其逼真的描写。
人工神经网络可概括定义为:由大量简单元件广泛互连而成的复
杂网络系统。所谓简单元件,即人工神经元,是指它可用电子元件、
光学元件等模拟,仅起简单的输入输出变换y = σ (x)的作用。下图是 3 中常用的元件类型:
线性元件:y = 0.3x,可用线性代数法分析,但是功能有限,现在已不太常用。
2
1.5
1
0.5
-0.5
-1
-1.5
-2
-6 -4 -2 0 2 4 6 连续型非线性元件:y = tanh(x),便于解析性计算及器件模拟,是当前研究的主要元件之一。
离散型非线性元件: y = ⎨
2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -6
-4
-2
2
4
6
⎧1, x ≥ 0 ⎩-1, x < 0
,便于理论分析及阈值逻辑器件 实现,也是当前研究的主要元件之一。
2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -6
-4
-2
2
4
6
每一神经元有许多输入、输出键,各神经元之间以连接键(又称
突触)相连,它决定神经元之间的连接强度(突触强度)和性质(兴
奋或抑制),即决定神经元间相互作用的强弱和正负,共有三种类型:
兴奋型连接、抑制型连接、无连接。这样,N个神经元(一般N很大)构成一个相互影响的复杂网络系统,通过调整网络参数,可使人工神
经网络具有所需要的特定功能,即学习、训练或自组织过程。一个简
单的人工神经网络结构图如下所示:
上图中,左侧为输入层(输入层的神经元个数由输入的维度决定),右侧为输出层(输出层的神经元个数由输出的维度决定),输入层与
输出层之间即为隐层。
输入层节点上的神经元接收外部环境的输入模式,并由它传递给
相连隐层上的各个神经元。隐层是神经元网络的内部处理层,这些神
经元在网络内部构成中间层,不直接与外部输入、输出打交道。人工
神经网络所具有的模式变换能力主要体现在隐层的神经元上。输出层
用于产生神经网络的输出模式。
多层神经网络结构中有代表性的有前向网络(BP网络)模型、
多层侧抑制神经网络模型和带有反馈的多层神经网络模型等。本文主要探讨前向网络模型。
多层前向神经网络不具有侧抑制和反馈的连接方式,即不具有本层之间或指向前一层的连接弧,只有指向下一层的连接弧。代表是BP神经网络:输入模式由输入层进入网络,经中间各隐层的顺序变换,最后由输出层产生一个输出模式,如下图所示:
输入层隐层输出层多层前向神经网络由隐层神经元的非线性处理衍生它的能力,这个任务的关键在于将神经元的加权输入非线性转换成一个输出的非
线性激励函数。下图给出了一个接收n个输入x1, x2 , , x n的神经元:
b
1
x1 w1
w2 ∑ σ y
x2
w n
x n
y = σ (∑ w j j + b )
神经元的输出由下式给出:
n
x j =1
这里输入的加权和(括号内部分)由一个非线性函数传递, b 表
示与偏差输入相关的权值, w j 表示与第 j 个输入相关的权值。
使用最广泛的函数是 S 形函数,其曲线家族包括对数函数和双曲
正切函数,这些都可用来对人口动态系统、经济学系统等建模。另外
所用的其他函数有高斯函数、正弦函数、反正切函数,在此不一一展
开介绍,本文主要使用的激励函数是对数函数,函数表达式为:
y = L (u ) =
函数曲线如下图所示:
1
0.8
0.6
0.4
0.2
1 1 + e -u
-0.2 -10
-8
-6
-4
-2
2
4
6
8
10
对于有限输入量,对数函数输出范围为 y ∈ (0,1)。在输入为 u = 0 时,
输出值为中间值 y = 0.5。输出在 u = 0 附近随着输入的增加以相对快的
= t -
1 + e
∂ε ∂u e -u
∂ε ∂u e -u
∆w = -β ⋅ = β ⋅ E ⋅ ⋅ x
∆b = -β ⋅ = β ⋅ E ⋅
速率增加并非常慢地到达上限。对于 u < 0 ,输出起初减少得很快,然
后随着下限的接近将会变慢。
训练神经元的规则有很多种,这里首先介绍利用 delta 规则的学
习,神经元选择为一个单输入单输出的简单情形,数学描述如下:
u = wx + b , y =
1 1 + e -u
该神经元具有一个输入 x ,权重为 w ,偏差输入为 b ,目标输出
为 t ,预报输出为 y 。则预报误差为:
E = t - y = t -
1 1
1 + e -u 1 + e - wx -b
为消除当误差在整个输入模式上求和时引起的误差符号问题,在
delta 规则里使用的误差指示是平方误差,定义为:
1 1
2 2
1 - wx -b
)2
根据 delta 规则,最优权值(使平方误差最小)可以在训练过程
中从初始权值出发,沿负梯度方向下降得到。将平方误差对 w , b (神
经元的可调整参数)进行微分,得:
∂ε ∂u
= -E ⋅ e -u (1 + e -u )2
∂ε ∂w ∂ε ∂b = ⋅ = - E ⋅ ⋅ x ∂u ∂w (1 + e -u )2 = ⋅ = - E ⋅
∂u ∂b (1 + e -u )2
根据 delta 原则,权值改变应与误差梯度的负值成比例,引入学
习率 β ,每次迭代中的权值改变可表示为:
∂ε e -u
∂w (1 + e -u )2 ∂ε
∂b e -u (1 + e -u )2