搜档网
当前位置:搜档网 › 基于BP神经网络PID整定原理和算法步骤-精品

基于BP神经网络PID整定原理和算法步骤-精品

基于BP神经网络PID整定原理和算法步骤-精品
基于BP神经网络PID整定原理和算法步骤-精品

摘要

神经网络作为一门新兴的信息处理科学,是对人脑若干基本特性的抽象和模拟。它是以人的大脑工作模式为基础,研究自适应及非程序的信息处理方法。这种工作机制的特点表现为通过网络中大量神经元的作用来体现自身的处理功能,从模拟人脑的结构和单个神经元功能出发,达到模拟人脑处理信息的目的。

目前,在国民经济和国防科技现代化建设中神经网络具有广阔的应用领域和发展前景,其应用领域主要表现在信息领域、自动化领域、工程领域和经济领域等。

本文以BP神经网络作为研究对象。研究的内容主要有:首先介绍了神经网络的概念、控制结构,学习方式等。其次,介绍了人工神经元模型,并对BP神经网络的基本原理及推导过程进行详细阐述。再次将BP神经网络的算法应用于PID 中,介绍了基于BP神经网络PID整定原理和算法步骤。最后利用 MATLAB/Simulink 对BP神经网络PID控制系统进行仿真,得出BP神经网络的控制效果明显好,它具有很强的自整定,自适应功能。

关键词:BP算法,PID控制,自整定

ABSTRACT

As a kind of emerging information processing science,the neural network can simulate some basic characteristic of human brain. It is an information-processed method which takes person's cerebrum working pattern as a foundation and studies the model of adaptive and non- program. The characteristics of this kind of work mechanism are that it can show its processing function through the massive neurons function in the network. Then, it starts with simulating the human brain structure and the single neuron function to achieve the goal that simulates the human brain to process information.

Nowadays, the neural network has wide application fields and prospects in the national economy and modernization of national defense science. It mainly applies in information, automation, economical and so on.

This article takes the BP neural network as the research object. The content of the research mainly contain: firstly, it introduces the concept of neural network, control structure and mode of study and so on. Secondly, it introduces the artificial neuron model, the basic principles of BP neural network and the derivation process in detail. Then, it applies BP neural network in the PID, and introduces the tuning principles of PID based the BP neural network and steps of the algorithm. Finally, Matlab/Simulink is used to simulate the BP neural network PID control system. In the consequence, the performance of BP neutral network control significantly good. BP neural network control system has a strong self-tuning, adaptive function.

KEY WORDS: BP algorithm, PID control, self-tuning

目录

摘要 .......................................................... I ABSTRACT.......................................................... II 第1章绪论.. (2)

1.1选题背景和意义 (2)

1.2神经网络技术国内外发展现状 (3)

第2章神经网络的原理和应用 (6)

2.1神经网络的基本概念 (6)

2.2神经网络的控制结构 (6)

2.2.1 前馈网络 (6)

2.2.2 反馈网络 (6)

2.3神经网络的功能 (7)

2.4神经网络的学习 (7)

2.4.1神经网络的学习方式 (7)

2.4.2神经网络的学习算法 (8)

2.5人工神经元(MP)模型 (8)

2.6BP算法原理 (10)

2.7BP网络的前馈计算 (11)

2.8BP网络权系数的调整规则 (12)

2.9BP网络学习算法的计算步骤 (14)

2.10本章小结 (14)

第3章 BP神经网络PID控制方法研究 (15)

3.1引言 (15)

3.2基于BP神经网络的PID整定原理 (15)

3.3本章小结 (19)

第4章仿真研究 (20)

4.1BP神经网络自整定PID控制系统 (20)

4.2仿真结果分析 (27)

4.3本章小结 (27)

第5章结论与展望 (28)

参考文献 (30)

附录 (31)

致谢.......................................... 错误!未定义书签。

第1章绪论

1.1选题背景和意义

在计算机技术没有发展的条件下,大量需求的控制对象是一些较为简单的单输入单输出线性系统,而且对这些对象的自动控制要求是保持输出变量为要求的恒值,消除或减少输出变量与给定值之误差、误差速度等。而PID控制的结构,正是适合于这种对象的控制要求。因此PID控制是最早发展起来的控制策略之一,由于其算法简单,鲁棒性好和可靠性高,被广泛应用于过程控制中,尤其适用于可建立精确数学模型的确定性控制系统。然而实际工业生产过程往往具有非线性,时变不确定性,难以建立精确地数学模型,应用常规PID控制器不能达到理想的控制效果,而且在实际生产现场中,由于受到参数整定方法繁杂的困扰,常规PID控制器往往整定不良,性能欠佳,对运行工况的适应性很差。所以人们从工业生产过程需要出发,基于常规PID控制器的基本原理,对其进行了各种各样的改进,形成所谓智能PID控制[1]。而其中神经网络所具有的大规模的并行处理和分布式的信息存储;极强的自学、联想额容错能力;良好的自适应和自组织性;多输入、多输出的非线性系统都基本符合工程的要求。人工神经网络作为生物控制论的一个成果,其触角几乎延伸到各个工程领域,并且在这些领域中形成新的生长点。

以神经网络研究为开端,整个学术界对计算的概念和作用有了新的认识和提高。计算不仅仅局限于数学中,更不仅采取逻辑的、离散的形式,在大量的物理现象以至生物学对象中,进行各种各样的计算,而且大量的运算表现在对模糊低精度模拟量的并行计算,对于这一类计算,传统的计算机是无能为力的。神经网络的数学理论本质是非线性的数学理论,因此,现代非线性科学方面的进展必将推动神经网络的研究,同时,神经网络理论也会对非线性科学提出新课题。神经网络研究的对象是神经系统,这是高度进化的复杂系统,也是系统科学中一个重要的具体的领域。神经网络的研究不仅重视系统的动态特性,而且强调事件和信息在系统内部的表达和产生。

神经网络应用时不需考虑过程或现象的内在机理,一些高度非线性和高度复杂的问题能较好地得到处理,因此神经网络在控制领域取得了较大的发展,特别在模型辨识、控制器设计、优化操作、故障分析与诊断等领域迅速得到应用。神经网络控制作为二十一世纪的自动化控制技术,国内外理论与实践均充分证明,其在工业复杂过程控制方面大有用武之地。而工业现场需要先进的控制方法,迫切需要工程化实用化的神经网络控制方法,所以研究神经网络在控制中的应用,对提高我国的自动化水平和企业的经济效益具有重大意义[2]。神经网络具有很强的非线性逼近能力和自学习能力,所以将BP神经网络算法与PID控制相结合产生的间接自校正控制策略,能自动整定控制器的参数,使系统在较好的性能下运行。

虽然人工神经网络存在着以上的许多优点及广泛的应用,但同时也存在着一些不足,

由于神经网络的不足阻碍了神经网络的发展,在现实应用中BP神经网络是最为广泛的神经网络模型,BP神经网络是在1986年被提出的,因其系统地解决了多层网络中隐含单元连接权的学习问题,它同样具有人工神经网络所具有的特点。本课题是以BP神经网络模型研究为主。BP神经网络的缺点主要表现在以下几个方面:

(1)学习过程收敛速度慢,训练易陷入瘫痪;

(2)训练过程中易陷入局部极小值;

(3)网络泛化能力差;

(4)隐节点数及权重和阈值初始值的选取缺乏理论指导:

(5)未考虑样本选择对系统的影响;

(6)未考虑传递函数对神经网络系统的影响;

另外,网络结构的确定:包括隐含层数及各隐含层节点数的确定:以及学习率的选取等问题的存在严重阻碍了BP神经网络的发展,致使其理论发展缓慢。同时也因为BP网络的这些缺点限制了其应用领域的拓宽及应用程度的深入,不利于国民经济的健康发展。因此,研究BP神经网络显然具有重要理论意义和重要的应用价值。

1.2神经网络技术国内外发展现状

当今的自动控制技术都是基于反馈的概念。反馈理论的要素包括三个部分:测量、比较和执行。测量关心的变量,与期望值相比较,用这个误差纠正调节控制系统的响应。PID (比例-积分-微分)控制器作为最早实用化的控制器已有50多年历史,现在仍然是应用最广泛的工业控制器。PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。在实际生产过程中,由于受到参数整定方法繁杂的困扰,因此常规PID控制的应用受到很大的限制和挑战。人们对PID应用的同时,也对其进行各种改进,主要体现在两个方面:一是对常规PID本身结构的改进,即变结构PID控制。如积分分离算法,抗积分饱和算法和微分项的改进等等。另一方面,与模糊控制、神经网络控制和专家控制相结合,扬长避短,发挥各自的优势,形成所谓智能PID控制。

神经网络是一个由大量简单的处理单元广泛连接组成的系统,用来模拟人脑神经系统的结构和功能。它从开始研究到发展并不是一帆风顺的,经历了兴起到低潮,再转入新的高潮的曲折发展道路。20世纪80年代中期以来,在美国、日本等一些西方工业发达国家里,掀起了一股竞相研究、开发神经网络的热潮。近十多年来人工神经网络的发展也表明了,这是一项有着广泛的应用前景的新型学科,它的发展对目前和未来科学技术水平的提高将有重要影响。

初期阶段美国心理学家wi11iamJames(1890)发表了《心理学原理》一书,论述了相关学习、联想记忆的基本原理,对人脑功能作了创见性地工作。他指出:当前基本的脑细

胞曾经一起相继被激活过,其中一个受到刺激重新激活时,会将刺激传播到另一个。同时,James认为:在大脑皮层上任意点的刺激量,是其他所有发射点进入该点的总和。美国心理学家W.S.Mcculloh与数学家W.H.Pirts(1943)合作,用逻辑数学工具研究客观事件在形成神经网络中的数学模型表达,从此开创了对神经网络的理论研究。Bernard Widrow 和MareianHoff(1962)提出了一种连续取值的线性加权求和阈值网络,即自适应线性元件网络,也可以看成是感知器的变形,它成功地应用于自适应信号处理和雷达天线控制等连续可调过程。他们在人工神经网络理论上创造了一种被人们熟知的Widrow-Hoff学习训练算法,并用硬件电路实现人工神经网络方面的工作,为今天用大规模集成电路实现神经网络计算机奠定了基础。

90年代初,对神经网络的发展产生了很大的影响是诺贝尔奖获得者Edelamn提出Darwinism模型。他建立了一种神经网络系统理论,例如,Darwinism的结构包括Dawin 网络和Nallance网络,并且这两个网络是并行的,而他们又包含了不同功能的一些子网络。他采用了Hebb权值修正规则,当一定的运动刺激模式作用后,系统通过进化,学会扫描跟踪目标。Narendra和Parthasarathy(1990年)提出了一种推广的动态神经网络系及其连接权的学习算法,它可表示非线性特性,增强了鲁棒性。神经网络理论有较强的数学性质和生物学特性,尤是神经科学、心理学和认识科学等方面提出一些重大问题,是向神经网络理论研究的新挑战,因而也是它发展的最好的机会。

近十年来,神经网络理论与实践有了引人注目的进展,它再一次拓展了计算概念的内涵,使神经计算、进化计算成为新的学科,神经网络的软件模拟得到了广泛的应用。科技发达国家的主要公司对神经网络芯片、生物芯片情有独钟。例如Intel公司、IBM公司和HNC公司已取得了多项专利,已有产品进入市场,被国防、企业和科研部门选用,许多公众手中也拥有神经网络实用化的工具,其商业化令人鼓舞。神经网络在国民经济和国防科技现代化建设中具有广阔的应用领域和发展前景。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适用于处理需要同时考虑多因素和多条件的、不精确和模糊的信息处理问题。它主要应用领域有:语音识别、图像识别、计算机视觉、智能机器人、故障诊断、实时语言翻译、企业管理、市场分析、决策优化、物资调运、自适应控制、专家系统、智能接口、神经心理学、心理学和认知科学研究等等。

PID控制要取得较好的控制效果,就必须通过调整好比例、积分、微分三种控制作用,形成控制量中既有相互配合又相互制约的关系。这种关系不一定是简单的线性组合,从变化无穷的非线性组合中可以找出最佳关系。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控制。因此基于神经网络的PID不仅能适应环境变化,且有较强的鲁棒性。

本设计正是研究基于神经网络PID控制理论及其应用,特别是基于反向传播算法的PID控制的基本原理,然后利用BP神经网络PID控制器对一个单闭环调速系统进行仿真研究,并和常规的PID控制进行对比,从而得出BP神经网络PID控制器具有较强的自整

定、自适应的优点。

第2章神经网络的原理和应用

2.1 神经网络的基本概念

人工神经网络(ANN,Artificial Neural Network),又称并行分布处理模型或连接机制模型,是基于模仿人类大脑的结构和功能而构成的一种信息处理系统或计算机系统。它具有很多与人类智能相类似的特点,诸如结构与处理的并行性、知识分布存储、容错性强、通过训练学习可具备适应外部环境的能力、模式识别能力和综合推理能力等。它是模仿生理学上的人脑神经网络的结构和功能的数学模型,由大量人工神经元连接而成的一种能够进行复杂的逻辑操作的自适应非线性动态信息处理系统。它具有高度的并行性、高度的非线性、良好的容错性、联想记忆功能和自适应等特点。

2.2神经网络的控制结构

人工神经网络是生物神经网络的一种模拟和近似。它主要从两个方面进行模拟。一种是从生理结构和实现机理方面进行模拟,它涉及生物学、生理学、心理学、物理及化学等许多基础科学。生物神经网络的结构和机理相当复杂,现在距离完全认识他们还相差甚远。另一种是从功能上加以模拟,即尽量使得人工神经网络具有生物神经网络的某些功能特性,如学习、识别、控制等功能。从功能上来看,人工神经网络根据连接方式主要分为两类。

2.2.1 前馈网络

前馈神经网络是整个神经网络体系中最常见的一种网络,其网络中各个神经元接收前一级的输入,并输出到下一级,网络中没有反馈。网络中节点分为两类,即输入单元和计算单元,每一计算单元可有任意个输入,但只有一个输出(它可耦合到任意多个其他节点作为输入)。通常前馈网络可分为不同的层,第i层的输入只与第i-1层输出相连,输入和输出节点与外界相连,而其他中间层称为隐含层,它们是一种强有力的学习系统,其结构简单而易于编程。从系统的观点看,前馈网络是一静态非线性映射,通常简单非线性处理的符合映射可获得复杂的非线性处理能力。但从计算的观点看,前馈神经网络并非是一种强有力的计算系统,不具有丰富的动力学行为。大部分前馈神经网络是学习网络,并不注意系统的动力学行为,它们的分类能力和模式识别能力一般强于其他类型的神经网络。

2.2.2 反馈网络

反馈神经网络又称为递归网络或回归网络。在反馈网络中,输入信号决定反馈系统的初始状态,然后系统经过一系列的状态转移后,逐渐收敛于平衡状态。这样的平衡状态就

是反馈网络经计算后输出的结果,由此可见,稳定性是反馈网络中最重要的问题之一。如果能找到网络的Lyapunov函数,则能保证网络从任意的初始状态都能收敛到局部最小点。反馈神经网络中所有节点都是计算单元,同时也可接收输入,并向外界输出。

2.3神经网络的功能

神经网络在控制领域中的应用功能,基本有以下几个方面:

(1)非线性映射和函数逼近功能。这种非线性映射可以是连续的,也可以是离散的,可以是一维的,也可以是多维的。在前馈网络中均有此功能。

(2)模式记忆与联想功能。几乎所有的神经网络都能以连接权形式存储一定数量的模式,并能实现对扭曲模式的自联想和异联想的功能。

(3)优化计算功能。正因为有此功能,能对给定的一个问题,获得局部或全局的最优化解。可用于动态、静态规划与优化计算等。

2.4神经网络的学习

2.4.1 神经网络的学习方式

神经网络的学习也称为训练,指的是通过神经网络所在环境的刺激作用调整神经网络的自由参数,使神经网络以一种新的方式对外部环境作出反应的一个过程。能够从环境中学习和在学习中提高自身性能是神经网络最有意义的性质。神经网络经过反复学习对其环境更为了解。

神经网络学习方式可分为:有导师学习、无导师学习和再励学习三类。

1)有导师学习又称为有监督学习,在学习时需要给出导师信号或称为期望输出。神经网络对外部环境是未知的,但可以将导师看成对外部环境的了解,由输入输出样本集合来表示。导师信号或期望输出响应代表了神经网络的执行情况的最佳结果,即对于网络输入调整网络参数,使得网络输出逼近导师信号或期望响应。

2)无导师学习包括强化学习与无监督学习或称为自组织学习。在强化学习中,对输入输出映射的学习是通过与外界环境的连续作用最小化性能的标量索引而完成的。在无监督学习或称为自组织学习中没有外部导师或评价来统观学习过程,而是提供一个关于网络学习表示方法质量的测量尺度,根据该尺度将网络的自由参数最优化。一旦网络与输入数据的统计规律达成一致,就能够形成内部表示方法来为输入特征编码,并由此自动得出新的类别。

3)再励学习介于上述两种情况之间,外部环境对系统输出结果只给出评价而不是正确答案,学习系统经过强化那些受奖励的动作来改善自身性能。

2.4.2神经网络的学习算法

常用的三种学习规则有以下几种: 1).无监督的Hebb 学习规则

Hebb 学习是一类相关学习,其基本思想是:如果两个神经元同时被激活,则它们之间的联接强度的增强与它们激励的乘积成正比,以i o 表示神经元i 的激活值,j o 表示神经元j 的激活值,ij w 表示神经元i 和神经元j 的连接权值,则Hebb 学习规则可表示

()()()ij j i w k o k o k η?= (2-1)

式中:η为学习速率。

2).有监督的Delta 学习规则

在Hebb 学习规则中,引入教师信号,即将j o 换成希望输出j d 与实际输出j o 之差,就构成有监督学习的学习规则

()(()())()ij j j i w k d k o k o k η?=- (2-2)

3).有监督的Hebb 学习规则

将无监督的Hebb 学习规则和有监督的Delta 学习两者结合起来就构成有监督的Hebb 学习规则

()(()())()(i j j j i j w k d k o k o k o k η?=- (2-3)

2.5人工神经元(MP )模型

1943年,美国心理学家MeCulloch 和数学家Pitts 共同提出“模拟生物神经元”,被称为MP 的人工神经元,人工神经网络是由大量的处理单元即人工神经元广泛互连组成的网络,网络的信息处理功能由神经元间相互作用来实现,知识与信息的存储表现为网络元件间分布式的物理联系,网络的学习和识别取决于各种神经元件连接权系数的动态演化过程。其主要特征为连续时间非线性动力学、网络的全局作用、大规模的并行分布处理和联想学习能力。MP 的人工神经元一般是一个多输入多输出的非线性部件,其基本结构如图2-1所示。

1y j y

n y

图2-1 MP 神经元模型结构

其中,i y :神经元i 的输出,它可以与其他多个神经元通过权连接。

j y :神经元的输入。

ij w :神经元的连接权值。

i θ:神经元的阈值。 ()i f u :神经元的非线性作用函数,又称为激发函数。

神经元的输出i y ,可用下式描述:

1()()n

i i j j i j y f w y i j θ==-≠∑ (2-4)

1

n

i ij j u w i

θ==-∑ (2-5)

()i i y f u = (2-6)

激发函数f (u )一般有以下几种形式。

1)阶跃函数 函数表达式为

(2-7a)

2)分段线性函数 函数表达式为

(2-7b)

3)Sigmoid 型函数

最常用的Sigmoid 型函数为

1

()1exp()

f x ax =

+- (2-8)

式中,参数a 可控制其斜率。

Sigmoid 型函数也称为S 型函数,上式表示的是一种非对称S 型函数。 另一种常用的Sigmoid 型函数为双曲正切对称S 型函数,即

1exp()

()tanh()1exp()x f x x x --==

+- (2-9)

2.6 BP 算法原理

1986年,D.E.Rumelhart 和J.L.McClelland 提出了一种利用误差反向传播训练算法的神经网络,简称BP 网络,是一种隐含层的多层前馈网络,系统地解决了多层中隐含单元连接权的学习问题。

如果网络的输入节点数为M 、输出节点数为L ,则此神经网络可看成是从M 维欧式空点到L 维欧式空间的映射。这种映射是高度非线性的,其主要用于:

(1)模式识别与分类:用于语言、文字、图像的识别,医学特征的分类和诊断等。 (2)函数逼近:用于非线性控制系统的建模、机器人的轨迹控制及其其他工业控制等。

(3)数据压缩:用于编码压缩和恢复、图像数据的压缩和存储以及图像特征的抽取等。

BP 学习算法的基本原理是梯度最速下降法,它的中心思想是调整权值使网络总误差最小。也就是采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。网络的学习过程是一种误差边向后传播边修正权系数的过程。

多层网络运用BP 学习算法时,实际上包含了正向和反向传播两个阶段。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层不能得到期望输出,则转入反向传播,将误差信号沿原来的连接通道返回,通过修改各层神经元的权值 ,使误差信号最小。将上一层节点的输出传送到下一层时,通过调整连接权系数来达到增强或削弱这些输出的作用。除了输入层的节点外,隐含层和输出层的节点的净输入时前一层节点输出的加权和。每个节点的激活程度由它的输入信号、激活函数和节点的偏置来决定。但对于输入层、输入模式送到输入层节点上,这一节点的输出即等于输入。注意:这种网络没有反馈存在,实际运行仍是单向的,所以不能将其看成是一非线性动力学系统,而只是一种非线性映射关系。

图3-1 BP 神经网络结构图

具有神经网络的结构如图3-1,图中设有M 个输入节点1x ,2x ,m x ,中间为隐含层i 个,输出为l 个。

2.7 BP 网络的前馈计算

假设有M 个输入节点,L 个输出节点,网络的隐含层含有q 个神经元。

在训练网络的学习阶段,设有N 个训练样本,先假定用其中的某一个样本p 的输入/输出模式对{Xp}和{Tp}对网络进行训练,隐含层的第i 个神经元在样本p 作用下输入为

1

1

M M

p p p i

ij j

i ij j i

j j net w o w x θθ===-=-∑∑

(i=1,2….q ) (2-10) 网络隐含层含有q 个神经元,式中p j o 和p j x 分别为输入节点j 在样本p 作用时的输入和输出,对输入节点而言两者相当;ij w 为输入层神经元j 与隐含层神经元i 之间的连接权值;

i θ为隐含层神经元i 的阈值;M 为输入层的节点数,即输入的个数。

隐含层第i 个神经元的输出为

()p p i i o g net = i=(1,2….q ) (2-11)

式中的g ()为激活函数。

对于Sigmoid 型激活函数

101

()1exp[()/]f x x θθ=

+-+ (2-12)

式中,参数1θ表示偏值,正的1θ使激活函数水平向左移动;0θ的作用是调节Sigmoid 函数形状的,较小的0θ使Sigmoid 函数逼近一个阶跃限幅函数,而较大的0θ将使Sigmoid 函数变得较为平坦。

隐含层激活函数g(p i net )的微分函数为

()'()()1(1)p p p

p p i i i i i g net g net g net o o ??=-=-??

(i=1,2….q ) (2-13)

隐含层第i 个神经元的输出p i o 将通过权系数的向前传播到输出层第k 个神经元作为它输入之一,而输出层第k 个神经元的总输入为

1q

p

p k

ki i k

i net w o θ==-∑

(k=1,2….L ) (2-14) 式中,ki w 为隐含层神经元i 与输出层神经元k 之间的连接权值;k θ为输出神经元k 的阈值;q 为隐含层的节点数。

输出层的第k 个神经元的实际输出为

()p p k k net g net = (k=1,2….L ) (2-15)

输出层激活函数()p k g net 的微分函数为

'()()1()(1)p p p p p k k k k k g net g net g net o o ??=-=-?

?

(k=1,2….L ) (2-16)

若其输出与给定模式对的期望输出p k t 不一致,则将其误差信号从输出端反向传播回

来,并在传播过程中对加权系数不断修正,直到输出层神经元上得到所需要的期望输出值

p k t 为止。对样本p 完成网络权系数的调整后,再送入另一样本模式对进行类似学习,直到完成N 个样本的训练学习为止。

2.8 BP 网络权系数的调整规则

对于每一个样本p 的输入模式对的二次型误差函数为

2

1

1()2L p

p p k k k J t o ==-∑ (2-17)

则系统对所有N 个训练样本的总误差函数为

211

1()2N L p

p k k p k J t o ===-∑∑ (2-18)

式中,N 为模式样本对数;L 为网络输出节点数。

一般来说,基于p J 还是基于J 来完成加权系数空间的梯度搜索会获得不同的结果。在Rumelhart 等人的学习加权规则中,学习过程按使误差函数p J 减小最快的方向调整加权系数直到获得满意的加权系数集为止。这里加权系数的修正时顺序操作的,网络对各模式对一个一个地顺序输入并不断学习,类似于生物神经网络的处理过程,但不是真正的梯度搜索过程。系统最小误差的真实梯度搜索方法是基于式(2-18)的最小化方法。

1)输出层权系数的调整

权系数应按p J 函数梯度变化的方向调整,使网络逐渐收敛。根据梯度法,可得输出层每个神经元权系数的修整公式为

1()p q p p

p p p

p k ki ki i k i p p p

i ki ki ki k k k

J J J J net w w o o w w w net net net ηηηθη=???????=-=-?=-?-=-???????∑ (2-19)

式中,η为学习速率,η>0。

定义

'()()()(1)p

p p

p p p p p p p p k k

k k k k k k k p p p

k k k

J J o t o g net t o o o net o net δ???=-=-?=-?=--???(2-20)

因此输出层的任意神经元k 的加权系数修整公式为

()(1)p p p p p p p ki k i k k k k i w o t o o o o ηδη?==-- (2-21)

式中,p k o 为输出节点k 在样本p 作用时的输出;p i o 为隐含节点i 在样本p 作用时的输出;

p k t 为在样本p 输入输出对作用时输出节点k 的目标值。

2)隐含层权系数的调整

根据梯度法,可得隐含层每个神经元权系数的修整公式为

1

()p M

p p

p p p p i ij ij j i i j p p

j ij ij ij i i J J J net w w o o w w w net net ηηηθηδ=??????=-=-?=-?-=?????∑ (2-22) 式中,η为学习速率,η>0。

'()(1)p p p

p p p

p p p i i i i i p p p p p

i i i i i

J J J J o g net o o net o net o o δ?????=-=-?=-?=-?-????? (2-23)

由于隐含层一个单元输出的改变会影响与该单元相连接的所有输出单元的输入,即

1111

1

()()p q L

L p p

p p

k ki i k p p p p p k k i i k i k

i L

L

p

p

p

ki k ki p

p

k k i k

J J J net w o o net o net o J J w w o net θδ=====?????-=-?=-?-???????-

=-

?=??∑∑∑∑∑ (2-24)

因此,隐含层的任意神经元i 的加权系数修正公式为

1(1)()L

p

p p p p p

ij i j

i

i

k ki j k w o o o w o ηδηδ=?==-∑ (2-25)

式中,p i o 为隐含节点i 在样本p 作用时的输出;p j o 为在输入节点j 在样本p 作用时的输出,即输入节点j 的输入(因对输入节点两者相当)。

输出层的任意神经元k 在样本p 作用时的加权系数改进公式为

(1)()p p ki ki k i w k w k o ηδ?+=?+ (2-26)

隐含层的任意神经元i 在样本p 作用时的加权系数改进公式为

(1)()p p

ij ij i j w k w k o ηδ?+=?+ (2-27)

由式(2-17)和(2-18)可知,对于给定的某一个样本p ,可根据误差要求调整网络的加权系数使其满足要求;对于给定的另一个样本,再根据误差要求调整网络的加权系数使其满足要求,直到所有样本作用下的误差都满足要求为止。这种计算过程称为在线学习过程。

如果学习过程按使误差函数J 减小最快的方向调整加权系数,采用类似的推导过程可得输出层和隐含层的任意神经元k 和i 在所有样本作用时的加权系数增量公式

1(1)()N

p p

ki ki k i p w k w k o ηδ=?+=?+∑ (2-28)

1

(1)()N

p p

ij ij i j p w k w k o ηδ=?+=?+∑ (2-29)

根据式(3-19)和(3-20)所得权的修正是所有样本输入后,计算完总的误差后进行的,这种修正称为批处理学习或称为离线学习。批处理修正后可保证其总误差J 向减少的

方向变化,在样本多的时候,它再比在线学习的收敛速度快。

因此,BP 网络的学习可采用两种方式,即在线学习和离线学习。在线学习是对训练集内每个模式对逐一更新网络权值的一种学习方式,其特点是学习过程中需要较少的存储单元,但有时会增加网络的整体输出误差,以上推导即为在线学习过程。因此,使用在线学习时一般应使学习因子足够小,以保证用训练集内每个模式训练一次后,权值的总体变化充分接近于最快速下降。所谓离线学习也称为批处理学习,是指用训练集内所有模式依次训练网络,累加各权值修正量并统一修正网络权值的一种学习方式,它能使权值变化沿最快速下降方向进行。其缺点是学习过程中需要较多的存储单元,好处是学习速度较快。在具体实际应用中,当训练模式很多时,可以将整个训练模式分为若干组,采用分组批处理学习方式。

2.9 BP 网络学习算法的计算步骤

(1)初始化:置所有的加权系数为最小的随机数

(2)提供训练集:给出顺序赋值的输入量1x ,2x …N x 和期望的输出向量1t ,2t …N t ; (3)计算实际输出:按式(2-10)~式(2-16)计算隐含层、输出层各神经元的输出; (4)按式(2-17)或式(2-18)计算期望值与实际输出的误差; (5)按式(2-26)或式(2-28)调整输出层的加权系数ki w ; (6)按式(2-27)或式(2-29)调整隐含层的加权系数ij w ; (7)返回计算(3)步,直到误差满足要求为止。

2.10本章小结

本章在介绍神经网络基本理论知识的基础上,着重给出了BP 多层前向网络神经网络的结构、学习算法,为以后引入BP 神经网络PID 控制算法提供了理论基础。

第3章 BP神经网络PID控制方法研究

3.1引言

所谓“神经网络”是以一种简单计算处理单元(即神经元)为节点,采用某种网络拓扑结构构成的活性网络,可以用来描述几乎任意的非线性系统;不仅如此,神经网络还具有学习能力、记忆能力、计算能力以及各种智能处理能力,在不同程度和层次上模仿人脑神经系统的信息处理、存储和检索功能。

神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应能力,提高了系统的智能水平。由于神经网络己具有逼近任意连续有界非线性函数的能力,对于长期困扰控制界的非线性系统和不确定性系统来说,神经网络无疑是一种解决问题的有效途径。采用神经网络方法设计的控制系统具有更快的速度(实时性)、更强的适应能力和更强的鲁棒性。

正因为如此,近年来在控制理论的所有分支都能够看到神经网络的引入及应用,对于传统的PID控制当然也不例外,以各种方式应用于PID控制的新算法大量涌现,其中有一些取得了明显的效果。

传统的控制系统设计是在系统数学模型己知的基础上进行的,因此,它设计的控制系统与数学模型的准确性有很大的关系。神经网络用于控制系统设计则不同,它可以不需要被控对象的数学模型,只需对神经网络进行在线或离线训练,然后利用训练结果进行控制系统的设计。神经网络用于控制系统设计有多种类型,多种方式,既有完全脱离传统设计的方法,也有与传统设计手段相结合的方式。

一般来说,基于神经网络的PID控制器的典型结构主要有两种,单神经元网络PID 控制器和神经网络PID控制器两种控制算法。本章将详细介绍基于BP神经网络的PID控制算法,然后对单闭环调速系统的进行设计,对其进行Matlab算法仿真。

3.2基于BP神经网络的PID整定原理

PID控制要取得好的控制效果,就必须通过调整好比例、积分和微分三种控制作用在形成控制量中相互配合又相互制约的关系,这种关系不一定是简单的“线性组合”,而是从变化无穷的非线性组合中找出最佳的关系。BP神经网络具有逼近任意非线性函数的能力,而且结构和学习算法简单明确。通过网络自身的学习,可以找到某一最优控制规律下的P、I、D参数。

基于BP神经网络的PID控制系统结构如图3-1所示。控制器由两部分组成:①经典的PID控制器:直接对被控对象进行闭环控制,并且三个参数p k、i k、d k为在线调整方式。②BP神经网络:根据系统的运行状态,调节PID控制器的参数,以其达到某种性能指标的最优化,即使输出层神经元的输出状态对应于PID控制器的三个可调参数p k、i k、

d k ,通过神经网络的自身学习、加权系数调整,从而使其稳定状态对应于某种最优控制

规律下的PID 的控制器参数 。

图3-1 基于BP 神经网络自适应PID 控制系统

经典增量式数字PID 的控制算式为

()(1)(()(1))()(()2(1)(2))p i d u k u k k e k e k k e k k e k e k e k =-+--++--+-(3-1)

式中p k 、i k 、d k 分别为比例、积分、微分系数。

将p k 、i k 、d k 视为依赖于系统运行状态的可调系数时,可将(3-1)描述为

()[(1),,,,(),(1),(2)]p i d u k f u k k k k e k e k e k =--- (3-2)

式中,(.)f 是与p k 、i k 、d k 、u(k-1)、e(k)等有关的非线性函数,可以用BP 神经网络通过训练和学习找到这样一个最佳控制规律。

设BP 神经网络NN 是一个采用三层BP 结构,其结构如图3-2所示,它有m 个输入节点,q 个隐含节点,3个输出节点。输入变量的个数m 取决于被控系统的复杂程度。输出节点分别对应PID 控制器的三个参数p k 、i k 、d k ,由于p k 、i k 、d k 不能为负,所以输出层神经元活化函数取非负的Sigmoid 函数。

图3-2 BP 神经网络结构图

由图可见,网络隐含层的输入为

(1)()

j

x j o

=

j =1,2…m (3-3)

网络隐含层的输入输出为

(2)

(2)(1)

()m

i

ij j

j net k w o ==∑ (3-4)

(2)(2)()(())i i

k f net k o

= i =1,2…q (3-5)

式中,{}(2)

ij w 为隐含层加权系数,上标(1)

、(2)、(3)分别代表输入层、隐含层、输出层,f(x)为双曲正切函数,即()()/()x x x x f x e e e e --=-+。

最后,网络输出层三个节点的输入、输出分别为

(3)

(3)(2)

0()()i q

l

li i net k w o k ==∑ (3-6)

(3)(3)()(())l l o k g net k = l =1,2,3 (3-7)

(3)1(3)

2(3)

3()()()p i d o k k o k k o k k ?

=?=?

?=?

(3-8)

式中,(3)

li w 为输出层加权系数,输出层神经元活化函数取为非负的Sigmoid 函数

()/()

x x x

g x e e e -=+。 取性能指标函数

21

()(()())2E k rin k yout k =

- (3-9)

按照梯度下降法修正网络的权系数,即按E(k)对加权系数的负梯度方向搜索调整,并附加一使搜索快速收敛全局极小的惯性项,则有

(3)

(3)(3)

()

()(1)li li li

E k w k w k w η

γ??=-+?-? (3-10) η为学习率,γ为惯性系数。而

(3)(3)(3)(3)(3)

(3)()()()()()()....()()()()l l li l l li

o k net k

E k E k y k u k w y k u k o k net k w ??????=?????? (3-11) 这里需要用到的变量()/()y k u k ??,由于()/()y k u k ??未知,所以近似用符号函数来取代,由此带来计算不精确的影响可以通过调整学习速率η来补偿。

由(3-1)式得

BP神经网络预测的matlab代码

BP神经网络预测的matlab代码附录5: BP神经网络预测的matlab代码: P=[ 0 0.1386 0.2197 0.2773 0.3219 0.3584 0.3892 0.4159 0.4394 0.4605 0.4796 0.4970 0.5278 0.5545 0.5991 0.6089 0.6182 0.6271 0.6356 0.6438 0.6516

0.6592 0.6664 0.6735 0.7222 0.7275 0.7327 0.7378 0.7427 0.7475 0.7522 0.7568 0.7613 0.7657 0.7700] T=[0.4455 0.323 0.4116 0.3255 0.4486 0.2999 0.4926 0.2249 0.4893 0.2357 0.4866 0.2249 0.4819 0.2217 0.4997 0.2269 0.5027 0.217 0.5155 0.1918 0.5058 0.2395 0.4541 0.2408 0.4054 0.2701 0.3942 0.3316 0.2197 0.2963 0.5576 0.1061 0.4956 0.267 0.5126 0.2238 0.5314 0.2083 0.5191 0.208 0.5133 0.1848 0.5089 0.242 0.4812 0.2129 0.4927 0.287 0.4832 0.2742 0.5969 0.2403 0.5056 0.2173 0.5364 0.1994 0.5278 0.2015 0.5164 0.2239 0.4489 0.2404 0.4869 0.2963 0.4898 0.1987 0.5075 0.2917 0.4943 0.2902 ] threshold=[0 1] net=newff(threshold,[11,2],{'tansig','logsig'},'trainlm');

神经网络pid控制matlab程序

%Single Neural Adaptive PID Controller clear all; close all; x=[0,0,0]'; xiteP=0.40; xiteI=0.35; xiteD=0.40; %Initilizing kp,ki and kd wkp_1=0.10; wki_1=0.10; wkd_1=0.10; %wkp_1=rand; %wki_1=rand; %wkd_1=rand; error_1=0; error_2=0; y_1=0;y_2=0;y_3=0; u_1=0;u_2=0;u_3=0; ts=0.001; for k=1:1:1000 time(k)=k*ts; yd(k)=0.5*sign(sin(2*2*pi*k*ts)); y(k)=0.368*y_1+0.26*y_2+0.1*u_1+0.632*u_2; error(k)=yd(k)-y(k); %Adjusting Weight Value by hebb learning algorithm M=4; if M==1 %No Supervised Heb learning algorithm wkp(k)=wkp_1+xiteP*u_1*x(1); %P wki(k)=wki_1+xiteI*u_1*x(2); %I wkd(k)=wkd_1+xiteD*u_1*x(3); %D K=0.06; elseif M==2 %Supervised Delta learning algorithm wkp(k)=wkp_1+xiteP*error(k)*u_1; %P wki(k)=wki_1+xiteI*error(k)*u_1; %I wkd(k)=wkd_1+xiteD*error(k)*u_1; %D K=0.12; elseif M==3 %Supervised Heb learning algorithm wkp(k)=wkp_1+xiteP*error(k)*u_1*x(1); %P wki(k)=wki_1+xiteI*error(k)*u_1*x(2); %I wkd(k)=wkd_1+xiteD*error(k)*u_1*x(3); %D K=0.12; elseif M==4 %Improved Heb learning algorithm wkp(k)=wkp_1+xiteP*error(k)*u_1*(2*error(k)-error_1); wki(k)=wki_1+xiteI*error(k)*u_1*(2*error(k)-error_1); wkd(k)=wkd_1+xiteD*error(k)*u_1*(2*error(k)-error_1); K=0.12; end x(1)=error(k)-error_1; %P

基于BP神经网络的PID控制器的设计

基于BP神经网络的PID控制器的研究与 实现 课程名称:人工神经网络

目录 前言 (3) 一、BP神经网络 (4) 二、模拟PID控制系统 (5) 三、基于BP神经网络的PID控制器 (6) 四、仿真程序 (10) 五、运行结果 (17) 六、总结 (18) 参考文献 (19)

前言 人工神经网络是以一种简单神经元为节点,采用某种网络拓扑结构构成的活性网络,可以用来描述几乎任意的非线性系统。不仅如此,人工神经网络还具有学习能力、记忆能力、计算能力以及各种智能处理能力,在不同程度和层次上模仿人脑神经系统的信息处理、存储和检索的功能。不同领域的科学家,对人工神经网络有着不同的理解、不同的研究内容,并且采用不同的研究方法。对于控制领域的研究工作者来说,人工神经网络的魅力在于:①能够充分逼近任意复杂的非线性关系,从而形成非线性动力学系统,以表示某种被控对象的模型或控制器模型;②能够学习和适应不确定性系统的动态特性;③所有定量或定性的信息都分布储存于网络内的各神经单元,从而具有很强的容错性和鲁棒性;④采用信息的分布式并行处理,可以进行快速大量运算。对于长期困扰控制界的非线性系统和不确定性系统来说,人工神经网络无疑是一种解决问题的有效途径。正因为如此,把人工神经网络引入传统的PID 控制,将这两者结合,则可以在一定程度上解决传统PID 调节器不易在线实时整定参数、难于对一些复杂过程和参数慢时变系统进行有效控制的不足。

一、BP神经网络 BP神经网络是一种有隐含层的多层前馈网络,其结构如图1-1所示。如果把具有M个输入节点和L个输出节点的BP神经网络看成是从M维欧氏空间到L维欧氏空间的非线性映射,则对于具有一定非线性因数的工业过程被控对象,采用BP网络来描述,不失为一种好的选择。在BP神经网络中的神经元多采用S型函数作为活化函数,利用其连续可导性,便于引入最小二乘学习算法,即在网络学习过程中,使网络的输出与期望输出的误差边向后传播边修正加权系数,以期使误差均方值最小。BP神经网络的学习过程可分为前向网络计算和反向误差传播——连接加权系数修正两个部分,这两个部分是相继连续反复进行的,直至误差满足要求。不论学习过程是否已经结束,只要在网络的输入节点加入输入信号,则这些信号将一层一层向前传播;通过每一层时要根据当时的连接加权系数和节点的活化函数与阈值进行相应计算,所得的输出再继续向下一层传输。这个前向网络计算过程,既是网络学习过程的一部分,也是将来网络的工作模式。在学习过程结束之前,如果前向网络计算的输出和期望输出之间存在误差,则转入反向传播,将误差沿着原来的连接通路回送,作为修改加权系数的依据,目标是使误差减小。

基于BP神经网络预测模型指南

基于BP神经网络的国际黄金价格预测模型 公文易文秘资源网顾孟钧张志和陈友2009-1-2 13:35:26我要投稿添加到百度搜藏 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型。 [关键词] MATLAB BP神经网络预测模型数据归一化 一、引言 自20世纪70年代初以来的30多年里,世界黄金价格出现了令人瞠目的剧烈变动。20 世纪70年代初,每盎司黄金价格仅为30多美元。80年代初,黄金暴涨到每盎司近700美元。本世纪初,黄金价格处于每盎司270美元左右,此后逐年攀升,到2006年5月12日达到了26年高点,每盎司730美元,此后又暴跌,仅一个月时间内就下跌了约160美元,跌幅高达21.9%。最近两年,黄金价格一度冲高到每盎司900多美元。黄金价格起伏如此之大,本文根据国际黄金价格的影响因素,通过BP神经网络预测模型来预测长期黄金价格。 二、影响因素 刘曙光和胡再勇证实将观察期延长为1972年~2006年时,则影响黄金价格的主要因素扩展至包含道琼斯指数、美国消费者价格指数、美元名义有效汇率、美国联邦基金利率和世界黄金储备5个因素。本文利用此观点,根据1972年~2006年各因素的值来建立神经网络预测模型。 三、模型构建

BP神经网络实验 Matlab

计算智能实验报告 实验名称:BP神经网络算法实验 班级名称: 2010级软工三班 专业:软件工程 姓名:李XX 学号: XXXXXX2010090

一、实验目的 1)编程实现BP神经网络算法; 2)探究BP算法中学习因子算法收敛趋势、收敛速度之间的关系; 3)修改训练后BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果,理解神经网络分布存储等特点。 二、实验要求 按照下面的要求操作,然后分析不同操作后网络输出结果。 1)可修改学习因子 2)可任意指定隐单元层数 3)可任意指定输入层、隐含层、输出层的单元数 4)可指定最大允许误差ε 5)可输入学习样本(增加样本) 6)可存储训练后的网络各神经元之间的连接权值矩阵; 7)修改训练后的BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果。 三、实验原理 1 明确BP神经网络算法的基本思想如下: 在BPNN中,后向传播是一种学习算法,体现为BPNN的训练过程,该过程是需要教师指导的;前馈型网络是一种结构,体现为BPNN的网络构架 反向传播算法通过迭代处理的方式,不断地调整连接神经元的网络权重,使得最终输出结果和预期结果的误差最小 BPNN是一种典型的神经网络,广泛应用于各种分类系统,它也包括了训练和使用两个阶段。由于训练阶段是BPNN能够投入使用的基础和前提,而使用阶段本身是一个非常简单的过程,也就是给出输入,BPNN会根据已经训练好的参数进行运算,得到输出结果 2 明确BP神经网络算法步骤和流程如下: 1初始化网络权值 2由给定的输入输出模式对计算隐层、输出层各单元输出 3计算新的连接权及阀值, 4选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。

pid神经网络控制器的设计

第三章 PID 神经网络结构及控制器的设计 在控制系统中,PID 控制是历史最悠久,生命力最强的控制方式,具有直观、实现简单和鲁棒性能好等一系列优点。但近年来随着计算机的广泛应用,智能控制被越来越广泛的应用到各种控制系统中。智能控制方法以神经元网络为代表,由于神经网络可实现以任意精度逼近任意函数,并具有自学习功能,因此适用于时变、非线性等特性未知的对象,容易弥补常规PID 控制的不足。将常规PID 控制同神经网络相结合是现代控制理论的一个发展趋势。 3.1 常规PID 控制算法和理论基础 3.1.1 模拟PID 控制系统 PID(Proportional 、Integral and Differential)控制是最早发展起来的控制策略之一,它以算法简单、鲁捧性好、可靠性高等优点而梭广泛应用于工业过程控制中。 PID 控制系统结构如图3.1所示: 图3.1 模拟PID 控制系统结构图 它主要由PID 控制器和被控对象所组成。而PID 控制器则由比例、积分、微分三个环节组成。它的数学描述为: 1() ()[()()]t p D i de t u t K e t e d T T dt ττ=+ +? (3.1) 式中,p K 为比例系数; i K 为积分时间常数: d K 为微分时间常数。 简单说来,PID 控制器各校正环节的主要控制作用如下: 1.比例环节即时成比例地反映控制系统的偏差信号()e t ,偏差一旦产生,控制器立即产生控制作用,以减少偏差。

2.积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数i T ,i T 越大,积分作用越弱,反之则越强。 3.微分环节能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。 具体说来,PID 控制器有如下特点: (1)原理简单,实现方便,是一种能够满足大多数实际需要的基本控制器; (2)控制器能适用于多种截然不同的对象,算法在结构上具有较强的鲁棒性,在很多情况下,其控制品质对被控对象的结构和参数摄动不敏感。 3.1.2 数字PID 控制算法 在计算机控制系统中,使用的是数字PID 控制器,数字PID 控制算法通常又分为位置式PID 控制算法和增量式PID 控制算法。 1.位置式PID 控制算法 由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,故对式(3.1)中的积分和微分项不能直接使用,需要进行离散化处理。按模拟PID 控制算法的算式(3.1),现以一系列的采样时刻点kT 代表连续时间t ,以和式代替积分,以增量代替微分,则可以作如下的近似变换: t kT = (0,1,2,3...)k = ()()()k k t j j e t dt T e jT T e j ==≈=∑∑? ()()[(1)]()(1) de t e kT e k T e k e k dt T T ----≈= (3.2) 式中,T 表示采样周期。 显然,上述离散化过程中,采样周期T 必须足够短,才能保证有足够的精度。为了书写方便,将()e kT 简化表示()e k 成等,即省去T 。将式(3.2)代入到(3.1)中可以得到离散的PID 表达式为: 0(){()()[()(1)]}k D p j I T T u k K e k e j e k e k T T ==+ + --∑ (3.3) 或 0 ()()()[()(1)]}k p I D j u k K e k K e j K e k e k ==++--∑ (3.4) 式中,k ——采样序号,0,1,2...k =; ()u k ——第k 次采样时刻的计算机输出值;

基于S函数的RBF神经网络PID控制器

基于径向基函数的神经网络的PID控制器 摘要 RBF神经网络在分类问题中得到了广泛的应用,尤其是模式识别的问题。许多模式识别实验证明,RBF具有更有效的非线性逼近能力,并且RBF神经网络的学习速度较其他网络快。本文在具有复杂控制规律的S函数构造方法的基础上,给出了基于MATLAB语言的RBF神经网络PID控制器,及该模型的一非线性对象的仿真结果。 关键词:S函数;RBF神经网络PID控制器;Simulink仿真模型径向基函数(RBF-Radial Basis Function)神经网络是由J.Moody和C.Darken 在20世纪80年代末提出的一种神经网络,它具有单隐层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接受域(或称野-Receptive Field)的神经网络结构,因此,RBF神经网络是一种局部逼近网络,已证明它能以任意精度逼近任意连续函数。 1.S函数的编写方法 S函数是Simulink中的高级功能模块,Simulink是运行在MATLAB环境下用于建模、仿真和分析动态系统的软件包。只要所研究的系统模型能够由MATLAB语言加以描述,就可构造出相应的S函数,从而借助Simulink中的S 函数功能模块实现MATLAB与Simulink之间的沟通与联系,这样处理可以充分发挥MATLAB编程灵活与Simulink简单直观的各自优势。当系统采用较复杂的控制规律时,Simulink中没有现成功能模块可用,通常都要采用MATLAB编程语言,编写大量复杂而繁琐的源程序代码进行仿真,一是编程复杂、工作量较大,二来也很不直观。如果能利用Simulink提供的S函数来实现这种控制规律,就可以避免原来直接采取编程的方法,不需要编写大量复杂而繁琐的源程序,编程快速、简捷,调试方便,则所要完成的系统仿真工作量会大大减少。 RBF神经网络PID控制器的核心部分的S函数为: function [sys,x0,str,ts]=nnrbf_pid(t,x,u,flag,T,nn,K_pid,eta_pid,xite,alfa,beta0,w0) switch flag,

用matlab编BP神经网络预测程序加一个优秀程序

求用matlab编BP神经网络预测程序 求一用matlab编的程序 P=[。。。];输入T=[。。。];输出 % 创建一个新的前向神经网络 net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputWeights=net_1.IW{1,1} inputbias=net_1.b{1} % 当前网络层权值和阈值 layerWeights=net_1.LW{2,1} layerbias=net_1.b{2} % 设置训练参数 net_1.trainParam.show = 50; net_1.trainParam.lr = 0.05; net_1.trainParam.mc = 0.9; net_1.trainParam.epochs = 10000; net_1.trainParam.goal = 1e-3; % 调用TRAINGDM 算法训练BP 网络 [net_1,tr]=train(net_1,P,T); % 对BP 网络进行仿真 A = sim(net_1,P); % 计算仿真误差 E = T - A; MSE=mse(E) x=[。。。]';%测试 sim(net_1,x) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 不可能啊我2009 28对初学神经网络者的小提示

第二步:掌握如下算法: 2.最小均方误差,这个原理是下面提到的神经网络学习算法的理论核心,入门者要先看《高等数学》(高等教育出版社,同济大学版)第8章的第十节:“最小二乘法”。 3.在第2步的基础上看Hebb学习算法、SOM和K-近邻算法,上述算法都是在最小均方误差基础上的改进算法,参考书籍是《神经网络原理》(机械工业出版社,Simon Haykin著,中英文都有)、《人工神经网络与模拟进化计算》(清华大学出版社,阎平凡,张长水著)、《模式分类》(机械工业出版社,Richard O. Duda等著,中英文都有)、《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)。 4.ART(自适应谐振理论),该算法的最通俗易懂的读物就是《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第15和16章。若看理论分析较费劲可直接编程实现一下16.2.7节的ART1算法小节中的算法. 4.BP算法,初学者若对误差反传的分析过程理解吃力可先跳过理论分析和证明的内容,直接利用最后的学习规则编个小程序并测试,建议看《机器学习》(机械工业出版社,Tom M. Mitchell著,中英文都有)的第4章和《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第11章。 BP神经网络Matlab实例(1) 分类:Matlab实例 采用Matlab工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考Matlab帮助文档。 % 例1 采用动量梯度下降算法训练BP 网络。 % 训练样本定义如下: % 输入矢量为 % p =[-1 -2 3 1 % -1 1 5 -3] % 目标矢量为t = [-1 -1 1 1] close all clear clc % --------------------------------------------------------------- % NEWFF——生成一个新的前向神经网络,函数格式: % net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) takes, % PR -- R x 2 matrix of min and max values for R input elements % (对于R维输入,PR是一个R x 2 的矩阵,每一行是相应输入的

神经网络PID控制

基于神经网络PID控制算法在多缸电液伺服系统同步控制中的仿真 研究 丁曙光,刘勇 合肥工业大学,合肥,230009 摘要:本文介绍了神经网络控制原理,提出了神经网络PID算法,通过选定三层神经网络作为调节函数,经过Simulink仿真确定了神经网络PID控制器的参数,设计了神经网络PID控制器。推导出多缸液压同步控制系统在各种工况下的传递函数,并把该控制器应用到多缸液压同步控制系统中。经过仿真研究表明该控制器控制效果良好,能满足多缸液压同步的控制要求。 关键词:多缸同步;PID算法;仿真;神经网络 Study on the simulation and appllication of hydraulic servo system of straihtening machine based on Immune Neural network PID control alorithm DING Shu-guang, GUI Gui-sheng,ZHAI Hua Hefei University of Technology, Hefei 23009 Abstract:The principle of immune feedback and immune-neural network PID algorithm was respectively.An immune-neural network PID controller was designed by which an adaline neural network was selected as antibody stay function and parameters of the immune-neural network PID controller were determined by simulation.The transfer function of the hydraulic servo system of crankshaft straightenin on were introduced in different working conditions.The immune-neural network PID controller was applied to hydraulic system of crankshaft straightenin.The simulation and equipment were done,and results show that its control effectiveness is better and can meet the needs of he hydraulic servo-system of crankshaft straightening hydraulic press. Key words:straightening machine; Immune control arithmetic; simulation;neural network 0引言 精密校直液压机(精校机)液压伺服系统是精校机的执行环节,高精度液压位置伺服控制是精校机的关键技术之一,它保证了液压伺服控制系统的控制精度、稳定性和快速性,是完成校直工艺的必要条件。因此,精校机液压伺服控制系统的研究,为精校机产品的设计和制造提供了理论依据,对校直技术和成套设备的开发具有重大的意义[1]。 精校机液压位置伺服系统是一个复杂的系统,具有如下特点:精确模型难建立,要求位置控制精度高、超调量小、响应快、参数易变且难以确定[1]。因此该系统的控制有较大的难度。传统的PID控制虽然简单易行,但参数调整困难,具有明显的滞后特性,PID 控制很难一直保证系统的控制精度,Smith预估补偿 国家重大科技专项资助(项目编号:2009ZX04004-021)安徽省自然科学基金资助(项目编号:090414155)和安徽省科技攻关项目资助(项目编号:06012019A)制方法从理论上为解决时滞系统的控制问题提供了一种有效的方法,但是Smith预估器控制的鲁棒性差,系统性能过分依赖补偿模型的准确性,限制了它在实际过程中的应用[1~5]。 近年来,人们开始将生物系统的许多有益特性应用于各种控制中[1~5],取得了一定成果。自然免疫系统使生物体的一个高度进化、复杂的功能系统,它能自适应地识别和排除侵入肌体的抗原性异物,并且具有学习、记忆和自适应调节功能,以维护肌体内环境的稳定。自然免疫系统非常复杂,但其抵御抗原(antigen)的自适应能力十分显著。生物信息的这种智能特性启发人们利用它来解决一些工程难题,这就引起多种免疫方法的出现。人工免疫系统就是借鉴自然免疫系统自适应、自组织的特性而发展起来的一种智能计算技术。该算法在大量的干扰和不确定环境中都具很强的鲁棒性和自适应性,在控制、优化、模式识别、分类

基于BP神经网络PID整定原理和算法步骤

摘要 神经网络作为一门新兴的信息处理科学,是对人脑若干基本特性的抽象和模拟。它是以人的大脑工作模式为基础,研究自适应及非程序的信息处理方法。这种工作机制的特点表现为通过网络中大量神经元的作用来体现自身的处理功能,从模拟人脑的结构和单个神经元功能出发,达到模拟人脑处理信息的目的。 目前,在国民经济和国防科技现代化建设中神经网络具有广阔的应用领域和发展前景,其应用领域主要表现在信息领域、自动化领域、工程领域和经济领域等。 本文以BP神经网络作为研究对象。研究的内容主要有:首先介绍了神经网络的概念、控制结构,学习方式等。其次,介绍了人工神经元模型,并对BP神经网络的基本原理及推导过程进行详细阐述。再次将BP神经网络的算法应用于PID 中,介绍了基于BP神经网络PID整定原理和算法步骤。最后利用 MATLAB/Simulink 对BP神经网络PID控制系统进行仿真,得出BP神经网络的控制效果明显好,它具有很强的自整定,自适应功能。 关键词:BP算法,PID控制,自整定

ABSTRACT As a kind of emerging information processing science,the neural network can simulate some basic characteristic of human brain. It is an information-processed method which takes person's cerebrum working pattern as a foundation and studies the model of adaptive and non- program. The characteristics of this kind of work mechanism are that it can show its processing function through the massive neurons function in the network. Then, it starts with simulating the human brain structure and the single neuron function to achieve the goal that simulates the human brain to process information. Nowadays, the neural network has wide application fields and prospects in the national economy and modernization of national defense science. It mainly applies in information, automation, economical and so on. This article takes the BP neural network as the research object. The content of the research mainly contain: firstly, it introduces the concept of neural network, control structure and mode of study and so on. Secondly, it introduces the artificial neuron model, the basic principles of BP neural network and the derivation process in detail. Then, it applies BP neural network in the PID, and introduces the tuning principles of PID based the BP neural network and steps of the algorithm. Finally, Matlab/Simulink is used to simulate the BP neural network PID control system. In the consequence, the performance of BP neutral network control significantly good. BP neural network control system has a strong self-tuning, adaptive function. KEY WORDS: BP algorithm, PID control, self-tuning

MATLAB基于BP神经网络PID控制程序

MATLAB基于BP神经网络PID控制程序>> %BP based PID Control clear all; close all; xite=0.20; %学习速率 alfa=0.01; %惯性因子 IN=4;H=5;Out=3; %NN Structure wi=[-0.6394 -0.2696 -0.3756 -0.7023; -0.8603 -0.2013 -0.5024 -0.2596; -1.0749 0.5543 -1.6820 -0.5437; -0.3625 -0.0724 -0.6463 -0.2859; 0.1425 0.0279 -0.5406 -0.7660]; %wi=0.50*rands(H,IN); %隐含层加权系数wi初始化 wi_1=wi;wi_2=wi;wi_3=wi; wo=[0.7576 0.2616 0.5820 -0.1416 -0.1325; -0.1146 0.2949 0.8352 0.2205 0.4508; 0.7201 0.4566 0.7672 0.4962 0.3632]; %wo=0.50*rands(Out,H); %输出层加权系数wo初始化 wo_1=wo;wo_2=wo;wo_3=wo; ts=20; %采样周期取值 x=[0,0,0]; %比例,积分,微分赋初值 u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; y_1=0;y_2=0;y_3=0; Oh=zeros(H,1); %Output from NN middle layer 隐含层的输出I=Oh; %Input to NN middle layer 隐含层输入 error_2=0; error_1=0; for k=1:1:500 %仿真开始,共500步 time(k)=k*ts;

BP神经网络matlab源程序代码

close all clear echo on clc % NEWFF——生成一个新的前向神经网络 % TRAIN——对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 % 定义训练样本 % P为输入矢量 P=[0.7317 0.6790 0.5710 0.5673 0.5948;0.6790 0.5710 0.5673 0.5948 0.6292; ... 0.5710 0.5673 0.5948 0.6292 0.6488;0.5673 0.5948 0.6292 0.6488 0.6130; ... 0.5948 0.6292 0.6488 0.6130 0.5654; 0.6292 0.6488 0.6130 0.5654 0.5567; ... 0.6488 0.6130 0.5654 0.5567 0.5673;0.6130 0.5654 0.5567 0.5673 0.5976; ... 0.5654 0.5567 0.5673 0.5976 0.6269;0.5567 0.5673 0.5976 0.6269 0.6274; ... 0.5673 0.5976 0.6269 0.6274 0.6301;0.5976 0.6269 0.6274 0.6301 0.5803; ... 0.6269 0.6274 0.6301 0.5803 0.6668;0.6274 0.6301 0.5803 0.6668 0.6896; ... 0.6301 0.5803 0.6668 0.6896 0.7497]; % T为目标矢量 T=[0.6292 0.6488 0.6130 0.5654 0.5567 0.5673 0.5976 ... 0.6269 0.6274 0.6301 0.5803 0.6668 0.6896 0.7497 0.8094]; % Ptest为测试输入矢量 Ptest=[0.5803 0.6668 0.6896 0.7497 0.8094;0.6668 0.6896 0.7497 0.8094 0.8722; ... 0.6896 0.7497 0.8094 0.8722 0.9096]; % Ttest为测试目标矢量 Ttest=[0.8722 0.9096 1.0000]; % 创建一个新的前向神经网络 net=newff(minmax(P'),[12,1],{'logsig','purelin'},'traingdm'); % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 5000; net.trainParam.goal = 0.001; % 调用TRAINGDM算法训练 BP 网络 [net,tr]=train(net,P',T); % 对BP网络进行仿真 A=sim(net,P'); figure; plot((1993:2007),T,'-*',(1993:2007),A,'-o'); title('网络的实际输出和仿真输出结果,*为真实值,o为预测值'); xlabel('年份'); ylabel('客运量'); % 对BP网络进行测试 A1=sim(net,Ptest');

基于神经网络的PID控制

基于神经网络的PID控制 课程名称:智能控制 任课教师: 学生姓名: 学号: 年月日

摘要:本文基于BP神经网络的PID控制方法设计控制器,通过BP神经网络与PID的控制相结合的神经网络控制基本原理和设计来自适应的功能调节PID的的三个参数,并根据被控对象的近似数学模型来输出输入与输出并分析BP神经网络学习速率η,隐层节点数的选择原则及PID参数对控制效果的影响。计算机的仿真结果表示,基于BP神经网络的PID控制较常规的PID控制具有更好的自适应性,能取得良好的的控制结果。 关键字:BP算法神经网络 PID控制 Abstract:In this paper, based on BP neural network PID control method designed controller, through the BP neural network PID control with a combination of neural network control basic principles and design features adaptively adjusting the PID of the three parameters, and based on the controlled object approximate mathematical model to analyze the output and the input and output BP n eural network learning rate η, hidden layer nodes and PID parameter selection principle effect of the control . Computer simulation results indicated that based on BP neural network PID control compared with conventional PID control has better adaptability , can achieve good control results . Keyword:BP algorithms neural networks PID control 1引言 PID控制是最早发展起来的应用经典控制理论的控制策略之一,由于算法简单,鲁棒性好和可靠性高,被广泛应用于工业过程并取得了良好的控制效果。随着工业的发展,对象的复杂程度不断加深,尤其对于大滞后、时变的、非线性的复杂系统,常规PID控制显得无能为力。因此常规PID控制的应用受到很大的限制和挑战。 神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应能力,提高了系统的智能水平。此外,神经网络具有逼近任意连续有界非线性函数的能力,对于非线性系统和不确定性系统,无疑是一种解决问题的有效途径。本文将常规PID控制与神经网络控制相结合,发挥各自的优势,形成所谓的智能PID控制。采用BP神经网络方法设计的控制系统具有更快的速度(实时性)、更强的适应性和更好的鲁棒性。 2 基于BP神经网络的PID控制 PID控制要取得较好的控制结果,必须通过调整好比例、积分和微分三种控制作用,形成控制量中既要相互配合又相互制约的关系。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现最佳组合的PID控制。采用BP网络,可以建立参数Kp、Ki、Kd自学习的PID控制器。基于BP神经网络的PID控制系统结构由常规的PID控制器和神经网络两个部分构成。 2.1常规的PID控制器 PID控制器由比例(P)、积分(I)、微分(D)3个部分组成,直接对被控对象进行闭环控制,并且三个参数 Kp、Ki、Kd为在线调整方式。 2.2 神经网络 根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最

基于Bp神经网络的股票预测

基于神经网络的股票预测 【摘要】: 股票分析和预测是一个复杂的研究领域,本论文将股票技术分析理论与人工神经网络相结合,针对股票市场这一非线性系统,运用BP神经网络,研究基于历史数据分析的股票预测模型,同时,对单只股票短期收盘价格的预测进行深入的理论分析和实证研究。本文探讨了BP神经网络的模型与结构、BP算法的学习规则、权值和阈值等,构建了基于BP神经网络的股票短期预测模型,研究了神经网络的模式、泛化能力等问题。并且,利用搭建起的BP神经网络预测模型,采用多输入单输出、单隐含层的系统,用前五天的价格来预测第六天的价格。对于网络的训练,选用学习率可变的动量BP算法,同时,对网络结构进行了隐含层节点的优化,多次尝试,确定最为合理、可行的隐含层节点数,从而有效地解决了神经网络隐含层节点的选取问题。 【abstract] Stock analysis and forecasting is a complex field of study. The paper will make research on stock prediction model based on the analysis of historical data, using BP neural network and technical analysis theory. At the same time, making in-depth theoretical analysis and empirical studies on the short-term closing price forecasts of single stock. Secondly, making research on the model and structure of BP neural network, learning rules, weights of BP algorithm and so on, building a stock short-term forecasting model based on the BP neural network, related with the model of neural network and the ability of generalization. Moreover, using system of multiple-input single-output and single hidden layer, to forecast the sixth day price by BP neural network forecasting model structured. The network of training is chosen BP algorithm of traingdx, while making optimization on the node numbers of the hidden layer by several attempts. Thereby resolve effectively the problem of it. 【关键词】BP神经网络股票预测分析 1.引言 股票市场是一个不稳定的非线性动态变化的复杂系统,股价的变动受众多因素的影响。影响股价的因素可简单地分为两类,一类是公司基本面的因素,另一类是股票技术面的因素,虽然股票的价值是公司未来现金流的折现,由公司的基本面所决定,但是由于公司基本面的数据更新时间慢,且很多时候并不能客观反映公司的实际状况,采用适当数学模型就能在一定

相关主题