神经网络算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
神经网络算法
分类及概念:
生物神经网络
生物体的每个神经元有数以千计的通道同其它神经元广泛相互连接,形成复杂的生物神经网络。
人工神经网络
以数学和物理方法以及信息处理的角度对人脑神经网络进行抽象,并建立某种简化模型,就称为人工神经网络(Artificial Neural Network,缩写ANN)。
·神经网络是由多个非常简单的处理单元彼此按某种方式相互连接而形成的计算系统,该系统是靠其状态对外部输入信息的动态响应来处理信息的。
·人工神经网络是一个由许多简单的并行工作的处理单元组成的系统,其功能取决于网络的结构、连接强度以及各单元的处理方式
·人工神经网络是一种旨在模仿人脑结构及其功能的信息处理系统。
BP神经网络
一种按误差逆传播算法训练的多层前馈网络。
BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。
它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。
BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
神经网络的基本特征:
神经网络的基本功能:
输入的样本经过自动提取,经过非线性映射规则处理输出需要的样本。
分类与识别功能:
优化计算功能:
神经网络的应用领域:医学领域
1.检测数据分析
2.生物活性研究
3.医学专家系统
神经网络建模:
思考方法:用生物神经网络类比人工神经网络
生物神经元在结构上由四部分组成
1.胞体
2.树突
3.轴突
4.突触
神经元的状态分为:静息兴奋抑制
信息的传递过程:
电信号沿着轴突到突触前膜,期间,突触小泡释放神经递质(兴奋性或抑制性)到突触间隙,作用于突触后膜的受体,使下一个神经元兴奋或抑制。
从而完成此次信号的传递。
PS:可能有多个神经元同时作用于一个神经元。
生物神经元的信息整合度:
同一时刻多个神经元所产生的刺激所引起的膜电位变化,大致等于个单独刺激引起膜电位点位的代数和。
各次的兴奋传递到突触后膜的时间不同,总的动作电位为该段时间的总和。
神经元之间突触的连接方式和连接强度不尽相同。
类比而来看:决定人工神经网络整体性能的三要素为:
1.节点本身的信息处理能力————>数学模型
2.节点之间的连接(突触间隙)————>拓扑结构;
3.节点之间相互连接的强度————>通过学习调节
该模型的六点假设:
1.每个神经元都是一个多输入单输出的信息处理单元(类似函数中的映射)
2.神经元传递的信息分为兴奋性和抑制性
3.神经元具有空间整合特性和阈(yu)特性;
4.神经元信息传递具有时间滞留(突触间的延搁);
5.一般忽略时间滞留和不应期;
6.神经元本身是非时变的,是本身的一种特性,一般不随其他变化而变化(突触延搁与突触强度为常数)
假设解释:
1.多入单出
设有n个神经元作用于另一个神经元j,则,输出的信号表示为Oj
2.输入加权
同假设一,
只是加了权值wij
其中,权值的大小是神经元之间连接的
强度,权值的正负表示神经递质是兴奋或抑制。
3.加权求和
必须对输入的信息进行整合,以确定输入信
息的总效果,才有意义。
这里的求和类似于生物神经元的膜电位变化的最终表现。
神经元的兴奋与抑制或保持静息取决于一个阈值,当该‘和’大于阈值时,则兴奋;小于阈值时,则不兴奋,保持静息;当权值小于零时,表现为抑制。
4.输入输出函数
当介入一个非线性函数时,处理起来就类似于人工神经网络。
数学公式抽象(函数):
}
)]({[
)(j n
1
i ij i ij j T t x w f t o --=∑=τ
X i (t) 表示在t 时刻神经元j 接受来自神经元i 的信息输入 Oj(t) 表示t 时刻神经元级的信息输出 t 信息从突触前膜到突触后膜所需要的时间
τij — 突触延搁
Tj ——阈值 Wij ——权值 f ()非线性函数
解释:综合输出值Oj(t)等于:各个神经元i 与突触后膜的权值乘以神经元i 的信息输入值减去阈值,再进行n 个神经元求和。
推广1:当延搁设为单位时间时有
}
)]({[
)(j
n
1
i i
ij j T t x w f 1t o -=+∑=
1.i (1,2,3........n )体现多输入单输出
2.wij 有正负体现突触的兴奋或抑制
3.Tj 体现阈值
4.Oj (t ) 表示净输入
推广2:只考虑空间整合 1
'()()n
ij
i i net j t w
x t ==
∑
Wij 与时间无关,体现“非时变”
数学模型:
简便起见,推广2式中的(t )通常省略。
该式子可以表示为权重向量Wj 与输入向量X 的数量积WiX , 其中,Wj 与X 均为列向量;
于是就有:Wj=(w1,w2,......wn)T, X=(x1,x2......xn)T
如果对应于推广1中的公式
就有:
T
(1){}j oj t f w X T +=-
若令X 0=-1(上式为延搁为单位时间),W 0=Tj ;
于是就有:净输入与阈值只差为net’j=Wj T X ;
综上所述:
X
W T j n
i i ij j j j x w net T t ne ==
=-'∑
=
注意:这里的i 时从0开始取,因为式中包含了阈值。
所以该模型可以简化为:
()() T
j j oj f
net f W X
==
转移函数Array各种数学模型的不同
主要取决于非线性函
数的不同。
分类
网络拓扑结构类型
(输入层到输出层之
间无连接)
<--------输出层
<-------中间层(隐层)
<-------输入层
网络拓扑结构类型(输入层到输出层之间有连接)
输出层的信息可以作为一个输入层再次中间层(隐层)
中间层之间有联系
全互联型
与输入层和输出层之间有连接类型不同的是:全互联型的输出层可以作为任意输入单元的输入信息
局部互联型
按流向分类:
前馈:信息处理的方向是从输入层---->中间层---->输出层(如上图中‘输入层与输出层无连接’类型)
反馈:所有节点都具有信息处理功能,且每个节点既可以从外界接受信息输入,又可以向外界输出(如全互联型)
神经网络的学习
通过不断改变网络连接权值以及拓扑结构,使得网络的输出不断接近期望的值。
学习类型:
1.有导师
2.无导师
3.死记式学习
学习过程:
一.适用于‘纯前馈,无导师的神经网络’
-1
x 1 X ┆ x j
┆
x n
)()]()()([t t d ,t ,t r j j j X X W W η=∆)
()]()()([)()(t t d ,t ,t r t 1t j j j j X X W W W η+=+
其中:
体现了权值改变量与学习效率和f()之间的关系
于是就有:
i
)(x f w T
j ij X W η=Λ
二.适用于导师学习(只适用于二进制神经元)
j
j -o d r =
)
(X W T
j f r =
其中:
()
⎪⎩⎪⎨⎧<≥===0 1-0 1)(sgn X W X W X W X W T
j T
j T
j T j j f d
同(一)也就有:
i
)](x sgn -d [w T
j j ij X W ηΛ=
当实际输出达到期望误差范围时,权值不需要调整; 由d j 可知:X W η2±=Λj
(三)连续感知器学习规则
)
()('j j j net f -o d r =
i
j j j ij x net f -o d w )()('η=Λ
BP 传播模型(多层前馈神经网络)
模式结构图如下:
学习过程:
边修正误差系数边向后传播的过程分为正向传播和反向传播。
正向传播:略
反向传播:如果得不到实际的输出,则转入反向传播过程,将误差信号沿原来的连接线路返回,通过修改各层神经元的权值,逐次地向输入层传播进行计算,再经过正向传播过程。
这两个过程的反复运用,逐渐使得误差信号达到期望范围。
BP算法如下:
其中,l为学习率;oi为单元i的输出;oj为单元j的输出;Tj为输出层单元j的期望输出;Errj为与隐藏层单元j的误差加权和;wjk为单元j与单元k相连的有向加权边的权重;为改变单元j活性的偏量。
输入:训练样本S,学习率l,多层前馈网络。
输出:一个训练的、对样本分类的神经网络。
方法:
(1) 初始化网络的权和阈值 (2) WHILE 终止条件满足{ (3) FOR S 中的每个训练样本X{ (4) FOR 隐藏或输出层每个单元j{( (5)
ij j i j
i
I w o θ=+∑ ; //相对于前一层计算单元j 的净输入
(6)
1(1)
j I
j o e -=
+ ; // 计算每个单元j 的输出
(7) FOR 输出层每个单元 (8)
(1)()
j j j j j Err o o T o =-- ; //计算误差
(9) FOR 由最后一个到第一个隐藏层,对于隐藏层每个单元j
(10)
(1)j j j k jk
k
Err o o Err w =-∑ ; //计算关于下一个较高层k 的误差
(11) FOR 网络中的每一个权
ij
w
(12)
ij ij j i
w w l Err o =+⋅ ;
(13) FOR 网络中每个单元偏量j
θ
(14)
j j j
l Err θθ=+⋅;
定义神经网络拓扑
神经网络在开始训练之前,必须确定输人层的单元数、层数,每个隐藏层的
单元数和输出层的单元数,以确定网络拓扑结构。
神经网络在开始训练之前,必须确定输人层的单元数、层数,每个隐藏层的单元数和输出层的单元数,以确定网络拓扑结构。
1110
(),,log 2
n
n n
i
i k c n a n =<=+=∑
其中,k 为样本数,n 为输入结点数,m 为输出样本,n1为隐藏层结点数。