《第7章人工神经网络.ppt》由会员分享,可在线阅读,更多相关《第7章人工神经网络.ppt(28页珍藏版)》请在优知文库上搜索。
1、第第7 7章章 人工神经网络人工神经网络BP网络及学习过程网络及学习过程BP网络结构设计网络结构设计分类识别举例分类识别举例BPBP网络及学习过程网络及学习过程 一一.人工神经网络人工神经网络 1.生物神经元与人工神经元生物神经元与人工神经元人脑的结构:人脑的结构:脑主要由大脑脑主要由大脑半球、脑干和半球、脑干和小脑组成。小脑组成。大脑半球由大大脑半球由大脑皮质构成。脑皮质构成。脑的功能:人类大脑皮质的不同部分行使不同的脑的功能:人类大脑皮质的不同部分行使不同的功能。大脑皮质有功能。大脑皮质有6层结构,大小及形状各异的层结构,大小及形状各异的神经细胞构成了复杂的神经网。神经细胞构成了复杂的神经
2、网。大脑与脑的高级大脑与脑的高级功能如记忆和学功能如记忆和学习密切相关。习密切相关。小脑主要与运动小脑主要与运动控制及生物功能控制及生物功能有关,相当于有关,相当于3万万台普通计算机的处台普通计算机的处理能力。理能力。生物神经元(神经细胞):生物神经元(神经细胞):人的大脑由近人的大脑由近140亿个不同种类的神经元组成,其主要功能亿个不同种类的神经元组成,其主要功能是传输信息。一个神经元的结构如图示。是传输信息。一个神经元的结构如图示。细胞体:接受和处理信息的单元。细胞体:接受和处理信息的单元。轴突:向外传送从细胞体发出的信息。轴突:向外传送从细胞体发出的信息。树突:从周围收集其他神经元发出的
3、信息。树突:从周围收集其他神经元发出的信息。突触:是一个神经元与另一个神经元相联系的部位。突触:是一个神经元与另一个神经元相联系的部位。人工神经元模型人工神经元模型1x2xnxnetyf1w2wnw()yf net1niiinetw x常用的输出函数:常用的输出函数:1.阈值函数阈值函数神经元输出为神经元输出为netysgnniiiyw x设阈值设阈值该神经元的作用相当于一个该神经元的作用相当于一个n-1维超平面对维超平面对n维空间的分割。维空间的分割。如果两类样本可以被一个超平面分开,则能够用一个神经元如果两类样本可以被一个超平面分开,则能够用一个神经元实现分类。实现分类。上述神经元又被成为
4、单层感知器。上述神经元又被成为单层感知器。0w 012(,)TnWw w ww12(1,)TnXx xx10sgn()00TTTW XyW XW X2.Sigmoid 函数函数 对于一些重要的学习算法,要求输出函数可微,对于一些重要的学习算法,要求输出函数可微,此时通常选用此时通常选用Sigmoid函数。函数。1()1xf xe二二.BP神经网络神经网络 三层前馈网络三层前馈网络 三层前馈网络的学习算法的主要困难是中间的隐三层前馈网络的学习算法的主要困难是中间的隐层不直接与外界连接,无法直接计算其连接权值。层不直接与外界连接,无法直接计算其连接权值。BP网络是一种多层前馈网络,因使用误差反向传
5、网络是一种多层前馈网络,因使用误差反向传播算法(播算法(Back-Propogation)进行学习而得名,)进行学习而得名,简称简称BP算法。该网络神经元的作用函数采用算法。该网络神经元的作用函数采用Sigmoind函数。函数。BP算法的基本思想:算法的基本思想:根据样本数据构造一个误差函数,通过梯度下降根据样本数据构造一个误差函数,通过梯度下降法利用迭代运算求解权值。法利用迭代运算求解权值。算法分为两个阶段:算法分为两个阶段:(1)(正向过程)(正向过程)输入信息从输入层经隐层逐输入信息从输入层经隐层逐层计算个单元的输出值;层计算个单元的输出值;(2)(误差反向传播过程)误差由输出层逐层向)
6、(误差反向传播过程)误差由输出层逐层向输入层方向传播计算出每个单元的误差,并用此输入层方向传播计算出每个单元的误差,并用此误差修正输入层权值。误差修正输入层权值。三三.BP算法原理算法原理信号前向传播信号前向传播误差反向传播误差反向传播将输入信号将输入信号 输入网络,输入网络,经过中间层(隐层)传向输出层,得到输出信息经过中间层(隐层)传向输出层,得到输出信息输出层神经元的输出和教师信号的平方误差定义为输出层神经元的输出和教师信号的平方误差定义为 12(,)TlXx xx12(,)TKOo oo211()2KkkkEdo()kkof net1Jkkjjjnetw y先求输出层与中间层间的权值更
7、新量:先求输出层与中间层间的权值更新量:式中,式中,为正的常数,为正的常数,为输出层神经元为输出层神经元 的的 值值 kjkjEww kkkkkjonetEonetw ()()kkkjdofnety okjyokk()()kkkjdofnety 求中间层与输入层间的权值更新量:求中间层与输入层间的权值更新量:jijiEvv jjkkkkjjjiynetonetEonetynetv 211()()2Kkkkkjikkkjonetdofnetxonety yjix1Ijjiiinetv x()jjyf net1()()()Kkkkkjjikdofnetw fnetx1()Kokkjjikw fne
8、tx可以看出,可以看出,PB算法的计算思想是算法的计算思想是要计算网络连接权值的修正量,需要首先计算网络要计算网络连接权值的修正量,需要首先计算网络每一层神经元的输出,然后反向计算各神经元的误每一层神经元的输出,然后反向计算各神经元的误差传播值差传播值 。权值更新量权值更新量=(学习系数学习系数)x x(输出函数微分值输出函数微分值)x(神经元神经元 输出输出)输出函数为输出函数为Sigmoid函数时函数时 有有 则输出层神经元的则输出层神经元的 值为值为1()1xf xe(1)()kkkkoodo()()1()fxf xf x()()okkkkdofnet误差误差S函数函数f(x)的微分值的
9、微分值中间层神经元的中间层神经元的 值值1()Kyjokkjjkw fnet1(1)KjjokkjkyywBP算法步骤:算法步骤:1.网络初始化网络初始化 权值的初始值用小的随机数设定,选定权值的初始值用小的随机数设定,选定 的的终止值终止值 ,步长控制量,步长控制量2.输入向量的输入输入向量的输入(向前向前)首先,将输入向量输入给输入层。输入向量向输出层传首先,将输入向量输入给输入层。输入向量向输出层传播;对各神经元,求来自前层神经元的附加权值和,由播;对各神经元,求来自前层神经元的附加权值和,由Sigmoid函数决定输出值;函数决定输出值;(输出值输出值)=f(输入和输入和)(1)3.向输
10、出层输入教师信号向输出层输入教师信号 将与输入向量对应的教师向量提供给输出层,计算误差将与输入向量对应的教师向量提供给输出层,计算误差值值 ,若,若 ,则算法结束;否则,转,则算法结束;否则,转4,EEE4.误差逆传播的权值学习(反向)误差逆传播的权值学习(反向)根据根据 (新权值新权值)=(旧权值旧权值)+(常数常数)X X(神经元输出神经元输出)(2)进行权值更新,式中的进行权值更新,式中的(神经元输出神经元输出)是指权值连接的二个神经元中,是指权值连接的二个神经元中,来自前面的神经元输出,来自前面的神经元输出,按以下求出:按以下求出:连接输出层的权值学习时:连接输出层的权值学习时:=(输
11、出输出)1(输出输出)x(教师信号教师信号)(神经元输出神经元输出)(3)S函数的微分值函数的微分值 误差误差 除此以外的权值学习时:除此以外的权值学习时:=(输出输出)1(输出输出)x(来自紧接其后层的来自紧接其后层的 的附加权值和的附加权值和)(4)S函数的微分值函数的微分值 误差误差5.返回到返回到2 重复进行重复进行24,进行权值的学习。,进行权值的学习。人工神经网络模式识别方法的特点:人工神经网络模式识别方法的特点:优势:优势:1.具有较强的容错性,能够识别带有噪声的输入模具有较强的容错性,能够识别带有噪声的输入模式式2.具有很强的自适应学习能力具有很强的自适应学习能力3.可以实现特
12、征空间较复杂的划分可以实现特征空间较复杂的划分4.能够适用于高速并行处理系统实现能够适用于高速并行处理系统实现弱点:弱点:1.需要较多的训练样本需要较多的训练样本2.学习速度较慢学习速度较慢 BP网络的结构设计网络的结构设计所谓网络结构,是指输入层的神经元个数,中间层所谓网络结构,是指输入层的神经元个数,中间层(隐层)的层数及其神经元个数,输出层神经元个(隐层)的层数及其神经元个数,输出层神经元个数,各层神经元之间的链接权值大小。数,各层神经元之间的链接权值大小。1.输入层和输出层的神经元个数输入层和输出层的神经元个数 输入层的神经元个数由模式的维数决定,输出层的输入层的神经元个数由模式的维数
13、决定,输出层的神经元个数由识别问题决定。神经元个数由识别问题决定。2.隐层的层数与神经元个数隐层的层数与神经元个数 理论证明,三层理论证明,三层BP网络可以实现任意的非线性映网络可以实现任意的非线性映射,因此,常用三层网络,即只有一个隐层。射,因此,常用三层网络,即只有一个隐层。隐层神经元个数的确定是隐层神经元个数的确定是BP网络结构设计的主要网络结构设计的主要任务之一。任务之一。隐层神经元个数对网络学习性能的影响隐层神经元个数对网络学习性能的影响(1)太少(网络规模太小)太少(网络规模太小)网络实际输出和期望输出之间的拟合度不高,其网络实际输出和期望输出之间的拟合度不高,其处理复杂问题的能力
14、不足,即网络的学习能力不处理复杂问题的能力不足,即网络的学习能力不足,易产生学习不收敛的问题。足,易产生学习不收敛的问题。(2)太多(网络规模太大)太多(网络规模太大)网络具有较好的学习精度,但易导致其泛化能力网络具有较好的学习精度,但易导致其泛化能力较差,产生较差,产生过学习(过拟合)过学习(过拟合)现象,即随着连续现象,即随着连续学习,平方误差会变小,但对于评价用的识别样学习,平方误差会变小,但对于评价用的识别样本,反而出现识别效果变差的现象。本,反而出现识别效果变差的现象。可以看出,隐层神经元个数的确定是重要的,也可以看出,隐层神经元个数的确定是重要的,也是比较困难的。是比较困难的。解决
15、的方法:解决的方法:(1)经验公式)经验公式 式中,式中,L为输入层节点个数,为输入层节点个数,M为输出层节点个数,为输出层节点个数,为(为(110)的整数)的整数。NumLMmin(int)()1NumLMmax(int)()10NumLM (2)优化的方法)优化的方法 将网络结构和连接权值看做被优化对象,以输出将网络结构和连接权值看做被优化对象,以输出神经元的误差函数为目标函数,采用优化方法进神经元的误差函数为目标函数,采用优化方法进行优化。行优化。由于神经元数量和连接权值的数量所构成的数据由于神经元数量和连接权值的数量所构成的数据规模比较庞大,用传统的数学方法难以解决该优规模比较庞大,用
16、传统的数学方法难以解决该优化问题,因此,现代的一些人工智能优化方法受化问题,因此,现代的一些人工智能优化方法受到关注,如遗传算法,粒子群优化算法等,并取到关注,如遗传算法,粒子群优化算法等,并取得了很好的效果。得了很好的效果。分类识别举例分类识别举例1.标准测试数据标准测试数据 UCI(University of California Irvine)标准数据集是测试标准数据集是测试模式识别领域分类器设计性能的一个公开的通用的标准数据模式识别领域分类器设计性能的一个公开的通用的标准数据集。其中:集。其中:Iris数据集共有数据集共有150个样本,总共分为三类,每类有个样本,总共分为三类,每类有50组数据,组数据,模式特征数为模式特征数为4。Ionosphere数据集共有数据集共有351个样本,总共分为两类,其中个样本,总共分为两类,其中A类有类有127组数据,组数据,B类共类共224组数据,模式特征数为组数据,模式特征数为34。Breast cancer数据集共有数据集共有569个样本,总共分为两类,个样本,总共分为两类,A类类有有212组数据,组数据,B类有类有357组数据组数据,模式