毕业设计(论文)-基于BP神经网络的电路故障诊断.doc

上传人:李主任 文档编号:3282834 上传时间:2019-08-07 格式:DOC 页数:51 大小:670.52KB
返回 下载 相关 举报
毕业设计(论文)-基于BP神经网络的电路故障诊断.doc_第1页
第1页 / 共51页
毕业设计(论文)-基于BP神经网络的电路故障诊断.doc_第2页
第2页 / 共51页
毕业设计(论文)-基于BP神经网络的电路故障诊断.doc_第3页
第3页 / 共51页
毕业设计(论文)-基于BP神经网络的电路故障诊断.doc_第4页
第4页 / 共51页
毕业设计(论文)-基于BP神经网络的电路故障诊断.doc_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《毕业设计(论文)-基于BP神经网络的电路故障诊断.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于BP神经网络的电路故障诊断.doc(51页珍藏版)》请在三一文库上搜索。

1、基于神经网络的电路故障诊断摘 要电路的故障诊断和神经网络是当今学术界的两大热点问题。本文主要是以模拟电路的故障诊断为例进行研究。目的在于将模拟电路故障诊断与神经网络方面的最新成果相结合,探索解决模拟电路故障诊断的一条新的途径。在简要介绍标准BP神经网络基本原理的基础上,详细说明了基于改进BP神经网络算法的模拟电路故障诊断方法和设计步骤,根据网络总误差来自适应调节网络的学习率,加速网络的收敛过程。此算法应用于电路的故障诊断,能够对被测电路的故障进行有效并且精确的分类。以折线式有效值测量电路为例,设计了基于改进BP神经网络算法的模拟电路故障诊断系统,以实际测试数据作为训练样本进行学习训练后,对其它

2、实际测量数据进行诊断,结果正确,验证了算法的有效性。 关键词:神经网络;故障诊断;模拟电路Fault Diagnosis of Circuits Based on Neural NetworkAbstractCircuit fault diagnosis and neural network are now two hot issues in the current academic. This article mainly conducts the research take the analogous circuit fault diagnosis as the example.By in

3、troducing the basic principles of standard BP neural network, a method and design steps basis on improved BP neural network algorithm is described in this paper to solve the problem of fault diagnosis for simulation circuit. The improved algorithm could adapt the learning efficiency automatically an

4、d accelerate the network convergence process according to the network total error. The fault of the measured circuit can be classified effectively and accurately owing to the algorithm application to the circuit fault diagnose. Taking the mode of available value measurement circuit of broken line as

5、 an example, we design a simulation circuit fault diagnosis system based on the improving BP neural network algorithm. After networks study and train by actual test data as training specimen, using other actual measurement data for diagnosis, we can get correct results. The results show that this me

6、thod is effective. Key word: neural network; fault diagnosis; analogous circuits 目 录引 言1第1章 绪 论21.1 诊断工程概述21.2 故障诊断机理21.3 模拟电路故障诊断的意义21.4 模拟电路故障诊断的方法31.5 神经网络故障诊断问题的提出41.6 本设计研究的内容、目的和意义5第2章 人工神经网络的简介62.1 神经网络基本原理62.2 BP网络用于故障诊断的基本思想72.3 误差反向传播(BP)神经网络结构特点8第3章 BP神经网络电路故障诊断的MATLAB实现143.1 MATLAB简介143.

7、2 神经网络工具箱及其相关函数简介153.3 训练数据的导入方法163.4 BP 神经网络的MATL AB实现16第4章 电路故障调查184.1 引言184.2 设备状态信息采集184.3 训练BP网络194.4 各种算法的比较224.5 神经网络结构的选择274.6 测试BP网络284.7 检测结果294.8 总结29结论与展望30致 谢31参考文献32附录A:外文文献及其译文33附录B:主要参考文献摘要40附录C:主要源程序代码42插图清单图2-1 神经元模型 6图2-2 BP网络结构8图2-3 BP算法流程图13图4-1实际输出的误差逼近曲线21图4-2各种算法的误差曲线27图4-3 故

8、障模式的仿真输出结果29表格清单表2-1 几种典型的神经元传递函数形式7表4-1 故障状态参数18表4-2 故障对应目标输出19表4-3 各种算法的目标精度比较 27表4-4 实际待检验的频率域参数2845引 言随着电子工业的发展,电子设备越来越复杂,其中的模拟器件和电路不可缺少。理论分析和实际应用表明,这些设备中的模拟电路比数字电路更容易发生故障。对这种设备的维护和保养十分复杂,需耗费大量的精力和财力。另外,随着超大规模模拟电路的发展和电子器件复杂性的提高,传统的人工故障诊断方法已经无法满足要求,这就迫使科技人员进一步探索新的测试理论和方法,研制新的测试设备以适应社会的需求。现代社会中,电子

9、设备或系统广泛应用于各个科学技术领域、工业生产部门以及人们的日常生活中,电子设备的可靠性直接影响着生产的效率、系统、设备及人类的生命安全。随着电子设备使用的日趋广泛,不论是在设备的生产阶段还是应用阶段,都对电路的故障诊断提出了迫切的要求,要求人们研究新的有效的诊断技术,进一步提高电子设备的可靠性,设备诊断技术引入生产现场已三十多年。最初,设备较为简单,维修人员主要靠感觉器官、简单仪表和个人经验就能胜任故障的诊断和排除工作,即为传统的诊断技术。随着科学技术的不断发展,动力机械设备越来越复杂化、精密化、系统化和自动化,同时价格也越来越昂贵,设备在现代工业生产中的作用和影响越来越大,生产的主体也逐渐

10、由人力向设备转移,与设备有关的费用越来越高,传统的诊断方法已远远不能适应。机器运行中发生的任何故障或失效不仅会引起严重后果,造成重大的经济损失,甚至还可能导致灾难性的人员伤亡和恶劣的社会影响。第1章 绪 论本章将从一般的基本概念出发,对故障诊断技术的历史与现状做一个简要综述,最后再对本论文的意义做了一个总体阐述。1.1诊断工程概述设备诊断技术是近40年来发展起来的一门学科,它是适应工程实际需要而形成的各学科交叉学科。从科学发展的大环境来看,设备诊断技术的产生也是各学科交叉发展的必然。40年代以来,人类的生产方式日益向大工业方向发展,在这种宏伟的社会大背景下,系统论,混沌学等纷纷诞生,尤其是控制

11、理论出现了重大突破,产生了一系列现代控制方法。生产系统的庞大化和复杂化同时也暴露出一些问题,即如何避免运行中的故障发生,这就要求由一门相应的诊断技术。同一时期,电子技术,尤其是计算机技术的发展,为设备诊断技术提供了必要的技术基础。近年来,传感器技术的发展,信号处理的系列技术,如各种频谱分析技术,人工智能的系列技术,如专家系统,神经网络等,以及其他技术在诊断中的应用,使诊断技术逐渐完善。1.2故障诊断机理故障诊断是研究设备运行状态信息的变化,进而识别设备运行状态的科学。从本质上讲设备诊断技术是模式分类问题,即把机器的运行状态分为正常和异常两类。进一步讲,异常的信息样本究竟属于那类故障,这又属于一

12、个模式识别问题。围绕这一问题,设备诊断技术在以下几个方面展开了理论研究。(1)信号采集技术的研究,即设备诊断技术从设备的症状入手进行研究。设备症状指机器运行是产生的代表起状态的各种信号。因此,信号的采集技术是设备诊断技术的前提。只有采集到反映实际状态的信号,诊断的后续工作才有意义。(2)信号分析和处理方法的研究是设备诊断技术的关键,也是理论研究的热点之一,这实际上就是诊断技术中的特征因子的提取技术。(3)诊断方法的研究是设备诊断技术的核心,识别设备的状态为正常还是异常,识别以后再进行原因的分析,这是诊断的实质。近年来,随着人工智能的发展,诊断自动化,智能化的要求已经变为现实,其中基于知识的专家

13、系统的研究起步最早,模糊理论由于具有处理不确定信息的能力,因此通常和专家系统结合起来。神经网络技术在诊断中的应用起步较晚,但由于它的强大的并行计算能力和自学习功能以及联想记忆功能,很适合做故障分类和模式识别,因而在诊断中得到很广泛的应用。1.3模拟电路故障诊断的意义模拟电路广泛应用于军工、通讯、自动控制、测量仪表、家用电器等各个方面。随着大规模模拟集成电路的发展,模拟电路的复杂度和密集度不断增长,对模拟电路运行可靠性的要求更为严格。就模拟电路生产工厂而言,也要求能诊断出故障以便分析原因,改进工艺以提高成品合格率。对某些用于重要设备的模拟电路,还要求能进行故障预测,也就是对模拟电路在正常工作时的

14、响应作持续不断的监测,以确定哪些元件将要失效,以便在模拟电路故障发生前将那些将要失效的元件替换掉,以避免故障发生。所有这些,通常的人工诊断技术已无法满足需要。因而,电路故障的自动诊断成为一个急待要解决的问题,自动故障诊断的关键在于诊断程序的产生,而诊断程序产生的中心问题是电路故障诊断理论。因此,模拟电路故障诊断的研究引起世界各国电路理论工作者的高度重视。 现代社会中,电子设备或系统广泛应用于各个科学技术领域、工业生产部门以及人们的日常生活中,电子设备的可靠性直接影响着生产的效率、系统、设备及人类的生命安全。随着电子设备使用的日趋广泛,不论是在设备的生产阶段还是应用阶段,都对电路的故障诊断提出了

15、迫切的要求,要求人们研究新的有效的诊断技术,进一步提高电子设备的可靠性,设备诊断技术引入生产现场己三十多年。最初,设备较为简单,维修人员主要靠感觉器官、简单仪表和个人经验就能胜任故障的诊断和排除工作,即为传统的诊断技术。随着科学技术的不断发展,动力机械设备越来越复杂化、精密化、系统化和自动化,同时价格也越来越昂贵,设备在现代工业生产中的作用和影响越来越大,生产的主体也逐渐由人力向设备转移,与设备有关的费用越来越高,传统的诊断方法已远远不能适应。机器运行中发生的任何故障或失效不仅会引起严重后果,造成重大的经济损失,甚至还可能导致灾难性的人员伤亡和恶劣的社会影响。国内外曾经发生的空难、爆炸、断裂、

16、泄漏、毁坏等恶性事件,造成了巨大的经济损失,产生了严重的社会影响。例如,1986年4月前苏联切尔诺贝利核电站四号机组发生严重振动而造成核泄露,致使2000多人死亡,直接经济损失达30亿美元。这些严重的或灾难性的事件不断发生,迫使人们在设备的故障诊断方面进行大量的研究,形成了机器设备、工程结构和工艺过程的故障诊断这一新兴的研究领域。通过对机械工况进行监测,对其故障发展趋势进行早期诊断,便可找出故障原因,采取各种措施进行维修保养,避免设备的突然损坏,使之安全经济地运转。例如,法国某电厂对其近400台主辅设备进行了两年的状态监测试验,结果表明,由于采用状态维修,电厂实际节约了54万多法郎(尚未考虑停

17、工造成的损失)。在欧美,上世纪70年代初为了确保宇宙火箭和军用设备的可靠性而开发出了设备诊断技术。国内外许多资料表明,开展故障诊断技术的经济效益是明显的。据日本统计,在采用诊断技术后,事故率减少了75%左右,维修费降低了25%-50%;英国对2000个国营工厂的调查表明,采用诊断技术后每年节省维修费3亿英磅,用于诊断技术的费用仅为0.5亿英磅。可见,设备故障诊断技术在现代工业生产中起着非常重要的作用,开展设备故障诊断技术的研究具有重要的现实意义。 在工程中实际存在着大量的多故障、多过程、突发性故障及需要对庞大机器或复杂工程系统进行的监测和诊断,现有的技术手段和方法如信号处理、模式识别等往往存在

18、较大的局限性,迫使人们深入系统地研究如Hartree所说的智能仪器系统。随着计算机技术、人工智能技术等的发展,各种智能诊断系统应运而生。故障诊断技术经过了30多年的发展,人们已经认识到了智能诊断技术的重要性,智能诊断技术己成为当今世界的研究热点之一。1.4 模拟电路故障诊断的方法 模拟电路故障诊断是微电子技术中的一个重要课题,同时也是网络理论的一个重要课,模拟电路故障诊断方法主要有以下三种: (1)用网络撕裂法作故障定位:即用Kron的撕裂法将模拟电路构成的网络分解成若干子网络,通过检测子网络中的电流、电压与原设计网络中的电流、电压有无偏移将所有子网络分为两类:正常子网络和故障子网络。 (2)

19、用伴随网络法作故障定位,根据原始网络的拓扑结构作一个伴随网络和一个故障网络,依据特勒根定律,当原始网络发生故障时,网络中的元件参数的变化值与伴随网络中的诸物理量之间具有特定的关系,在设法做出若干个独立模拟的条件下,把元件的变化值作为未知量,把原始网络和伴随网络的端口上可测的物理量作为己知量,求解故障定位方程组而得到故障所在的位置。 (3)诊断定理作故障定位,这一方法的特点是不必知道网络中各节点的电压数值,只要知道各节点电位的涨落,在故障激励参考极性一致的条件下,判断故障在网络中的位置。 上述经典方法的主要缺陷是将模拟电路近似为线性网络,用成熟的线性系统网络来解决非线性问题,这显然不具有普适性,

20、同时也不利于工程实现。近年来,随着非线性系统理论的发展,模拟电路的故障诊断理论与方法取得了长足的进步。具有代表性的方法有: (1)分段线性法进行非线性模拟电路的故障诊断,它是基于线性系统理论的故障诊断方法在非线性系统的延拓。 (2)基于谐波平衡法的非线性模拟电路的稳态分析和故障诊断,该方法被广泛地用于强非线性模拟电路的数字仿真与设计,这是一种较成熟的非线性模拟电路分析方法。 (3)基于VoIterra级数或广义频谱响应函数(GFRF)的非线性模拟电路的稳态分析和故障诊断,该方法特别适合于弱非线性模拟电路的分析与仿真。 (4)基于小波和人工神经网络的故障诊断方法。 上述方法在很大程度上克服了经典

21、方法存在的缺陷,有些方法已经在工程实践中得到成功应用。本文主要是利用神经网络理论方法分析对模拟电路的故障进行诊断。1.5 神经网络故障诊断问题的提出 模拟电路的使用虽由来已久,但模拟电路故障诊断技术的发展较慢,其原因主要有:由于模拟电路的多样性,且模拟电路的物理量是连续函数,因此模拟电路的电量模拟困难,而且模拟的模型适应性有限;模拟电路中元件参数具有容差,它引起电路工作特性的偏移,对于容差电路,许多诊断方法失去了准确性和稳定性;模拟电路中广泛存在着非线性问题,而非线性问题的求解比较困难,其计算工作量也大,实际的模拟电路通常是多层的或被封闭的,特别是集成电路,只有少数一些可及端口或节点是可测量的

22、,导致可用作故障诊断的信息不够,造成故障定位的不确定性和模糊性。 人工神经网络是在现代神经科学研究成果的基础上提出来的,它反映了人脑的基本功能,是对人脑的简化与模拟。人工神经网络是一个非线性动态系统,它通过对样本的学习建立起记忆,然后将未知模式判决为最接近的记忆,它可以处理一些环境信息十分复杂,背景知识不清楚,推理规则不明确的问题。神经网络的非线性映射特性、信息的分布存储、并行处理和全局集体作用,特别是其高度的自组织和自学习能力,使其成为故障诊断的一种有效方法和手段,神经网络的这一优良特性受到故障诊断领域专家学者的关注。神经网络故障诊断问题实质可以看成模式识别问题,通过对一系列过程参量进行测量

23、,然后用神经网络从测量空间映射到故障空间,实现故障诊断。人工神经网络之所以适合于故障诊断,有以下3个原因:(1)训练过的神经网络能存储有关过程知识,能直接从定量的、历史的故障信息中学习可以根据对象的正常历史数据训练网络,然后将此信息与当前数据进行比较,以确定故障。 (2)神经网络具有滤除噪声及在有噪声情况下得出正确结论的能力,可以训练神经网络来识别故障信息,使其能在噪声环境中有效地工作,这种滤除噪声的能力使得神经网络适合在线故障检测和诊断。 (3)神经网络具有分辨原因及故障类型的能力。 80年代以来神经网络理论受到世界各国学者的广泛重视,并且在智能控制,计算机视觉、语音识别、生物医学等方面有了

24、成功的应用。90年代后期,神经网络在电路故障诊断领域得到了应用。1.6 本设计研究的内容、目的和意义本论文的研究内容就是运用人工神经网络理论,建立BP神经网络模型,经过训练,学习,仿真,开发一套通用的故障诊断方法。本系统可方便地、递增地收集和存储专家知识而不需要任何数学模型,这对于没有数学模型存在的地方特别有用,它是用户易于理解利用专家知识解决实际问题的思路与方法,在诊断的置信度上通过数据归一化处理(在本次设计中由于数据在0-1之间,所以就没有进行这方面的处理)使系统具有容错性、提高了诊断的可靠性。总的来说,本系统具有容错、联想、推测、记忆、自适应、自学习、并行处理复杂模式等特点和功能。本设计

25、的意义在于:(1)该系统提高了故障诊断的可信度,能有效地识别故障,具有很大的实用价值。(2)系统的输出是各种标准故障模式,这样输出结果可以很明显的告知故障点,以便提示维修人员及时检修,从而避免故障进一步扩大而导致事故的发生。第2章 人工神经网络的简介2.1 神经网络基本原理神经元是神经网络的基本单元,它是对生物神经元的简化与模拟。神经元的特性在某种程度上决定了神经网络的总体特性,大量的简单的神经元的互相连结即构成了神经网络。一个典型的具有R维输入的神经元模型如图2-1 所示。 ab1(1,1)(1,R)P(1)P(2)P(R) 图2-1 神经元模型由图2-1所示,一个典型的神经元模型主要由以下

26、五部分组成:(1)输入:代表神经元R个输入。在MATLAB中,输入可以用一个维的列矢量来表示(其中T表示取转置) (2-1)(2)网络权值和阈值:代表网络权值,表示输入与神经元之间的连接强度,为神经元阈值,可以看作是一个输入恒为1的网络权值。在MATLAB中神经元的网络权值可以用一个的行矢量来表示。 (2-2)阈值为的标量。注意:网络权值和阈值都是可以调节的,这是神经网络学习特性的基本内容之一。(3)求和单元:求和单元完成对输入信号的加权求和,即: (2-3)这是神经元对输入信号处理的第一个过程。在MATLAB语言中,该过程可以通过输入矢量和权值矢量的点积形式加以描述,即: (2-4)(4)传

27、递函数:在图2-1中f表示神经元的传递函数或激发函数,它用于对求和单元的计算结果进行函数运算,得到神经元的输出。表2-1给出了几种典型的神经元传递函数形式及描述。表2-1几种典型的神经元传递函数形式传递函数的名称函数表达式函数曲线MATLAB函数a=hardlim(n)0a-1+1+1n阈值函数Bardima=purelin()0a-1+1+1n线性函数Purelina=logsig(n)0a-1+1+1n对数sigmoid函数Logsiga=tansig(n)0a-1+1+1n正切sigmoid函数tansig2.2 BP网络用于故障诊断的基本思想BP网络用于模拟电路故障诊断的基本思想为:确

28、定了电路的待测状态集后,求电路处于其中一种状态时的响应(通常是测试点的电压)必要的预处理,作为对应状态类的一个特征。对状态集中的每一类状态,都按上述方法获取大量特征,并从中筛选出具有代表性的特征构造训练样本集。然后,用这些样本训练与所求问题相对应规模的BP网络。BP网络的输入节点数应与特征向量的维数相同。输出节点的维数等于待测故障状态的类别数。在训练时,把状态特征输入到BP网络的输入节点,要求网络的输出能正确指出电路状态所属类别。在做实际电路诊断时,对被测电路施加与产生样本时相同的激励和工作条件,取得相应特征,将此特征输入到已训练好的BP网络。由BP网络的输出判断电路中是否有故障;如有,则定位

29、故障。为了从最大程度上隔离和识别故障,采用多频测试的方法。这时,从哪些频率点提取故障特征成为首要问题,测试频率选择的好坏直接影响到对故障的分辨能力和诊断效果及样本选择。2.3 误差反向传播(BP)神经网络结构特点20世纪80年代中期,Rumelhart等人提出一种误差反向传播(Back propagation简记为BP)的多层人工神经网络(ANN)学习算法,许多问题都可由它来解决,如:XOR、T-C匹配、对称性判别等。如今,BP算法已经成为目前应用最为广泛的神经网络学习算法,据统计有近90的神经网络应用是基于BP算法的。BP网络是一种多层前馈神经网络,由输入层、隐含层和输出层组成。层与层之间采

30、用全互连方式,同一层之间不存在相互连接, BP网络通常有一个或多个隐含层。构造一个BP网络需要确定其处理单元神经元的特性和网络的拓扑结构。神经元是神经网络最基本的处理单元,隐含层中的神经元采用S型变换函数,输出层的神经元可采用S型或线性型变换函数。图2-2为BP网络的结构,神经网络学习采用BP算法,学习过程由前向计算过程和误差反向传播过程组成,在前向计算过程中,输入信息从输入层经隐层逐层计算,并传向输出层,每层神经元的状态只影响下一层神经元的状态。如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号沿原来的连接通路返回,通过修改各层的神经元的权值,使得网络系统误差最小,最终网络的实际输

31、出与各自所对应的期望输出逼近。 图2-2 BP网络结构 BP算法属于算法,是一种监督式的学习算法。其主要思想是:对于M个输入学习样本,已知与其对应的输出样本。学习的目的是用网络的实际输出与目标矢量之间的误差来修改其权值,使实际与期望尽可能地接近,每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层,它由2部分组成:信息的正向传递与误差的反向传播。在正向传递过程中输入信息从输入层经隐含层逐层计算传向输出层,每一层神经元的输出作用于下一层神经元的输入。如果输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各

32、层的权值直至达到期望目标。如式2-5所示: (2-5) 其中是当前的权值和阈值矩阵,是当前表现函数的梯度,是学习速度。 (1)误差函数对输出节点权值求导:是多个的函数,但只有一个与有关,各间相互独立,其中则 (2-6)设输出节点误差为:则 (2-7)(2)误差函数对隐层节点权值求导:是多个函数,针对某一个,对应一个,它与所有有关,其中则 (2-8)设隐层节点误差为:则 (2-9)由于权值的修正,正比于误差函数沿梯度下降,则有: (2-10) (2-11)其中隐层节点误差中的表示输出节点的误差通过权值向节点反向传播成为隐层节点的误差。(3)阈值的修正阈值也是变化值,在修正权值的同时也需要修正,原

33、理同权值修正一样。误差函数对输出节点阈值求导:其中则阈值修正 (2-12)误差函数对隐层节点阈值求导:其中则 (2-13)阈值修正 (2-14)(4)传递函数的导数:型函数则 对输入节点 (2-15)对输出节点 (2-16)为了清晰的表明算法的执行过程,我们可以用下面的流程图2-3进行表示。其具体步骤如下:(1)初始化权值和阈值,即给输入层单元到隐含层单元的连接权,隐含层到输出层的连接权,隐含层的阈值,输出层单元阈值随机赋一个在(0,l)之间的较小值。(2)提供学习样本对(输入和预期输出值),给出输入向量和对应的预期输出向量,将的值输入输出层节点,依次正向计算: (=1,2,) (2-17)

34、(=1,2,) (2-18) (3)计算输出节点输出值与期望值的误差:(4) 向隐含层节点反向分配误差,也即是用连接权、输出层的一般化误差、隐含层的输出计算隐含层各单元的误差: (2-19)(5)用输出层单元的一般化误差、隐含层各单元的输出修正输出层的权值和阈值:输出层与隐含层权值修正: (2-20)输出层阈值修正: (2-21)(6)用隐含层一般化误差、输入层各单元的输入,修正连接权值和阈值:输入层与隐含层连接权值修正: (2-22)隐含值阈值修正: (2-23)(7)重复步骤(2),选取不同的训练样本,不断执行上述迭代过程,直至达到要求为止,使得误差足够小或变为零,停止学习。修正权值求权值

35、修正量结束YN是否满足要求?计算网络实际输出与期望输出之间的误差计算BP网络实际输出开始权值初始化输入样本数据图2-3 BP算法流程图第3章 BP神经网络电路故障诊断的MATLAB实现3.1 MATLAB简介下面介绍一下关于MATLAB的一些情况,因为我们将运用MATLAB来进行神经网络控制器的设计,训练学习,确定输出权值等。MATLAB(即matrix和laboratory)的前三位字母组合,意为“矩阵实验室”是美国Math Works公司自1984年开始推出的一种使用简便的工程计算语言。MATLAB主要包括以下几个部分:MATLAB语言、MATLAB工作环境、MATLAB工具箱、MATLA

36、B的应用程序接口。MATLAB是一种用于工程计算的高级语言,将计算、可视化、编程集成易于使用的环境中,所有问题及解答都以熟悉的数学记法进行表达。典型用途包括数学和算术运算形成数据获取模型、仿真和原始数据分析、研究、和形象化工程科技学图象应用开发,包括形象用户界面,构建的MATLAB是一个交互系统,其基本数据元素是一个不论几维空间的数组。它能够让你解决大量的工程计算问题,尤其是带有矩阵和矢量分式,以标量非交互式语言,如C语言或Fortran语言来编程序。MATLAB代表矩阵实验室,MATLAB最初是由LINPACK and EISPACK 项目编写的容易处理矩阵而开发的软件。MATLAB集成了L

37、APACK和BLAS库,其为矩阵运算的嵌入式软件。随着大量用户的涌入,MATLAB在这些年的作用越来越明显,在大学中,它是导论和数学、工程科学的高级课程的标准教育工具,在工业中,MATLAB是研究开发分析高效益的可选工具。MATLAB因添加一系列的特殊应用用途而称为工具箱,这个工具箱能使你学会应用专业技术,这对许多MATLAB用户来说非常重要。工具箱是综合收集了MATLAB函数(M文件),延拓MATLAB环境来解决各类特殊问题。工具箱可利用的范围包括信号处理,控制系统、神经网络、模糊逻辑、小波、仿真。下面大致介绍一下MATLAB的几个组成部分,MATLAB系统主要由五个主要部分组成:(1)开发

38、环境:这是帮助你使用MATLAB函数和文件中的一组便捷工具,这些工具许多都是图形用户界面。它包括MATLAB桌面和命令窗口,历史命令,编辑器和调试器,并且浏览器提供可视化帮助,工作区,文件和查找路径。(2)MATLAB数学函数库:它是广泛收集了算术运用,从基本的函数如求和,正弦、余弦和复杂的算术,到更加复杂的函数如矩阵转置,矩阵特征值、贝塞尔函数,和快速傅立叶变换等。(3)MATLAB语言:这是一种高级矩阵/数组语言,以控制跟随状态,函数,数据结构,输入/输出,和面向对象程序为特征。它能以“小程序”很快地创建快速丢失的程序,以及“大程序”来创建完全大型复杂应用程序等。(4)图形:MATLAB能

39、非常方便地显示矢量和矩阵图形,以及注释和打印这些图形。包括二维和三维数据,图象处理、动画和图形显示的高级函数,也包括完全用户图形显示和构建完全图形用户界面的低级函数等。(5)MATLAB应用程序界面(API):以C语言和Fortran语言简写的与MATLAB交流的库。包括从MATLAB中方便地调用程序(动态衔接),调用MATLAB作为计算工具,以及读写MAT文件等。3.2 神经网络工具箱及其相关函数简介BP神经网络设计时,需要确定网络的拓扑结构(隐层的层数及各层的神经元的数目)及其神经元的变换函数,网络的初始化,误差计算,学习规则及网络训练,训练参数及训练样本的归一化处理等方面的工作。在MAT

40、LAB6.1神经网络工具箱中,有对应的函数完成所涉及到的全部计算任务。(一) 设计BP网络的相关函数:(1)神经元变换函数:线性变换函数purelin、对数S型变换函数logsin、双曲线正切S 型变换函数tansig。 (2)BP网络生成函数newff:它是用来生成BP神经网络并进行初始化,可以确定网络层数、每层中的神经元数和变换函数。这个函数有六个输入参数,分别是:输入向量的范围、网络结构、各层变换函数、训练算法函数、学习函数和性能函数。输出参数为所生成的BP神经网络,其语法为:net=newff(PR,S1,S2,Si,TF1,TF2,TFi,BTF,BLE,PF) (3-1)其中:PR

41、是一个由每个输入向量的最大最小值构成的Rx2矩阵,R为输入神经元数目。Si是第i层网络的神经元个数,网络共有N1层。TFi是第i层网络神经元的变换函数,缺省为tansig。BTF是BP训练算法函数,缺省为trainlm.BLF是学习函数,缺省为learngdm。PF是性能函数,缺省为mse.newff在确定网络结构后会自动调用初始化函数init。用缺省参数来初始化网络中各个权值和阈值,产生一个可训练的前馈网络,即该函数的返回值net。在MATLAB中,神经网络net当做对象(object)处理,其属性用结构来定义。(二)初始化函数init:它是对网络的连接权值和阈值进行初始化。newff在创建

42、网络对象的同时,自动调动初始化函数,根据缺省的参数对网络进行连接权值和阈值初始化。(三)学习函数:提供多种学习函数,用来修正权值和阈值。基本的学习函数有:learngd、learngdm等。(四)性能函数:它是用来计算网络的输出误差。为训练提供判据,包括:函数mae是计算网络的平均绝对误差;函数mse是计算网络的均方误差;函数msereg是计算均方误差和权/阈值的加权;函数sse是计算网络的均方误差和。(五)训练函数train:BP网络的训练初始化后,可对它进行训练。在MATLAB中训练网络有两类模式:逐变模式和批处理模式。在逐变模式中,每输入一个学习样本就根据网络性能指标函数对连接权值和阈值更新一次。在批处理模式中,所有的学习样本都学习完成后,连接权值和阈值才被更新一次。使用批处理模式不需要为每一层的连接权值和阈值设定训练函数,而只需为整个网络指定一

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1