《工程应用软计算课件第2章神经网络.ppt》由会员分享,可在线阅读,更多相关《工程应用软计算课件第2章神经网络.ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第 2 章章第第2 2章章 神经网络神经网络理学院应用数学系理学院应用数学系立体化教学资源系列立体化教学资源系列工程应用软计算工程应用软计算2.1 2.1 神经元与神经神经元与神经网络基本特征网络基本特征 2.2 2.2 神经元模型与神经元模型与神经网络结构神经网络结构 2.3 2.3 感知机与感知机与BPBP学学习算法习算法 2.4 2.4 神经网络的神经网络的MatlabMatlab实现实现 2.5 2.5 神经网络应用神经网络应用实例实例 序言序言工程应用软计算工程应用软计算 神经网络神经网络序言序言神经计算科学发展神经计算科学发展 -1970:早期:早期1970-1980:休眠期:休
2、眠期1980-1990:复苏期:复苏期1990-:高潮期:高潮期工程应用软计算工程应用软计算 神经网络神经网络发展历程中的里程碑发展历程中的里程碑碑序碑序 年代年代 历史事件历史事件 历史人物历史人物第一第一 1943 M-P模型模型 McCulloch-Pitts第二第二 1949 Hebb学习律学习律 Hebb第三第三 1958 感知机感知机 Rosenblatt第四第四 1969 专著专著感知机感知机 Minsky,Papert第五第五 1982 Hopfield网络网络 Hopfield第六第六 1986 BP学习算法学习算法 Rumelhart 工程应用软计算工程应用软计算 神经网络
3、神经网络工程应用软计算工程应用软计算 神经网络神经网络2.1 2.1 神经元与神经神经元与神经网络基本特征网络基本特征 人的大脑是人类智能的物质基础,而神经元是脑组人的大脑是人类智能的物质基础,而神经元是脑组织的基本单元,同时也是神经系统的结构与功能单元织的基本单元,同时也是神经系统的结构与功能单元.计算机智能计算机智能:结构性问题结构性问题(能用数学语言程序化)(能用数学语言程序化);非结构性问题非结构性问题:如语言理解、景物分析、联想思维、:如语言理解、景物分析、联想思维、推理判断、自学习和自修复推理判断、自学习和自修复等等.由于神经网络具有大规模并行、分布式存储和处理、由于神经网络具有大
4、规模并行、分布式存储和处理、自组织、自适应和自学习等优越性能,使其成为自组织、自适应和自学习等优越性能,使其成为人工人工智能智能研究的重要工具,其应用范围已涉及到模式识别、研究的重要工具,其应用范围已涉及到模式识别、故障诊断、计算机视觉、智能机器人、自适应控制、故障诊断、计算机视觉、智能机器人、自适应控制、企业管理、决策优化、专家系统、知识处理等领域企业管理、决策优化、专家系统、知识处理等领域.工程应用软计算工程应用软计算 神经网络神经网络2.1.1 神经元的神经元的结构与特征结构与特征 神经元:神经系统内直接从事信息接收或产生信息、神经元:神经系统内直接从事信息接收或产生信息、传递和处理信息
5、工作的细胞传递和处理信息工作的细胞.人脑智能依靠信息流经神经元组成的复杂网络实现人脑智能依靠信息流经神经元组成的复杂网络实现.典型的神经元由细胞体、树突和轴突组成典型的神经元由细胞体、树突和轴突组成.工程应用软计算工程应用软计算 神经网络神经网络生物神经元生物神经元基本组成基本组成细胞体细胞体突起突起 树突树突轴突轴突人工神经元人工神经元基本结构基本结构处理单元处理单元连接连接输入输入输出输出信息的产生、接收、传递机理:信息的产生、接收、传递机理:神经元电位的变化和传递神经元电位的变化和传递.神经元状态:静息神经元状态:静息,兴奋兴奋,抑制抑制.神经元去极化:细胞兴奋神经元去极化:细胞兴奋.神
6、经元超极化:细胞抑制神经元超极化:细胞抑制.产生信息传递:冲动电位产生信息传递:冲动电位.工程应用软计算工程应用软计算 神经网络神经网络2.1.2 突触和神突触和神经网络经网络 突触:两个神经元进行信息传递的部位突触:两个神经元进行信息传递的部位.突触联接方式:突触联接方式:轴轴-树型树型,轴轴-体型体型,轴轴-轴型轴型,树树-树型树型.神经元对信息的神经元对信息的整合整合性质:神经元对输入信息的空性质:神经元对输入信息的空间总和与时间总和的性质间总和与时间总和的性质.工程应用软计算工程应用软计算 神经网络神经网络2.2 2.2 神经元模型与神经元模型与神经网络结构神经网络结构 1)神经元为多
7、输入、单输出系统)神经元为多输入、单输出系统.有兴奋性和抑制性两种输入形式有兴奋性和抑制性两种输入形式.输出服从输出服从“全或无全或无”.2)输出与输入间的时滞取决于突触延搁)输出与输入间的时滞取决于突触延搁.神经元神经元M-P模型模型(1943年年)假设假设:3)神经元具有阈值和空间整合性质)神经元具有阈值和空间整合性质.4)神经元是非时变的)神经元是非时变的(静态)(静态).工程应用软计算工程应用软计算 神经网络神经网络2.2.1 M-P模型模型 神经元输入、输出关系神经元输入、输出关系数学模型数学模型(无时滞)(无时滞)M-P模型是形式化的神经模型是形式化的神经元元.给出了神经元接收与传
8、输给出了神经元接收与传输信息功能的主要特征描述信息功能的主要特征描述.若考虑输入与输出间有固定时滞若考虑输入与输出间有固定时滞,则模型为:则模型为:M-P模型的输入、输出状模型的输入、输出状态仅取态仅取0,1二值二值.工程应用软计算工程应用软计算 神经网络神经网络2.2.2 M-P模型模型的扩展的扩展(1)准线性模型)准线性模型:(2)微分方程模型)微分方程模型:工程应用软计算工程应用软计算 神经网络神经网络常用的神经网络功能函数常用的神经网络功能函数(matlab函数函数)线性函数线性函数(purelin)硬限幅函数硬限幅函数(hardlim)饱和线性函数饱和线性函数(satlin)单极性单
9、极性S形函数形函数(logsig)对称硬限幅函数对称硬限幅函数(hardlims)对称饱和线性函数对称饱和线性函数(satlins)双曲正切双曲正切S形函数形函数(tansig)正线性函数正线性函数(poslin)竞争函数竞争函数(compet)工程应用软计算工程应用软计算 神经网络神经网络2.2.3 人工神经人工神经网络结构网络结构 按照网络的拓扑结构分类:分为层状和网状两类按照网络的拓扑结构分类:分为层状和网状两类.层状结构神经网络:分为单层网络和多层网络层状结构神经网络:分为单层网络和多层网络.单单层层人人工工神神经经网网络络单层神经网络:只有输出层有完成计算功能的神经元单层神经网络:只
10、有输出层有完成计算功能的神经元.工程应用软计算工程应用软计算 神经网络神经网络 输入、输出层之间加入一层或多层包含隐单元的隐层输入、输出层之间加入一层或多层包含隐单元的隐层.二层网络:加入一个含有二层网络:加入一个含有k个神经元的隐层个神经元的隐层.隐层和输隐层和输出层神经元具有信息计算功能出层神经元具有信息计算功能.多层人工神经网络多层人工神经网络:多层神经网络在信息处理中比单层神经网络能力更强多层神经网络在信息处理中比单层神经网络能力更强.隐层第隐层第l个神经元的输出个神经元的输出:输出层第输出层第j个神经元的输出个神经元的输出:若不考虑阈值作用二层网络若不考虑阈值作用二层网络可用单层神经
11、网络替代可用单层神经网络替代:工程应用软计算工程应用软计算 神经网络神经网络 网状神经网络中有反馈存在,网状神经网络中有反馈存在,故而也称为反馈网络故而也称为反馈网络.层状结构神经网络层状结构神经网络 网状结构神经网络网状结构神经网络相邻层神经元间信息传输相邻层神经元间信息传输 任何神经元间都可以通信任何神经元间都可以通信.同层神经元不能相互通信同层神经元不能相互通信 通信常是单向的通信常是单向的.通信可以是双向的通信可以是双向的.反馈网状网络反馈网状网络:反馈网状结构比层状结构更真反馈网状结构比层状结构更真实实.工程应用软计算工程应用软计算 神经网络神经网络2.2.4 神经网络神经网络的训练
12、与学习的训练与学习 神经网络的学习:利用应用环境里选出的一些训练神经网络的学习:利用应用环境里选出的一些训练数据(也称样本)来不断调整神经网络中的权矩阵数据(也称样本)来不断调整神经网络中的权矩阵W,直到输入输出结论与实际相吻合为止直到输入输出结论与实际相吻合为止.训练训练(确定确定W):监控式监控式(有导师有导师)、无监控式、无监控式(无导师无导师).输入与输出样本成对给出输入与输出样本成对给出(如如BP算法算法).1)监控式学习)监控式学习:W调整原则:对给定的输入,由网络计算产生输出,调整原则:对给定的输入,由网络计算产生输出,然后根据误差调整权重,使输出朝正确方向发展然后根据误差调整权
13、重,使输出朝正确方向发展.只给出输入数据,不指定输出只给出输入数据,不指定输出.2)无监控式学习)无监控式学习:W调整原则:只要产生的输出不矛盾,即相似的输入调整原则:只要产生的输出不矛盾,即相似的输入应有相似的输出应有相似的输出.这种训练使网络具有自组织和自学习这种训练使网络具有自组织和自学习能力能力.工程应用软计算工程应用软计算 神经网络神经网络1)Hebb学习规则(学习规则(1949)基本思想:相互联接的神经元同时兴奋,可使它们基本思想:相互联接的神经元同时兴奋,可使它们间的突触结合强度(权系数)得到增加间的突触结合强度(权系数)得到增加.2)学习规则学习规则(Widrow和和Hoff
14、1960)基本思想:先求出所希望的目标输出与学习过程中基本思想:先求出所希望的目标输出与学习过程中得到的计算输出之差,再利用这个差值去调整突触强度得到的计算输出之差,再利用这个差值去调整突触强度(权值),以使得差值趋于减小(权值),以使得差值趋于减小.工程应用软计算工程应用软计算 神经网络神经网络规则训练权值过程规则训练权值过程 工程应用软计算工程应用软计算 神经网络神经网络神经计算科学中:神经计算科学中:Hebb学习律是最具有一般性和普适性(来自于神经学习律是最具有一般性和普适性(来自于神经生理学依据)的学习算法和自组织机制生理学依据)的学习算法和自组织机制.Hebb突触能解释生物神经系统中
15、神经元联结特征突触能解释生物神经系统中神经元联结特征.Hebb 学习律可解释、模拟生物神经系统中的自组织学习律可解释、模拟生物神经系统中的自组织行为,如对刺激的钝化、强化、条件反射、行为,如对刺激的钝化、强化、条件反射、“刺激刺激-反反应应-强化强化”等等.Hebb学习律可用于人工神经系统,以实现自适应自学习律可用于人工神经系统,以实现自适应自学习自组织,包括监督学习和非监督学习,包括竞争学学习自组织,包括监督学习和非监督学习,包括竞争学习和强化学习习和强化学习.第二座里程碑第二座里程碑(1949年年)工程应用软计算工程应用软计算 神经网络神经网络2.3 2.3 感知机与感知机与BPBP学学习
16、算法习算法 1958年年F.Rosenblatt(美(美Cornell航空实验室)航空实验室)论文论文-感知机感知机:一种脑信息存贮与组织的概率模型一种脑信息存贮与组织的概率模型提出著名的视知觉的脑模型提出著名的视知觉的脑模型感知机感知机,又一个里程碑又一个里程碑.感知机感知机是一种层状结构的神经元网络,各层内部神是一种层状结构的神经元网络,各层内部神经元间没有信息流动,层间神经元的联接权重经元间没有信息流动,层间神经元的联接权重w可随可随着对网络的训练而改变,即通过学习算法学习,实现着对网络的训练而改变,即通过学习算法学习,实现网络良好的模式辨识功能网络良好的模式辨识功能.单层感知机单层感知
17、机 工程应用软计算工程应用软计算 神经网络神经网络输入模式入模式输出模式出模式 x1 x2y 0 0 0 1 1 0 1 1 0 1 1 0例例 非线性分类非线性分类:二阶谓词二阶谓词“异或异或”问题问题.矛盾,无法进行分类矛盾,无法进行分类.则必须满足下述则必须满足下述4个方程个方程:用一个单层感知机表示用一个单层感知机表示工程应用软计算工程应用软计算 神经网络神经网络 感知机能分类感知机能分类(输入样本线性可分输入样本线性可分):在其表述的状态:在其表述的状态空间中空间中,不同类成员位于某直线或超平面的不同侧面不同类成员位于某直线或超平面的不同侧面.线性可分例子线性可分例子异或问题(非线性
18、分类)异或问题(非线性分类)在异或问题中,只要能做出方程在异或问题中,只要能做出方程就可以对任何样本分类就可以对任何样本分类.工程应用软计算工程应用软计算 神经网络神经网络输入模式入模式输出模式出模式 x1 x2y 0 0 0 1 1 0 1 1 0 0 0 1例例 线性分类线性分类:逻辑逻辑“与与”问题问题.求分类直线:取求分类直线:取 则必须满足下述则必须满足下述4个方程个方程:用一个单层感知机表示用一个单层感知机表示工程应用软计算工程应用软计算 神经网络神经网络输入模式入模式输出模式出模式 x1 x2 yy 0 0 0 0 1 0 1 0 0 1 1 1 0 1 1 0例例“异或异或”问
19、题求解问题求解.该网络能得到正确输出该网络能得到正确输出.隐单元输出、网络输出隐单元输出、网络输出:加入一个隐单元解决异或问题加入一个隐单元解决异或问题.三维解答三维解答 工程应用软计算工程应用软计算 神经网络神经网络2.3.2 前馈多层前馈多层感知机感知机 多层感知机多层感知机:网络的输入、网络的输入、输出节点层之间加入一层或多层中间隐节点输出节点层之间加入一层或多层中间隐节点.前馈多层感知机前馈多层感知机:多层:多层感知机中,信息流从输感知机中,信息流从输入层向输出层单方向逐入层向输出层单方向逐层传播层传播.注注能克服线性可分性局限能克服线性可分性局限.二层网络可以分离凸区域二层网络可以分
20、离凸区域.三层网络可分离任何形状三层网络可分离任何形状区域区域.工程应用软计算工程应用软计算 神经网络神经网络注注(万能逼近定理)(万能逼近定理)对于给定的任何一个连续函数对于给定的任何一个连续函数总能构造一个二层感知机以任意精度逼近它总能构造一个二层感知机以任意精度逼近它.进一步,此网络的隐层有进一步,此网络的隐层有2n+1个节点个节点.工程应用软计算工程应用软计算 神经网络神经网络2.3.3 前馈多层前馈多层感知机的反向感知机的反向传播学习算法传播学习算法(1)反向传播学习算法)反向传播学习算法 的原理的原理 BP 算法算法:反向传播(反向传播(Back Propagation)学习算)学
21、习算法法.1982年,年,Rumelhard和和Mcclelland等人提出等人提出.是一种多层前馈网络使用的监控式学习算法是一种多层前馈网络使用的监控式学习算法-BP网络网络.基本思想基本思想:使用梯度搜索理论,使得网络实际输出:使用梯度搜索理论,使得网络实际输出(计算输出)与期望输出(目标输出)的均方差达最小计算输出)与期望输出(目标输出)的均方差达最小.网络学习过程网络学习过程:将输出层误差反向传播回去,并借:将输出层误差反向传播回去,并借以修正权值以修正权值.注注 BP算法有正向传播、反向传播算法有正向传播、反向传播;反向传播是指误差信号的反向传播反向传播是指误差信号的反向传播;网络自
22、身不存在反馈网络自身不存在反馈.BP网只是一个非线性映射网只是一个非线性映射.工程应用软计算工程应用软计算 神经网络神经网络(2)BP网络的前馈计算网络的前馈计算 考虑一个二层神经网络考虑一个二层神经网络.设网络的某层中第设网络的某层中第j 个节个节点在给定一个训练样本时,其总输入为点在给定一个训练样本时,其总输入为:第第j 个节点的输出是其总输入的一个变换个节点的输出是其总输入的一个变换:(3)BP网络调整权值的规则网络调整权值的规则 输出层第输出层第j 个节点的计算输出:个节点的计算输出:o j 期望输出:期望输出:t j 输出误差:输出误差:t j o j 在固定输入样本时,网络的误差函
23、数在固定输入样本时,网络的误差函数 使误差减小,权值修改方向:误差函数梯度下降方向使误差减小,权值修改方向:误差函数梯度下降方向 步长步长是一个正的增益系数是一个正的增益系数.工程应用软计算工程应用软计算 神经网络神经网络权值调整权值调整(监控式学习)(监控式学习)1)若权值的增加造成误差有很大的增加,则减小权值)若权值的增加造成误差有很大的增加,则减小权值;2)若权值的增加造成误差有很大的减少,则增加权值)若权值的增加造成误差有很大的减少,则增加权值.对于输出层节点的权值修正量对于输出层节点的权值修正量 其中其中,o j 是输出层节点是输出层节点j 的输出的输出.oi 是上一层节点是上一层节
24、点i 的输出的输出.对于隐层节点的权值修正量对于隐层节点的权值修正量 其中其中,o j 是隐层节点是隐层节点j 的输出的输出.oi 是上一层节点是上一层节点i 的输出的输出.工程应用软计算工程应用软计算 神经网络神经网络(4)BP学习算法的步骤学习算法的步骤 初始化:初始化:依据实际问题依据实际问题(输入变量和输出变量个数输入变量和输出变量个数)给给出网络联接结构出网络联接结构,随机设置所有联接权值为任意小随机设置所有联接权值为任意小.提供训练样本提供训练样本:计算实际输出计算实际输出:利用非线性函数逐级计算各层节点输出值利用非线性函数逐级计算各层节点输出值,最后输出最后输出:权值调整:权值调
25、整:递归法从输出节点开始返回到隐层节点递归法从输出节点开始返回到隐层节点.对于输出层对于输出层:对于隐层对于隐层:返回返回步步,重复之,直到误差满意为止,重复之,直到误差满意为止.工程应用软计算工程应用软计算 神经网络神经网络(5)BP学习算法的评价与改进学习算法的评价与改进 应用应用:模式识别、系统辨识、图像处理、函数拟合模式识别、系统辨识、图像处理、函数拟合.神经网络可以实现从神经网络可以实现从n维欧氏空间到维欧氏空间到m维欧氏空间的维欧氏空间的高度非线性映射高度非线性映射.不足不足:网络隐层节点个数的选取尚无理论依据,网络隐层节点个数的选取尚无理论依据,所以在应用中都是在一个范围内试验确
26、定所以在应用中都是在一个范围内试验确定;学习算法收敛速度慢学习算法收敛速度慢;由于采用梯度搜索,难免会使网络陷入局部最小,由于采用梯度搜索,难免会使网络陷入局部最小,得不到全局最优解得不到全局最优解.广义广义BP算算 法法:网络误差函数:网络误差函数e、输出变换函数、输出变换函数f 和学和学习步长习步长.工程应用软计算工程应用软计算 神经网络神经网络 BP算法的一种修正算法的一种修正:为了加速收敛和防止振荡而引:为了加速收敛和防止振荡而引入冲量项入冲量项.可变步长可变步长BP算算 法法:根据误差:根据误差e变化的不同情况来调变化的不同情况来调整步长整步长可以改善算法的收敛速度可以改善算法的收敛
27、速度.取初始步长取初始步长,若一次迭代后误差函数增大,则将步,若一次迭代后误差函数增大,则将步长减小(乘以小于长减小(乘以小于1的常数的常数),沿原方向重新计算下一),沿原方向重新计算下一个迭代。若下一次迭代后误差函数减少,则适当增大步个迭代。若下一次迭代后误差函数减少,则适当增大步长(乘以一个大于长(乘以一个大于1的常数的常数),即),即这里这里,为常数,为常数,工程应用软计算工程应用软计算 神经网络神经网络2.4 神经网络的神经网络的MatlabMatlab实现实现 2.4.1 感知机神感知机神经网络的分类经网络的分类问题问题 例例 利用利用Matlab建立一个具有两个输入、两个神经元、建
28、立一个具有两个输入、两个神经元、二维输出的感知机神经网络,区分四类输入向量二维输出的感知机神经网络,区分四类输入向量.输入向量:输入向量:P=0.1 0.7 0.8 0.8 1.0 0.3 0.0-0.3-0.5-1.5;1.2 1.8 1.6 0.6 0.8 0.5 0.2 0.8-1.5-1.3;期望输出向量:期望输出向量:T=1 1 1 0 0 1 1 1 0 0;0 0 0 0 0 1 1 1 1 1;plotpv(P,T);工程应用软计算工程应用软计算 神经网络神经网络创建神经网络:创建神经网络:net=newp(-1.5 1;-1.5 1,2);初始化网络:初始化网络:net=in
29、it(net);训练网络:反复调整网络权值和阈值,直到误差为训练网络:反复调整网络权值和阈值,直到误差为,Y,E=adapt(net,P,T);经经10次循环,网络训练结束,将输入向量分成四类次循环,网络训练结束,将输入向量分成四类.工程应用软计算工程应用软计算 神经网络神经网络 用该感知机神经网络来解决实际问题用该感知机神经网络来解决实际问题.设置输入向量设置输入向量p=0.9;1.1;仿真该网络,仿真该网络,a=sim(net,p);工程应用软计算工程应用软计算 神经网络神经网络Matlab源程序源程序:P=0.1 0.7 0.8 0.8 1.0 0.3 0.0-0.3-0.5-1.5;1
30、.2 1.8 1.6 0.6 0.8 0.5 0.2 0.8-1.5-1.3;T=1 1 1 0 0 1 1 1 0 0;0 0 0 0 0 1 1 1 1 1;plotpv(P,T);net=newp(-1.5 1;-1.5 1,2);%建立感知机建立感知机linehandle=plotpc(net.IW1,net.b1);E=1;%训练感知机训练感知机net=init(net);linehandle=plotpc(net.IW1,net.b1);while(sse(E)net,Y,E=adapt(net,P,T);linehandle=plotpc(net.IW1,net.b1,lineh
31、andle);drawnowendp=0.9;1.1;%检验感知机检验感知机a=sim(net,p);plotpv(p,a);point=findobj(gca,type,line);set(point,Color,red);hold on,plotpv(P,T);plotpc(net.IW1,net.b1);hold off工程应用软计算工程应用软计算 神经网络神经网络2.4.2 图形用户图形用户界面界面 可以创建一个神经网络,而且可以查看它的结构,可以创建一个神经网络,而且可以查看它的结构,对它进行仿真和训练,还可以输入和输出数据对它进行仿真和训练,还可以输入和输出数据.例例 创建一个感知
32、机神经网络来实现创建一个感知机神经网络来实现“与与”的功能的功能.输入输入p=0 0 1 1;0 1 0 1,输出输出 t=0 0 0 1,网络名称为,网络名称为ANDNet.GUI步骤:步骤:(1)设置输入和输出(输入命令)设置输入和输出(输入命令nntool)(2)创建感知机神经网络)创建感知机神经网络ANDNet.(3)训练神经网络()训练神经网络(Train)(4)仿真神经网络()仿真神经网络(Simulate)工程应用软计算工程应用软计算 神经网络神经网络2.4.3 BP神经网神经网络建立络建立 例例 建立一个两层的建立一个两层的BP神经网络神经网络.输入范围输入范围0 10,第一层
33、采用正切第一层采用正切S形神经元,第二层采用线性神经元形神经元,第二层采用线性神经元.样本输入样本输入P和输出和输出T为为:P=0 1 2 3 4 5 6 7 8 9 10;T=0 1 2 3 4 3 2 1 2 3 4;创建创建BP神经网络:神经网络:net=newff(0 10,5,1,tansig purelin);Y=sim(net,P);plot(P,T,P,Y,o)仿真仿真BP网络,并且画出网络输出和目标输出的图网络,并且画出网络输出和目标输出的图形形.网络的输出误差很大网络的输出误差很大.工程应用软计算工程应用软计算 神经网络神经网络 将训练次数提高到将训练次数提高到50次次.=
34、50;net=train(net,P,T);Y=sim(net,P);plot(P,T,P,Y,o)如图如图.可以看到网络的输出误差达到了要求可以看到网络的输出误差达到了要求.工程应用软计算工程应用软计算 神经网络神经网络例例 建立一个具有两个输入的两层建立一个具有两个输入的两层BP神经网络神经网络.第一第一层采用正切层采用正切S形神经元,第二层采用线性神经元形神经元,第二层采用线性神经元.net=newff(-1 2;0 5,3,1,tansig purelin,traingd);对单个输入向量进行仿真:对单个输入向量进行仿真:p=1;2;a=sim(net,p)对对3个输入向量进行仿真:个
35、输入向量进行仿真:p=1 3 2;2 4 1;a=sim(net,p);工程应用软计算工程应用软计算 神经网络神经网络感知机神经网络的工具函数感知机神经网络的工具函数函数名称函数名称函数描述函数描述newpnewp创建感知机神建感知机神经网网络hardlimhardlim硬限幅硬限幅传递函数函数hardlimshardlims对称硬限幅称硬限幅传递函数函数dotproddotprod权值点点积函数函数netsumnetsum网网络输入求和函数入求和函数initlayinitlay某某层的初始化函数的初始化函数initwbinitwb某某层的的权值和和阈值初始化函数初始化函数initzeroin
36、itzero零零权值阈值初始化函数初始化函数initinit感知机神感知机神经网网络的初始化函数的初始化函数工程应用软计算工程应用软计算 神经网络神经网络感知机神经网络的工具函数感知机神经网络的工具函数函数名称函数名称函数描述函数描述maemae求平均求平均绝对误差性能函数差性能函数learnplearnp感知机神感知机神经网网络的学的学习函数函数learnpnlearnpn标准感知机神准感知机神经网网络的学的学习函数函数adaptwbadaptwb网网络的的权值阈值的自适的自适应函数函数adaptadapt神神经网网络自适自适应函数函数trainwbtrainwb网网络的的权值阈值训练函数函
37、数traintrain感知机神感知机神经网网络的的训练函数函数simsim神神经网网络的仿真函数的仿真函数nntoolnntool图形用形用户界面启界面启动函数函数工程应用软计算工程应用软计算 神经网络神经网络BP神经网络的工具函数神经网络的工具函数 函数名称函数名称函数描述函数描述newffnewff创建建BPBP神神经网网络logsiglogsig对数数S S型型传递函数函数tansigtansig正切正切S S型型传递函数函数purelinpurelin线性性传递函数函数initinitBPBP网的网的权值和和阈值初始化函数初始化函数simsim神神经网网络的仿真函数的仿真函数adapt
38、adapt神神经网网络自适自适应函数函数traingdtraingdBPBP网梯度下降网梯度下降训练函数函数traingdmtraingdmBPBP网网动量梯度下降量梯度下降训练函数函数工程应用软计算工程应用软计算 神经网络神经网络BP神经网络的工具函数神经网络的工具函数 函数名称函数名称函数描述函数描述-BP-BP网网训练函数函数traingdatraingda自适自适应修改学修改学习率算法率算法traingdxtraingdx带动量量项的自适的自适应修改学修改学习率算法率算法trainrptrainrp有有弹回的回的BPBP算法算法traincgftraincgfFletcher-Powe
39、llFletcher-Powell共共轭梯度算法梯度算法traincgptraincgpPolak-RibierePolak-Ribiere共共轭梯度算法梯度算法traincgbtraincgbPowell-BealePowell-Beale共共轭梯度算法梯度算法trainscgtrainscg比例共比例共轭梯度算法梯度算法trainbfgtrainbfgBFGS Quasi-NewtonBFGS Quasi-Newton算法算法trainosstrainossOne step secantQuasi-NewtonOne step secantQuasi-Newton算法算法工程应用软计算工程
40、应用软计算 神经网络神经网络函数名称函数名称函数描述函数描述trainlmtrainlmBPBP网网训练函数(函数(Levenberg-Marquardt Levenberg-Marquardt 算法)算法)trainscgtrainscgBPBP网网训练函数(比例共函数(比例共轭梯度算法)梯度算法)trainbrtrainbrBPBP网网训练函数(函数(规则化化调整,增整,增强网网络泛化性能泛化性能premnmxpremnmx、postmnmxpostmnmx、tramnmxtramnmx训练样本本处理(最大最小型函数)理(最大最小型函数)prestdprestd、poststdpostst
41、d、trastdtrastd训练样本本处理(零均理(零均值和和标准偏差型准偏差型函数)函数)prepcaprepca、trapcatrapca训练样本本处理理(主要元素分析型函数主要元素分析型函数)postregpostreg训练结果分析果分析nntoolnntool图形用形用户界面启界面启动函数函数工程应用软计算工程应用软计算 神经网络神经网络2.4.5 利用利用Matlab作函数作函数BP网络逼近的网络逼近的实例实例 BP网络逼近定理网络逼近定理:对于任何闭区间内的连续函数,:对于任何闭区间内的连续函数,都可以用一个二层的都可以用一个二层的BP网络逼近网络逼近.BP网作逼近要研究的问题网作
42、逼近要研究的问题:隐层神经元个数,神:隐层神经元个数,神经元不同的传递函数及经元不同的传递函数及BP网络不同的训练函数对网网络不同的训练函数对网络的性能影响络的性能影响.对函数采样得到网络的输入变量对函数采样得到网络的输入变量P和目标变量和目标变量T.P=-1:0.1:1T=-0.8642-0.5193-0.0656 0.3394 0.5765 0.5940 0.4148 0.1202-0.1812-0.3910-0.4500-0.3537-0.1482 0.0889 0.2765 0.3564 0.3104 0.1634-0.0281-0.1970-0.2881 网络设为网络设为net,显然
43、输入、输出层神经元个数为,显然输入、输出层神经元个数为1.工程应用软计算工程应用软计算 神经网络神经网络 设计隐层神经元个数为设计隐层神经元个数为1-16,实验确定最佳个数,实验确定最佳个数.16个神经元隐层的个神经元隐层的BP网络网络Matlab程序程序:P=-1:0.1:1;T=-0.8642-0.5193-0.06560.33940.5765 0.59400.41480.1202-0.1812-0.3910 -0.4500-0.3537-0.14820.08890.2765 0.35640.31040.1634-0.0281-0.1970 -0.2881;net=newff(minmax
44、(P),16,1,tansig,tansig,traingdx);%隐层神经元数目为隐层神经元数目为16,隐层传递函数为,隐层传递函数为tansig,输出层传递函数为,输出层传递函数为tansig,训练函数为,训练函数为traingdxnet.trainParam.epochs=10 000;%训练步数为训练步数为10 000步步net.trainParam.goal=0.000 001;%目标误差目标误差0.000 001net=train(net,P,T);%对样本进行网络训练对样本进行网络训练y=Sim(net,P);%样本经训练好的网络输出实际结果样本经训练好的网络输出实际结果err=
45、y-T;%err为误差向量为误差向量E=norm(err);%E为逼近误差为逼近误差工程应用软计算工程应用软计算 神经网络神经网络结论结论(1)在相同的条件下,输出层传递函数)在相同的条件下,输出层传递函数tansig、purelin对网络性能的影响相差不大;对网络性能的影响相差不大;(2)如果目标误差精度要求不是很高,)如果目标误差精度要求不是很高,BP网络隐层网络隐层神经元数目为神经元数目为8是最合适的,网络结构相对简单,收是最合适的,网络结构相对简单,收敛速度也较快;敛速度也较快;(3)如果目标误差精度要求较高,隐层神经元数目)如果目标误差精度要求较高,隐层神经元数目为为16最合适,逼近
46、误差最合适,逼近误差E小,收敛速度也快许多;小,收敛速度也快许多;(4)traingd,traingda,traingdm是较差的训练函是较差的训练函数,收敛时间长,且逼近误差数,收敛时间长,且逼近误差E也很大,而训练函也很大,而训练函trainrp,traincgf,traincgp,traincgb,trainscg,trainbfg,trainoss性能一般,性能一般,trainlm是较佳的是较佳的训练函数,收敛时间很短,且逼近误差训练函数,收敛时间很短,且逼近误差E很小很小;(5)traingdx有机结合了自适应修改学习率算法和有机结合了自适应修改学习率算法和动量批梯度下降算法,因此网
47、络训练速度更快动量批梯度下降算法,因此网络训练速度更快.工程应用软计算工程应用软计算 神经网络神经网络 由由一一系系列列实实验验:设设计计隐隐层层神神经经元元数数目目为为16,输输入入、输输出出层层神神经经元元数数目目为为1,隐隐层层、输输出出层层传传递递函函数数均均为为tansig,训训练练函函数数为为traingdx,样样本本训训练练步步数数为为10000,误差,误差E为为0.0044959目标误差目标误差0.000 001.输出结果说明:输出结果说明:net.IW1,1表示隐层和输入层神经元间连接权值表示隐层和输入层神经元间连接权值,net.LW2,1表示输出层和隐层神经元间连接权值表示
48、输出层和隐层神经元间连接权值.net.b1表示隐层表示隐层16个神经元的阈值个神经元的阈值,net.b2表示输出层表示输出层1个神经元的阈值个神经元的阈值.网络网络net输出向量输出向量y为:为:-0.8642-0.5192-0.0656 0.3392 0.5798 0.5909 0.4148 0.1202-0.1812-0.3910-0.4500-0.3537-0.1482 0.0889 0.2765 0.3564 0.3104 0.1634-0.0281-0.1970-0.2881 网络网络net输出误差向量输出误差向量err为为:0 0.0001 0-0.0002 0.0033-0.00
49、31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.工程应用软计算工程应用软计算 神经网络神经网络训练过程误差变化情况训练过程误差变化情况函数逼近结果函数逼近结果误误差差曲曲线线图图 工程应用软计算工程应用软计算 神经网络神经网络2.5 神经网络应用实神经网络应用实例例 2.5.1 利用利用BP网网络对肺功能自络对肺功能自动分类动分类 问题:问题:临床上根据肺活量计描述出受试者深呼吸时临床上根据肺活量计描述出受试者深呼吸时的肺容量曲线,或用呼吸速度计描绘出受试者出力呼气的肺容量曲线,或用呼吸速度计描绘出受试者出力呼气时的呼吸速率曲线来测定肺功能时的呼吸速率曲线来测定肺功能.美国北
50、卡罗来纳州立大学的美国北卡罗来纳州立大学的 H.Gage和和T.Miller提出提出了采用了采用BP网络对肺功能自动分类的方法(网络对肺功能自动分类的方法(1988年)年).工程应用软计算工程应用软计算 神经网络神经网络肺容量曲线肺容量曲线余气量余气量功能余气量功能余气量呼气储备量呼气储备量潮气量潮气量时间时间容量(升)容量(升)总总容容量量肺肺活活量量2046工程应用软计算工程应用软计算 神经网络神经网络 解:解:1)将深呼吸时测得的肺活量曲线数字化,在肺)将深呼吸时测得的肺活量曲线数字化,在肺活量图上取活量图上取80个采样点,对应个采样点,对应BP网输入的网输入的80个节点个节点.2)网络