1、目录1.1.神经网络的神经网络的来源来源2.ANN2.ANN初识初识3.BP3.BP神经网神经网络络4.BP4.BP神经网神经网络与应用络与应用BPBP神经网络神经网络人工神经网络来源1 1 大脑可视作为大脑可视作为10的的12次方个神经元组成的神次方个神经元组成的神经网络。经网络。 图 神经元的解剖图为什么计算机暂时还赶不上人脑?因为人与动物神经网络足够复杂 一个神经元一般会与一个神经元一般会与100到到10000个神经元连个神经元连接,所构成的网络是一个巨复杂网络!接,所构成的网络是一个巨复杂网络!并行的并行的运作与存贮同运作与存贮同时进行时进行有自我学习有自我学习从动物神经网络到人工神经
2、网络v神经元的数学模型 图 神经元的数学模型 X 为输入,为输入,W为权值,为权值,y为输出,为输出,b为阈值,为阈值,f(*)为激活函数为激活函数从动物神经网络到人工神经网络v神经元的数学公式X 为输入,为输入,W为权值,为权值,y为输出,为输出,b为阈值,为阈值,f(*)为激活函数为激活函数输入值求和:输出值计算:从动物神经网络到人工神经网络 激活函数执行对该神经元所获得的网络输激活函数执行对该神经元所获得的网络输入的变换,也可以称为激励函数、活化函入的变换,也可以称为激励函数、活化函数:数: o=f(net) 1、线性函数(、线性函数(Liner Function) f(net)=k*n
3、et+c netooc从动物神经网络到人工神经网络if netf(net)=-if net 、均为非负实数,均为非负实数,为阈值为阈值二值形式:二值形式:1if netf(net)=0if net 双极形式:双极形式:1if netf(net)=-1if net 2、阈值函数(Threshold Function)阶跃函数从动物神经网络到人工神经网络人工神经网络初识2 2人工神经网络(ANN)v众多神经元之间组合形成神经网络,例如下图的含有中间层(隐层)的网络 人工神经网络(ANN)基本神经网络的拓扑结构基本神经网络的拓扑结构b1bia1c1cqcjahbpanWp1WiqWpjW1qW1jW
4、ijV11W11WpqWi1Vh1VhiV1iVn1VniV1pVhpVnpkjckqckhakna1ka输出层输出层LC隐含层隐含层LB输入层输入层LAWVklc人工神经网络(ANN)分类从网络性能角度,可分为连续型与从网络性能角度,可分为连续型与离散型网络、确定性与随机性网络离散型网络、确定性与随机性网络从网络结构角度,可分为前向网络从网络结构角度,可分为前向网络与反馈网络与反馈网络从学习方法角度,可分为有导师学从学习方法角度,可分为有导师学习网络和无导师学习网络习网络和无导师学习网络按连接突触性质,可分为一阶线性按连接突触性质,可分为一阶线性关联网络和高阶非线性关联网络关联网络和高阶非线
5、性关联网络 BP神经网络3 3何为BP神经网络 BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆误差逆传播传播算法训练的多层前馈多层前馈网络网络。是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。BP神经网络核心思想 BP算法由数据流的前向计算(正向传播)前向计算(正向传播)和误差信号的反向传播误差信号的反向传播两个过程构成。BP网络常用传递函数:BP网络的传递函数有多种。Log-sigmoid型函数的输入值可取任意值,输出值在0和1
6、之间;tan-sigmod型传递函数tansig的输入值可取任意值,输出值在-1到+1之间;线性传递函数purelin的输入与输出值可取任意值。BP网络通常有一个或多个隐层,该层中的神经元均采用sigmoid型传递函数,输出层的神经元则采用线性传递函数,整个网络的输出可以取任意值。 BP网络常用传递函数:netenetfo11)(BP网络的网络的传递函数:传递函数:权值和阈值如何确定、学习?BP神经网络的学习 学习过程: 神经网络在外界输入样本的刺激下不断改变网络连接的权值,阈值。以使网络的输出不断地接近期望的输出。 学习的本质: 对各连接权值、阈值的动态调整 学习规则: 权值、阈值调整规则,
7、即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则BP神经网络的学习 网络结构 输入层有n个神经元,隐含层有q个神经元, 输出层有m个神经元BP神经网络的学习 输入层与中间层的连接权值: 隐含层与输出层的连接权值: 隐含层各神经元的阈值: 输出层各神经元的阈值: 样本数据个数: 激活函数: ihwf( ) howhb1,2,kmobBP神经网络的学习 (一) 误差函数的确定网络学习误差函数分为两类:(t为预期值,y为输出值)A、网络对样本逐个的顺序输入而不断学习,是基于单个样本误差e的最小值进行。B、第二是待样本全部输入后,基于E的最小值来完成权值空间的梯度搜索,即批处理过程。BP
8、神经网络的学习 (二)误差梯度下降法梯度下降的基本原理: 梯度下降法又称最速下降法。函数J(a)在某点ak的梯度是一个向量,其方向是J(a)增长最快的方向。显然,负梯度方向是J(a)减少最快的方向。 在梯度下降法中,求某函数极大值时,沿着梯度方向走,可以最快达到极大点;反之,沿着负梯度方向走,则最快地达到极小点。 BP神经网络的学习 (二)误差梯度下降法求函数J(a)极小值的问题,可以选择任意初始点a0,从a0出发沿着负梯度方向走,可使得J(a)下降最快。s(0):点a0的搜索方向。BP神经网络的学习 (三) BP算法调整,输出层的权值调整直观解释直观解释 当误差对权值的偏导数大于零时,权值调
9、整量为负,实际输出大于期望输出,权值向减少方向调整,使得实际输出与期望输出的差减少。当误差对权值的偏导数小于零时,权值调整量为正,实际输出少于期望输出,权值向增大方向调整,使得实际输出与期望输出的差减少。BP神经网络的学习 (三) BP算法调整,输出层的权值调整式中: 学习率最终形式为:BP神经网络的学习 (三) BP算法调整,隐藏层的权值调整隐层各神经元的权值调整公式为:同理,输出层、隐藏层的阈值调整就是误差函数对阈值的偏导函数。BP学习算法的步骤:Step1 选定学习的数据,p=1,P, 随机确定初始权矩阵W(0)Step2 用(10)式反向修正,直到用完所有学习数据. 用学习数据计算网络
10、输出Step3 ),(),(),()(1)()1()(jajiwjiwplplplpl,.,1Ll BP网络设计:1. 输入层和输出层的设计 输入层和输出层节点点数的选择由应用要求决定。输入层节点数一般等于要训练的样本矢量维数,可以是原始数据的维数或提取的特征维数;输出层节点数在分类网络中去类别数m或lbm,在拟合网络中取要拟合的函数输出空间维数。2. 隐含层结构设计(1)隐含层数设计 1989年,Robert Hecht-Nielsen证明了对于任何闭区间内的一个连续函数都可以用一个隐含层的BP网络来逼近。因而,一个3层的BP网络可以完成任意的n维到m维的映射。BP网络设计:BP神经网络与分
11、类(应用)4 4人工神经网络人工神经网络(Artificial Neuron Nets=ANN) 例 1981年生物学家格若根(W Grogan)和维什(WWirth)发现了两类蚊子(或飞蠓midges)他们测量了这两类蚊子每个个体的翼长和触角长,数据如下:翼长 触角长 类别 1.64 1.38 Af 1.82 1.38 Af 1.90 1.38 Af 1.70 1.40 Af 1.82 1.48 Af 1.82 1.54 Af 2.08 1.56 Af翼长 触角长 类别1.78 1.14 Apf1.96 1.18 Apf1.86 1.20 Apf1.72 1.24 Af2.00 1.26 A
12、pf2.00 1.28 Apf1.96 1.30 Apf1.74 1.36 Af 问:如果抓到三只新的蚊子,它们的触角长和翼长分别为(l.24,1.80); (l.28,1.84);(1.40,2.04)问它们应分别属于哪一个种类? 如果如下图那么直观的分清,则问题将会很容易解决如果如下图那么直观的分清,则问题将会很容易解决 新思路:将问题看作一个系统,飞蠓的数据作为输入,飞蠓的类型作为输出,研究输入与输出的关系。但是,如果图是下面这样的话:v输入数据有15个,即 , p=1,15; j=1, 2; 对应15个输出。v建模:(输入层,中间层,输出层,每层的元素应取多少个?)v建立神经网络v规定
13、目标为: 当t(1)=0.9 时表示属于Apf类,t(2)=0.1表示属于Af类。v设两个权重系数矩阵为:)3 ,2()2,2()1 ,2()3 , 1()2, 1()1 , 1(1111111wwwwwwW)3 , 1()2, 1()1 , 1(2222wwwW)()3 ,(jjwii为阈值 其中(1)随机给出两个权矩阵的初值;例如用MATLAB软件时可以用以下语句: 令p=0具体算法如下:具体算法如下: )0(1W=rand(2,3); )0(2W=rand(1,3); (2) 根据输入数据利用公式算出网络的输出 3101010101131010101011)(), 2() 3() 3 ,
14、 2()2()2 , 2() 1 () 1 , 2()2()(), 1 () 3() 3 , 1 ()2()2 , 1 () 1 () 1 , 1 () 1 (jjjajwawawawujajwawawawu)()(11iufia)(exp(111iu=2, 1i, 1) 3(1a)1 (exp(11) 1 ()(), 1 () 1 (2231122uajajwuj取取(3)计算 xexf11)(因为 所以 2)1 ()(xxeexf)1 ()1 () 1 () 1 (222ufat2222)1 (exp(1/()1 (exp()1 () 1 (uuat(4)取 (或其他正数,可调整大小) 1
15、 . 0)()1(1ip(5) 计算 和 :),()1(1jiWp)()1(1ip222)1(2)1(2)1 (exp(1/()1 (exp(), 1 () 1 (uuiWpp)()(),(),() 1(0) 1(1)(1) 1(1jaijiWjiWppppj=1,2,3, i=1,2,3, 计算 j=1,2,3 ), 1()1(2jWP )() 1 (), 1 (), 1 () 1(1) 1(2)(2) 1(2jajWjWppppj=1,2,3v(6) p=p+1,转(2) 注:仅计算一圈(p=1,2,15)是不够的,直到当各权重变化很小时停止,本例中,共计算了147圈,迭代了2205次。
16、最后结果是:2764. 02875. 05787. 05765. 05976. 75921. 51W9829. 34838. 04075. 82Wv即网络模型的解为: 2764. 0)2(2875. 0) 1 (5787. 0)2(5765. 0)2(5976. 7) 1 (5921. 5) 1 (001001aauaau)()(11iufia)(exp(111iu2 , 1i=)1 (exp(11) 1 (9829. 3)2(4838. 0) 1 (4075. 8) 1 (22112uaaauBP网络的局限性:u 隐含层节点个数没有理论依据隐含层节点个数没有理论依据u激活函数一般使用激活函数
17、一般使用S型函数没有理论依据型函数没有理论依据u最速下降法只是针对局部而言,对整体来说却不一定最最速下降法只是针对局部而言,对整体来说却不一定最速下降方向速下降方向u学习速率采用确定值,一旦太大可能导致学习过程振荡,学习速率采用确定值,一旦太大可能导致学习过程振荡,太小会造成学习的周期过长太小会造成学习的周期过长u存在学习迭代次数存在学习迭代次数u初试权值的选取较为敏感初试权值的选取较为敏感u网络结构选择不能统一网络结构选择不能统一BP算法的改进:u利用动量法改进利用动量法改进BP算法算法 将上一次权值调整量的一部分迭加到按本次误差计算所得的权值调整量上,作为本次的实际权值调整量u自适应调整学习自适应调整学习速率速率 动态的学习速率u动量动量-自适应学习速率调整自适应学习速率调整算法算法uL-M学习学习规则规则 速度更快,但需要存贮空间巨大谢谢Thanks