中南大学系统辨识大作业学院:信息科学与工程学院专业:控制科学与工程学生姓名:龚晓辉学号:134611066指导老师:韩华教授完成时间:2014年6月系统辨识大作业基于随机逼近算法的系统辨识设计1基于随机逼近算法的系统辨识设计龚晓辉1,21.中南大学信息科学与工程学院,长沙4100832.轨道交通安全运行控制与通信研究所,长沙410083E-mail:csugxh@csu.edu.cn摘要:本文对系统辨识的基本原理和要素进行了详细阐述,介绍和分析了系统辨识中常用的最小二乘算法,极大似然法,神经网络算法和随机逼近算法。随机逼近算法只需利用输入输出的观测来辨识系统参数,在实际中有重要运用。本文对随机逼近算法进行了详细说明。同时,针对一个三阶系统设计了KW随机逼近算法进行了参数辨识,并且和递推最小二乘法进行了对比。实验证明在实际辨识过程中两种算法各有优缺点。关键词:系统辨识,随机逼近法,递推最小二乘法1.引言在我们所学的线性系统理论中,都是在系统模型已知的情况来设计控制率,使系统达到稳定性,准确性和快速性的要求。然而,在实际系统中,对象的模型往往是未知的。而且,非线性是普遍存在的,线性系统只是对非线性系统的一种近似。因此,了解对象准确的模型,对设计控制器及其重要。在一些实际对象中,如导弹,化学过程,生物规律,药物反应,以及社会经济等,这些对象使用机理分析法比较困难,但是通过使用辨识技术可以建立系统精确的模型,确定最优控制率[1]。如今,系统辨识技术已经在航空航天,海洋工程,生物学等各个领域获得了广泛运用。2.系统辨识的基本思想与常用方法辨识的目的是为了获得对象模型。对象的模型有多种表现形式,它包括直觉模型,图表模型,数学模型,解析模型,程序模型和语言模型。这些模型之间可以相互转换。我们在建立系统模型时,需要遵循目的性,实在性,可辨识性,悭吝性的基本原则。目的性指的是建模的目的要明确,实在性指的是模型的物理概念要明确。可辨识性指的是模型结构合理,输入信号持续激励,数据量充足。悭吝性指的是被辨识参数的个数要尽量少。辨识对象模型要遵循上面的基本原则。它是将对象看成一个黑箱。从含有噪声的输入输出数据中,按照一个准则,运用辨识理论,从一组给定的模型中,确定一个与所测系统等价的模型,是现代控制理论的一个分支。系统辨识由数据、模型类和准则三要素组成。数据是由观测实体而得,它不是唯一的,受观测时间、观测目的、观测手段等影响。模型类就是模型结构,它也不是唯一的,受辨识目的、辨识方法等影响。而准则是辨识的优化目标,用来衡量模型接近实际系统的标准。它也不是唯一的,受辨识目的、辨识方法的影响。由于存在多种数据拟合系统辨识大作业基于随机逼近算法的系统辨识设计2方法,要评价各种方法的优劣,只有在相同的三要素下才有意义。由于被控系统受各种内外环境因素的影响,实际测量到的输入输出数据都含有一定的扰动和误差,因此辨识建模实际上是一种实验统计的方法,它所获得的模型仅仅是实际系统的外部特性等价的一种近似描述。在确定了准则函数之后,如果不考虑测量数据的扰动和误差,问题实际上就变成了方程求解、函数优化、函数逼近、或数据拟合问题。但是实际中会存在大量的噪声与扰动。因此,输入输出数据中隐含的扰动和误差,是进行辨识困难性的关键。在系统辨识的类别中,主要有在线辨识与离线辨识,线性辨识与非线性辨识,集中参数与分布参数辨识,开环辨识与闭环辨识这四种。而对于误差准则,有常用的输出误差准则,广义误差准则等。这些准则受模型结构和采样间隔的影响。在确定了这三要素之后,可以对系统进行辨识,从而确定被控对象的模型。在实际辨识一个对象的模型参数时,最关注的是辨识方法的选择。最常用的系统辨识法主要有最小二乘法、极大似然法、神经网络法和随机逼近法。最小二乘法是一种经典的有效的数据处理方法。它是1795年高斯(K.E.Guass)在预测行星和彗星运动的轨道时,提出并实际使用的。它的原理简单,不需要随机变量的任何统计特性,是动态系统辨识的主要手段。其基本思想就是它使各次实际观测和计算值之间的差值的平方乘以度量其精确度的数值以后的和为最小。因此,最小二乘法使用计算值与实测值误差的平方和函数作为准则函数,通过对准则函数求导求取其最小值来获得参数的估计值,由于准则函数是二次型函数,它的解是唯一的,其估计的结果是无偏的、收敛的和有效的。在这个原理之上,最小二乘法有很多衍生的算法,如递推最小二乘法,广义最小二乘法等。另外一种常用的参数辨识法是极大似然法。它不仅适用于线性模型也适用于非线性模型,对最小二乘法而言,它不要求任何关于数据概率分布的假设,而极大似然法属于一种概率参数估计。它需要构造一个以数据和未知参数为自变量的似然函数,并通过求这个似然函数的最大值,获得模型的参数估计值。模型输出的概率分布将最大可能地逼近实际过程输出的概率分布。但是,这种方法需要知道输出量的条件概率密度函数的先验知识。而神经网络辨识方法是通过引入人工神经网络来辨识系统参数的方法。人工神经网络是模拟人脑细胞的分布式工作特点和自组织功能,且能实现并行处理、自学习和非线性映射等能力的一种系统模型,它由连接权,求和单元和激活函数三个基本要素组成。常用的人工神经网络有感知机神经网络,BP神经网络,径向基神经网络,竞争学习神经网络,Hopfield神经网络,Boltzmann神经网络等。其辨识原理也是运用神经网络模型,在输入和输出数据的基础上,从一组给定的模型类中确定一个与所测系统等价的模型。但是,神经网络辨识方法是以大规模的数据为依据,进行多次训练,确定系统的权值,在系系统辨识大作业基于随机逼近算法的系统辨识设计3统实时性要求高的地方不太适用,需要进行离线计算。随机逼近算法是一般随机逼近算法和最小二乘法相结合的一种简便且很有实用价值的参数估计方法。它主要用来求解准则函数的极值。在系统辨识中,还有很多其它方法,如预报误差法,闭环辨识法,时变辨识法以及相关的递推算法。这里限于篇幅,不再详细说明。本文采用随机逼近算法对系统参数进行辨识。随机逼近算法是一种递推算法,随机逼近法是由统计学中通过连续逼近而获得估计参数发展而来的,是随机问题的梯度法应用于观测数据被噪声污染而对此噪声的统计特性不够充分了解的情况,可用于任何一个可用反复观测值构成的回归方程式的问题。3.随机逼近算法1951年,Robbins和Monro提出随机逼近思想,是一个著名的在存在量测噪声的情况下寻找回归方程根的回归算法[2]。1952年,Kiefer和Wolfowitz将随机逼近的思想应用于寻找函数极值的问题,称为KW算法。它是一种只利用输入随机变量1,2xx,及对应的输出随机变量(1),(2),yxyx,通过迭代运算逐步逼近方程的解的方法。随机逼近算法在寻找函数极值问题中有非常重要的应用。下面详细说明随机逼近算法的原理。考虑模型参数辨识问题(1)。Ty(k)=(k)+e(k)(1)其中e(k)是均值为0的噪声,选择准则函数11222TJ()=E[e(k)]=E{[y(k)-y(k)q]},求^,使()J的值最小。在{()}ek为零均值的独立随机序列的情况下,只需求出()J的导数,并令其为0,即()()[]{[]}TTJxE(k)y(k)-(k)(2)利用(2)可求出使()J最小的^。但是,由于表达式中()yk与e(k)有关,在e(k)统计特性未知情况下,无法求解上面的表达式。在上面的表达式中,如果用平均值来近似数学期望,那么上面表达式中^的解成了最小二乘问题。但是,为了在e(k)统计特性未知的情况下,求解式(2),使获准则函数()J最小[3]。随机逼近算法是可以解决这类问题。3.1随机逼近常用的迭代算法随机逼近算法中是一种迭代算法。常用的迭代算法有Robbins-Monro算法和Keifer-Wolfowitz算法和同时扰动随机逼近算法(SPSA算法)1.Robbins-Monro算法算法的递推表达式如(3)所示(1)()()[y()]xkxkkx(k)(3)式中,(())yxk是对应于()xk的值,()k为算法的收敛因子,且满足(4)。系统辨识大作业基于随机逼近算法的系统辨识设计4211()0,lim()0(),()kkkkkkk(4)则()xk是在均方意义下收敛方程的解。一般,式(5)中的收敛因子可以满足收敛条件(5)。1(),[0.5,1]()vbkvkkak或者(5)2.Keifer-Wolfowitz算法Robbins-Monro算法的出发点是求(){}xEy|x的根,而Keifer-Wolfowitz(KW)算法则是用(){}xEy|x来确定()x的极值。迭代算法的表达式见(6)。()(1)()()|xkdyxkxkkdx(6)如果()k满足(4),则KW算法最终可以收敛到(())xk的极值。3.同时扰动随机逼近算法随机逼近算法主要是利用输入输出量值来估计未知函数的极值,在Keifer和Wolfowitz提出KW算法之后,又有有限微分随机逼近算法,随机方向的随机逼近算法,同时扰动随机逼近算法[4]。其中,同时扰动随机逼近算法是三种算法中效率最好的。该算法只用标准KW方法的1p的数据就能得到其它方法相同精度水平的估计准确度(p是自变量维数)。令:',LL为可微损失函数,为求()()0Lg的根,同时扰动随机逼近算法的递推表达式见(7)。^^^^1(),0,1,2kkkagk(7)^k是第k次的估计值,^^()kg是()()Lg在^k的同时扰动值,ka为增益序列。'k是p维相互独立零均值的随机的矢量12{,,}kkkp,则在噪声情况下L的测量值如式(8)所示。()()()()()()kkkkkkkkkkyLcyLc(8)其中,()(),kk为系统噪声,ki由对称1Bernouli分布获得。()g在第k步后的估计为式(9)。系统辨识大作业基于随机逼近算法的系统辨识设计5()()1^^()()2()2kkkkkkkkkkpyycgyyc^^11111()()[,,,]2Tkkkkkkkpkycycc(9)在该算法中,存在{},{},{}kkkac参数需要选择,它们有一套规则遵循,许多文献都对该规则进行了详细说明。同时扰动随机逼近算法在自适应控制和寻求系统的优化值中有重要运用,尤其是对模型未知的对象中。在实际系()l统中,很难得到系统的具体函数形式以及解析解。随机逼近法是只利用观测值估计未知函数的极值或未知函数解的求解方法,具有广泛的实际运用前景。3.2差分方程的参数辨识在微控制器高速发展的今天,许多实际控制系统都是数字控制。为了实现数字控制,系统的数学模型一般由差分方程表示。系统差分方程表达式采用式(10)。11()()()()()AzykBzukk(10)式中111()1nanaAzazaz,111()nbnbBzbzbz,()k是均值为0,方差为常数的不相关噪声。差分方程的参数辨识问题可表示为(11)。()()()Tzkkk(11)式中()[(1)(),(1)()]Tabkzkzknxkxkn,11[aa,]Tnanbbb。选取准则函数1(){[z()()]}2TJEk+nk+n,采用随机逼近原理,可以获得参数的随机逼近算法如式(12)所示。^^^()(1)()()[z()()()]Tknklknk+nk+nk-1(12)在(12)中,()l要满足收敛条件(4),同时它的下降速度不能太快,否则被处理的数据总量太少。4辨识方案设计本文针对常见的三阶系统模型,采用随机逼近算法对系统参数进行了辨识。系统的差分方程如(13)所示。11()()()()()Azy