BP神经网络专题知识讲义课件

上传人:文**** 文档编号:240744727 上传时间:2024-05-04 格式:PPT 页数:46 大小:1.49MB
返回 下载 相关 举报
BP神经网络专题知识讲义课件_第1页
第1页 / 共46页
BP神经网络专题知识讲义课件_第2页
第2页 / 共46页
BP神经网络专题知识讲义课件_第3页
第3页 / 共46页
点击查看更多>>
资源描述
BP神经网络专题知识人工神经网络人工神经网络例例 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 Apf2.00 1.28 Apf1.96 1.30 Apf1.74 1.36 Af2BP神经网络专题知识p问:如果抓到三只新的蚊子,它们的触角长和问:如果抓到三只新的蚊子,它们的触角长和翼长分别为翼长分别为(l.24,1.80);(l.28,1.84);(;(1.40,2.04)问它们应分别属于哪一个种类?问它们应分别属于哪一个种类?解法一:把翼长作纵坐标,触角长作横坐标;那么每个蚊子的翼长和触角决定了坐标平面的一个点.其中 6个蚊子属于 APf类;用黑点“”表示;9个蚊子属 Af类;用小圆圈“。”表示得到的结果见图1 图1飞蠓的触角长和翼长 3BP神经网络专题知识p思路:思路:作一直线将两类飞蠓分开作一直线将两类飞蠓分开 例如;取A(1.44,2.10)和 B(1.10,1.16),过A B两点作一条直线:y 1.47x -0.017其中X表示触角长;y表示翼长 分类规则:设一个蚊子的数据为(x,y)如果y1.47x -0.017,则判断蚊子属Apf类;如果y1.47x -0.017;则判断蚊子属Af类 4BP神经网络专题知识p分分类类结结果果:(1.24(1.24,1.80)1.80),(1.28(1.28,1.84)1.84)属属于于AfAf类类;(1.40(1.40,2.042.04)属于)属于 ApfApf类类5BP神经网络专题知识缺陷:缺陷:根据什么原则确定分类直线?根据什么原则确定分类直线?若取A=(1.46,2.10),B=(1.1,1.6)不变,则分类直线变为 y=1.39x+0.071分类结果变为:(1.24,1.80),(1.40,2.04)属于Apf类;(1.28,1.84)属于Af类 哪一分类直线才是正确的呢?因此如何来确定这个判别直线是一个值得研究的问题一般地讲,应该充分利用已知的数据信息来确定判别直线6BP神经网络专题知识p再如再如,如下的情形已经不能用分类直线的办法:,如下的情形已经不能用分类直线的办法:新思路:将问题看作一个系统,飞蠓的数据作为输入,飞蠓的类型作为输出,研究输入与输出的关系。7BP神经网络专题知识BPBP神经网络模型与学习算法神经网络模型与学习算法8BP神经网络专题知识前馈神经网络模型前馈神经网络模型p三层前向网络三层前向网络9BP神经网络专题知识l(1 1)是否存在一个)是否存在一个BPBP神经网络能够逼近给定的样本或者函数。神经网络能够逼近给定的样本或者函数。两个基本问题两个基本问题l(2 2)如如何何调调整整BPBP神神经经网网络络的的连连接接权权,使使网网络络的的输输入入与与输输出出与与给定的样本相同。给定的样本相同。u 10BP神经网络专题知识pRumelhartRumelhart,McClellandMcClelland于于19851985年提出了年提出了BPBP网络的误差反网络的误差反向后传向后传BP(Back Propagation)BP(Back Propagation)学习算法学习算法pBPBP算法基本原理算法基本原理利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。J.McClelland David Rumelhart 11BP神经网络专题知识BPBP神经网络模型神经网络模型p激活函数激活函数必须处处可导必须处处可导一般都使用一般都使用S S型函数型函数 p使用使用S S型激活函数型激活函数时时BPBP网络输入与输出关系网络输入与输出关系输入输入输出输出12BP神经网络专题知识BPBP神经网络模型神经网络模型输出的导数根据根据S S型激活函数的图形可知型激活函数的图形可知,对神经网络进行训练,应该将对神经网络进行训练,应该将netnet的值尽的值尽量控制在收敛比较快的范围内量控制在收敛比较快的范围内 13BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法p学习的过程:学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。p学习的本质:学习的本质:对各连接权值的动态调整p学习规则:学习规则:权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。14BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法-算法思想算法思想p学习的类型:有导师学习学习的类型:有导师学习p核心思想:核心思想:将输出误差以某种形式通过隐层向输入层逐层反传p学习的过程:学习的过程:信号的正向传播 误差的反向传播将误差分摊给各层的所有将误差分摊给各层的所有单元各层单元的误单元各层单元的误差信号差信号修正各单元权修正各单元权值值15BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法-学习过程学习过程p正向传播:正向传播:输入样本输入层各隐层输出层p判断是否转入反向传播阶段:判断是否转入反向传播阶段:若输出层的实际输出与期望的输出(教师信号)不符p误差反传误差反传误差以某种形式在各层表示修正各层单元的权值p网络输出的误差减少到可接受的程度网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止进行到预先设定的学习次数为止16BP神经网络专题知识BPBP网络的标网络的标准学习算法准学习算法 p网络结构网络结构输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元p变量定义变量定义输入向量;隐含层输入向量;隐含层输出向量;输出层输入向量;输出层输出向量;期望输出向量;17BP神经网络专题知识BPBP网络的标准网络的标准学习算法学习算法输入层与中间层的连接权值:隐含层与输出层的连接权值:隐含层各神经元的阈值:输出层各神经元的阈值:样本数据个数:激活函数:误差函数:18BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法p第一步,网络初始化第一步,网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值 和最大学习次数M。p第二步第二步,随机选取第随机选取第 个输入样本及对应个输入样本及对应期望输出期望输出 19BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法p第三步,计算隐含层各神经元的输入和第三步,计算隐含层各神经元的输入和输出输出20BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法p第四步,利用网络期望输出和实际输出,第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导计算误差函数对输出层的各神经元的偏导数数 。21BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法p第五步,利用隐含层到输出层的连接权第五步,利用隐含层到输出层的连接权值、输出层的值、输出层的 和隐含层的输出计算误和隐含层的输出计算误差函数对隐含层各神经元的偏导数差函数对隐含层各神经元的偏导数 。22BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法23BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法p第六步,利用输出层各神经元的第六步,利用输出层各神经元的 和和隐含层各神经元的输出来修正连接权值隐含层各神经元的输出来修正连接权值 。24BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法p第七步,利用隐含层各神经元的第七步,利用隐含层各神经元的 和和输入层各神经元的输入修正连接权。输入层各神经元的输入修正连接权。25BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法p第八步,计算全局误差第八步,计算全局误差p第九步,判断网络误差是否满足要求。当误差第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学应的期望输出,返回到第三步,进入下一轮学习。习。26BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法pBPBP算法直观解释算法直观解释情况一直观表达 当误差对权值的偏当误差对权值的偏导数大于零时,权值导数大于零时,权值调整量为负,实际输调整量为负,实际输出大于期望输出,出大于期望输出,权值向减少方向调整,权值向减少方向调整,使得实际输出与期望使得实际输出与期望输出的差减少。输出的差减少。whoe0,此时,此时who027BP神经网络专题知识BPBP网络的标准学习算法网络的标准学习算法pBPBP算法直观解释算法直观解释情况二直观表达当误差对权值的偏导数当误差对权值的偏导数小于零时,权值调整量小于零时,权值调整量为正,实际输出少于期为正,实际输出少于期望输出,权值向增大方向望输出,权值向增大方向调整,使得实际输出与期调整,使得实际输出与期望输出的差减少。望输出的差减少。e0who28BP神经网络专题知识(1 1)隐层数及隐层神经元数的确定:目前尚无理论指隐层数及隐层神经元数的确定:目前尚无理论指导。导。(2 2)初始权值的设置:一般以一个均值为)初始权值的设置:一般以一个均值为0 0的随机分布的随机分布设置网络的初始权值。设置网络的初始权值。(3 3)训训练练数数据据预预处处理理:线线性性的的特特征征比比例例变变换换,将将所所有有的的特特征征变变换换到到00,11或或者者-1-1,11区区间间内内,使使得得在在每每个个训练集上,每个特征的均值为训练集上,每个特征的均值为0 0,并且具有相同的方差。,并且具有相同的方差。(4 4)后后处处理理过过程程:当当应应用用神神经经网网络络进进行行分分类类操操作作时时,通通常常将将输输出出值值编编码码成成所所谓谓的的名名义义变变量量,具具体体的的值值对对应应类类别标号。别标号。n BP BP算法的设计算法的设计 29BP神经网络专题知识30BP神经网络专题知识31BP神经网络专题知识33BP神经网络在模式识别中的应用 模式识别研究用计算机模拟生物、人的感知,模式识别研究用计算机模拟生物、人的感知,对模式信息,如图像、语音等,进行识别和分类。对模式信息,如图像、语音等,进行识别和分类。传统人工智能的研究部分地显示了人脑的归纳、传统人工智能的研究部分地显示了人脑的归纳、推理等智能。但是,对于人类底层的智能,如视觉、推理等智能。但是,对于人类底层的智能,如视觉、听觉、触觉等方面,现代计算机系统的信息处理能听觉、触觉等方面,现代计算机系统的信息处理能力还不如一个幼儿园的孩子。力还不如一个幼儿园的孩子。神经网络模型模拟了人脑神经系统的特点:处神经网络模型模拟了人脑神经系统的特点:处理单元的广泛连接;并行分布式信息储存、处理;理单元的广泛连接;并行分布式信息储存、处理;自适应学习能力等。自适应学习能力等。神经网络模式识别方法具有较强的容错能力、神经网络模式识别方法具有较强的容错能力、自适应学习能力、并行信息处理能力。自适应学习能力、并行信息处理能力。BP神经网络专题知识34BP神经网络在模式识别中的应用神经网络在模式识别中的应用例例 设计一个三层设计一个三层BP网络对数字网络对数字0至至9进行分类。进行分类。每每个个数数字字用用9 7的的网网格格表表示示,灰灰色色像像素素代代表表0,黑黑色色像像素素代代表表1。将将每每个个网网格格表表示示为为0,1的的长长位位串串。位位映映射射由由左左上角开始向下直到网格的整个一列,然后重复其他列。上角开始向下直到网格的整个一列,然后重复其他列。选选择择BP网网络络结结构构为为63-6-9。97个个输输入入结结点点,对对应应上上述述网格的映射。网格的映射。9个输出结点对应个输出结点对应10种分类。种分类。使使用用的的学学习习步步长长为为0.3。训训练练600个个周周期期,如如果果输输出出结结点点的的值值大大于于0.9,则则取取为为ON,如如果果输输出出结结点点的的值值小小于于0.1,则取为则取为OFF。BP神经网络专题知识35 测试结果表明:除了测试结果表明:除了8以外,所有被测的数字都能够被正确以外,所有被测的数字都能够被正确地识别。地识别。对于数字对于数字8,神经网络的第,神经网络的第6个结点的输出值为个结点的输出值为0.53,第,第8个个结点的输出值为结点的输出值为0.41,表明第,表明第8个样本是模糊的,可能是数字个样本是模糊的,可能是数字6,也可能是数字,也可能是数字8,但也不完全确信是两者之一。,但也不完全确信是两者之一。BP神经网络在模式识别中的应用神经网络在模式识别中的应用当训练成功后,对当训练成功后,对如图所示测试数据如图所示测试数据进行测试。测试数进行测试。测试数据都有一个或者多据都有一个或者多个位丢失。个位丢失。BP神经网络专题知识BPBP神经网络的特点神经网络的特点p非线性映射能力非线性映射能力能学习和存贮大量输入能学习和存贮大量输入-输出模式映射关系,而无需事输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供网络进行学习训练,它便能完成由多的样本模式对供网络进行学习训练,它便能完成由n n维输入空间到维输入空间到m m维输出空间的非线性映射。维输出空间的非线性映射。p泛化能力泛化能力当向网络输入训练时未曾见过的非样本数据时,网络也当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称能完成由输入空间向输出空间的正确映射。这种能力称为泛化能力。为泛化能力。(overfiting,(overfiting,书呆子现象书呆子现象)p容错能力容错能力输入样本中带有较大的误差甚至个别错误对网络的输入输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。输出规律影响很小。36BP神经网络专题知识BPBP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现 pMATLABMATLAB中中BPBP神经网络的重要函数和基本神经网络的重要函数和基本功能功能 函函 数数 名名功功 能能newff()生成一个前生成一个前馈BP网网络tansig()双曲正切双曲正切S型型(Tan-Sigmoid)传输函数函数logsig()对数数S型型(Log-Sigmoid)传输函数函数traingd()梯度下降梯度下降BP训练函数函数37BP神经网络专题知识BPBP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现pMATLABMATLAB中中BPBP神经网络的重要函数和基本功能神经网络的重要函数和基本功能newff()功能功能 建立一个前向建立一个前向BPBP网络网络格式格式 net=newff(PRnet=newff(PR,S1 S2.SN1S1 S2.SN1,TF1 TF1 TF2.TFN1TF2.TFN1,BTFBTF,BLFBLF,PF)PF)说明说明 netnet为创建的新为创建的新BPBP神经网络;神经网络;PRPR为网络输入为网络输入取向量取值范围的矩阵;取向量取值范围的矩阵;S1 S2S1 S2SNlSNl表示网络隐表示网络隐含层和输出层神经元的个数;含层和输出层神经元的个数;TFl TF2TFl TF2TFN1TFN1表表示网络隐含层和输出层的传输函数,默认为示网络隐含层和输出层的传输函数,默认为tansigtansig;BTFBTF表示网络的训练函数,默认为表示网络的训练函数,默认为trainlmtrainlm;BLFBLF表示网络的权值学习函数,默认表示网络的权值学习函数,默认为为learngdmlearngdm;PFPF表示性能数,默认为表示性能数,默认为msemse。38BP神经网络专题知识BPBP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现pMATLABMATLAB中中BPBP神经网络的重要函数和基本功能神经网络的重要函数和基本功能tansig()功能功能 正切正切sigmoidsigmoid激活函数激活函数格式格式 a=tansig(n)a=tansig(n)说明说明 双曲正切双曲正切SigmoidSigmoid函数把神经元的输入范围从函数把神经元的输入范围从(-(-,+)+)映射到映射到(-1(-1,1)1)。它是可导函数,适用于。它是可导函数,适用于BPBP训练的神经元。训练的神经元。logsig()功能功能 对数对数SigmoidSigmoid激活函数激活函数格式格式 a=logsig(N)a=logsig(N)说明对数说明对数SigmoidSigmoid函数把神经元的输入范围从函数把神经元的输入范围从(-(-,+)+)映射映射到到(0(0,1)1)。它是可导函数,适用于。它是可导函数,适用于BPBP训练的神经元。训练的神经元。39BP神经网络专题知识BPBP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p例例2-32-3,下表为某药品的销售情况,现构建一个如下的三层,下表为某药品的销售情况,现构建一个如下的三层BPBP神经神经网络对药品的销售进行预测:输入层有三个结点,隐含层结点数为网络对药品的销售进行预测:输入层有三个结点,隐含层结点数为5 5,隐含层的激活函数为,隐含层的激活函数为tansigtansig;输出层结点数为;输出层结点数为1 1个,输出层的激个,输出层的激活函数为活函数为logsiglogsig,并利用此网络对药品的销售量进行预测,预测方,并利用此网络对药品的销售量进行预测,预测方法采用滚动预测方式,即用前三个月的销售量来预测第四个月的销法采用滚动预测方式,即用前三个月的销售量来预测第四个月的销售量,如用售量,如用1 1、2 2、3 3月的销售量为输入预测第月的销售量为输入预测第4 4个月的销售量,用个月的销售量,用2 2、3 3、4 4月的销售量为输入预测第月的销售量为输入预测第5 5个月的销售量个月的销售量.如此反复直至满足如此反复直至满足预测精度要求为止。预测精度要求为止。月份月份123456销量量205623952600229816341600月份月份789101112销量量18731478190015002046155640BP神经网络专题知识BPBP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现%以每三个月的销售量经归一化处理后作为输入pP=0.5152P=0.51520.81730.81731.0000;1.0000;0.8173 0.81731.00001.00000.7308;0.7308;1.0000 1.00000.73080.73080.1390;0.1390;0.7308 0.73080.13900.13900.1087;0.1087;0.1390 0.13900.10870.10870.3520;0.3520;0.1087 0.10870.35200.35200.0000;0.0000;%以第四个月的销售量归一化处理后作为目标向量pT=0.7308 0.1390 0.1087 0.3520 0.0000 0.3761;T=0.7308 0.1390 0.1087 0.3520 0.0000 0.3761;%创建一个BP神经网络,每一个输入向量的取值范围为0,1,隐含层有5个神经%元,输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为%logsig,训练函数为梯度下降函数,即2.3.2节中所描述的标准学习算法pnet=newff(0 1;0 1;0 1,5,1,tansig,logsig,traingd);net=newff(0 1;0 1;0 1,5,1,tansig,logsig,traingd);pnet.trainParam.epochs=15000;net.trainParam.epochs=15000;pnet.trainParam.goal=0.01;net.trainParam.goal=0.01;%设置学习速率为0.1pLP.lr=0.1;LP.lr=0.1;pnet=train(net,P,T);net=train(net,P,T);41BP神经网络专题知识42BP神经网络专题知识43BP神经网络专题知识BPBP神经网络学习算法的神经网络学习算法的MATLABMATLAB实现实现p由对比图可以看出预测效果与实际存在一定误差,此误差可以通过由对比图可以看出预测效果与实际存在一定误差,此误差可以通过增加运行步数和提高预设误差精度业进一步缩小增加运行步数和提高预设误差精度业进一步缩小44BP神经网络专题知识小结小结pBPBP算法背景算法背景pBPBP神经网络模型神经网络模型pBPBP算法算法基本思想推导过程实现pBPBP神经网络的神经网络的MATLABMATLAB函数函数pBPBP神经网络的应用实例神经网络的应用实例pBPBP神经网络与感知器神经网络的对比神经网络与感知器神经网络的对比45BP神经网络专题知识作业作业 8-18-1、8-28-246BP神经网络专题知识
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!