基于改进粒子群算法的Volterra模型参数辨识
2015-05-24卫晓娟丁旺才李宁洲周学舟
卫晓娟,丁旺才,李宁洲,周学舟
(兰州交通大学机电工程学院,兰州 730070)
基于改进粒子群算法的Volterra模型参数辨识
卫晓娟,丁旺才,李宁洲,周学舟
(兰州交通大学机电工程学院,兰州 730070)
针对非线性系统Volterra泛函级数模型,结合混沌优化策略和种群多样性控制思想,提出了一种改进粒子群算法,并应用于Volterra模型参数的辨识,将非线性系统的辨识问题转化为高维参数空间上的优化问题。利用混沌序列增加初始种群的多样性,通过构建动态子群以进行协作寻优,且各子群采用不同的参数自适应调整策略,并定义算法收敛性测度以对精英粒子进行合理的混沌变异,避免了算法早熟收敛,提高了算法的寻优速度和寻优精度。仿真实验中,将该方法与基于标准粒子群算法、遗传算法、量子粒子群算法的Volterra模型参数辨识方法相比较,验证了该辨识方法的有效性和鲁棒性。
改进粒子群算法;非线性系统;Volterra级数;系统辨识
Volterra级数模型由意大利科学家Volterra提出,它能完全刻画系统非线性传递特性[1],因此Volterra级数可以描述一大类非线性现象。对于该模型参数辨识的研究是利用Volterra级数模型描述并研究非线性系统动态特性、并由此监测和评估非线性系统健康状况的关键。
非线性系统Volterra核的辨识实质上是一个优化问题。目前Volterra模型的辨识方法有传统的最小二乘算法[2-5]、遗传算法[6-7]、蚁群算法[8]、量子粒子群算法[9-10]等,但是,最小二乘算法辨识时要求目标函数连续可导,且采用梯度信息进行搜索,容易陷入局部最小,而遗传算法等智能计算方法虽然克服了传统辨识算法的相应缺点,但在算法结构和优化效率上依然有改进的余地。
粒子群算法(Particle Swarm Optimization,PSO)是基于生物种群模拟的群体智能优化算法[11-12],具有结构简单、易于实现等特点[13]。因此,本文把粒子群算法引入到非线性Volterra级数模型的辨识中,且为了提高算法性能和避免陷入局部极值点,提出了一种改进粒子群算法(Improved Particle Swarm Optimization Algo-rithm,IPSO)。IPSO算法在初始化阶段以混沌序列初始化种群,增加了初始搜索的遍历性,进化过程中则依据粒子性能将粒子群划分为不同子群,且各子群采用不同的参数自适应调整策略,同时定义了算法收敛性测度以便采用混沌变异策略对部分粒子进行合理变异,不仅增加了种群的多样性、避免了算法陷入局部最优,而且实现了全局探索和局部开发能力的平衡,提高了算法的整体寻优效率。将IPSO算法应用于一个典型的Volterra级数模型并进行仿真实验,验证了本文提出的辨识方法的有效性和鲁棒性。
1 改进粒子群算法
1.1 标准粒子群算法
标准粒子群算法(Standard Particle Swarm Optimization,SPSO)的核心思想是通过跟踪粒子当前的局部最优解和全局最优解来更新粒子速度和位置,达到中止条件时,当前全局最优解即作为优化问题的最优解。
假设粒子群规模为n,粒子j的速度和位置分别用M维向量Vj和Xj表示,则SPSO算法的进化方程为[14]
式中,Vj(t)为粒子j在第t代的速度,Xj(t)为粒子j在第t代的位置,Pj(t)为粒子j在第t代的个体历史最优位置,Pg(t)为粒子群在第t代的历史最优位置,w为惯性权重,c1为认知系数,c2为社会系数,r1、r2为各分量在[0,1]之间的M维随机向量。Pj(t)和Pg(t)的更新规则为[14]
式中,f(Pj(t))表示Pj(t)的适应值,对于最小化问题而言,适应值越小,对应的适应度越优;argmin {f(Pj(t))|j=1,2,…,n}表示使f(Pj(t))取最小值的Pj(t),该Pj(t)则作为第t代群体最优位置Pg(t)。
1.2 改进粒子群算法的改进策略
目前大多数文献并未考虑按照粒子的性能进行参数调整[17-19],从而在一定程度上影响了算法的寻优效率;同时,搜索过程中由于粒子群的聚集性,群体多样性的丢失不可避免,可能陷入局部极值而造成早熟收敛。
基于此,本文提出的IPSO算法的改进策略主要体现在三个方面:①粒子群的混沌序列初始化;②根据粒子性能,在进化过程中动态构建精英子群和普通子群,并对各子群采用不同的参数自适应调整策略,以增加种群多样性、同时实现全局探索和局部开发能力的平衡;③对部分精英粒子进行混沌变异操作。
1.2.1 粒子群的混沌序列初始化
采用混沌序列初始化粒子群,是在不改变PSO算法初始化时所具有的随机性本质的前提下,利用混沌思想提高种群的多样性和粒子搜索的遍历性。文献[14-16]通过分析指出式(3)所示Tent模型比Logisitic映射具有更好的遍历性和更高的搜索效率,并验证了Tent模型在增加种群多样性及改善算法寻优性能方面的有效性。
假设粒子群规模为n,变量的维数为M维。粒子群初始化时,首先随机产生一个M维,且每个分量数值在[0,1]之间的向量T1=(T11,T12,…,T1M),然后将其代入式(3),经过N次(N>n)迭代产生一个包含N个向量T1,T2,…,Tm,…,TN的混沌序列,再将Tm(m=1,2,…,N)的各个分量经映射xmk=xkmin+(xkmaxxkmin)Tmk(k=1,2,…,M)转化到对应变量的取值区间,构成包含N个初始粒子的群体,再通过比较这N个粒子的适应值,从中选出适应值相对较小的n个解作为初始解,此即为粒子群的初始位置。
1.2.2 参数自适应调整策略
(1)子群构建
设X(t)={X1(t),X2(t),…,Xn(t)}为第t代的群体,f(Xj(t))为Xj(t)的适应值,f(Xj(t))越小,粒子适应度越优(即其性能越优);为了依据粒子性能构建子群,定义群体平均适应度为
定义群体最优适应度为
定义优秀子群为
式中,q为优秀粒子数。
定义优秀粒子平均适应度为
则可构建精英子群和普通子群如下:
定义1精英子群 精英子群定义为
式中,s为精英粒子数。
定义2普通子群 普通子群定义为
式中,p为普通粒子数。
(2)惯性权重的自适应调整策略
①精英子群惯性权重调整策略
设wj(t)为粒子j在第t代的惯性权重。为了说明IPSO中精英子群的wj(t)调整策略,引入下列定义:
定义3 精英子群最差适应度 精英子群最差适应度定义为
定义4 精英粒子性能指标 精英粒子性能指标定义为
式中,Perforj(t)∈[0,1]。精英粒子j在第t代的适应度越优,Perforj(t)越大,反之,则越小;α的取值根据实际问题确定。
将Perforj(t)作为精英粒子j在第t代对惯性权重的影响因子,则精英粒子j在第t代的惯性权重为
式(7)表明,Perforj(t)越大的精英粒子,全局最优出现在其周围的概率越大,而较小的惯性权重能增强算法的局部开发能力,所以wj(t)应较小,以便保证这类粒子进行局部搜索;反之,Perforj(t)越小,全局最优出现在其周围的概率越小,因较大的惯性权重能增强算法的全局探索能力,所以wj(t)应较大,以便保证这类粒子进行全局搜索。
②普通子群惯性权重调整策略
IPSO算法中,普通子群按照式(8)调节wj(t)。
式中,iter为迭代步数,max iter为最大迭代步数。此时,wj(t)随迭代进行按线性规律递减。
(3)c1、c2的自适应调整策略
c1和c2的调整会影响到算法的收敛性能和收敛速度。因此,IPSO算法中,采用式(9)对c1、c2进行迭代更新。
式中,j,k表示粒子j的第k维,λ1,λ2为收缩因子,λ1、 λ2∈(0,3),α1、α2为[0,1]之间的随机数。
按式(9)调整c1、c2时,对于优秀子群,因其比较接近全局最优,所以c1应较小、c2应较大,以加速收敛到全局最优,从而提高算法的寻优效率和寻优精度;而对于普通子群,因其具有良好的全局探索能力,所以应使c1较大、c2较小,以扩大算法的搜索范围,防止陷入局部最优。
1.2.3 混沌变异策略
(1)算法收敛性测度
为了定量描述粒子群的状态,避免盲目变异引起的大量运算以及对算法收敛速度的影响,采用粒子群平均点距作为算法收敛性测度来衡量算法的收敛情况,以便合理进行变异操作以扩大搜索空间。
定义5 粒子群平均点距 设群体的平均中心为
(2)混沌变异策略
对粒子速度进行变异以使粒子在相应进化代数条件下对搜索空间进行大范围的遍历,当算法陷入局部最优时,使之能够跳出局部极值点,进入解空间的其它区域继续搜索。
根据式(3)所示Tent模型迭代产生一个包含若干个向量T1,T2,…的混沌序列,再将Tk的各分量经过映射变换至原粒子速度的解空间,得到若干个向量V1,V2,…,以此替代精英子群中按比例选取的精英粒子的速度,即得到变异后该部分粒子的当前速度。
2 非线性系统Volterra模型辨识
2.1 Volterra模型描述
对于具有输入x(k)和输出y(k)的离散时间非线性动态系统,可用Volterra级数将其描述为[9]:
式中,e(k)为截断误差。hn(m1,m2,…,mn)为非线性系统的n阶Volterra时域核,又称为广义脉冲响应函数(GIRF)。GIRF具有对称性,且对称性是唯一的[1]。利用Volterra核的对称性,可以大大减小利用Volterra级数模型描述非线性系统所需参数的数目,从而可大大减小计算量。
利用前三阶Volterra级数模型即可近似描述很多的实际非线性系统,因此,非线性系统Volterra模型的辨识通常是对其Volterra级数模型的一阶、二阶和三阶核进行辨识[1]。
考虑GIRF的对称性,根据式(11),则系统输出可表述为:
式中,Mi为记忆长度;Mi取适当值时,e(k)可充分小,在误差允许范围内,e(k)可忽略不计;s1(m1)、s2(m1,m2)、s3(m1,m2,m3)由式(13)确定。
若假设截断Volterra级数模型的最高阶次为N,定义系统的输入矩阵为:
式中,L为数据长度。则k时刻的输入(列)向量X(k)可定义为:
式中,e为误差。
由式(15)可知,基于截断Volterra级数模型的非线性系统辨识,就是在已知系统的输入、输出序列{x(k)}、{y(k)}的基础上求解核向量H。其辨识实质上是一个最优参数估计问题。
假设粒子群规模为n,将Volterra模型的待估计参数(核矢量H)作为IPSO算法中的粒子位置,则粒子j的位置用M维向量表示,粒子群的位置可以用矩阵表示。对粒子j而言,算法中控制辨识误差的适应度函数定义为
式中,L为数据长度,j=1,2,…,n。
通过搜索使适应度函数值(即适应值)最小的全局最优解Pg,即是Volterra核矢量H的最优解H^。
2.2 Volterra模型辨识流程
利用IPSO算法对形如式(15)所示有限阶非线性离散系统的Volterra模型参数进行辨识的算法流程如图1所示。
图1 基于IPSO的Volterra模型辨识算法流程图Fig.1 The identification algorithm of Volterra kernel based on the IPSO
3 Volterra模型辨识测试
作为辨识目标的Volterra模型如式(17)所示。
式(17)所示模型的一阶、二阶和三阶核的记忆长度均为3,核向量为:H=[1.52,-0.55,0.24,0.78,0,0,1.36,-1.18,0,1.25,0,0,-0.88,0,0,0,0,1.06,0]T。
利用本文提出的IPSO算法对式(17)所示三阶非线性系统的Volterra模型进行辨识,系统的输入信号为[0,1]之间的均匀白噪声信号,种群规模为80,维数为19,最大进化代数为800,系统辨识的对比测试重复进行20次,结果取运行20次结果的平均值。
表1为无噪声情况下,IPSO算法、SPSO算法、遗传算法(简称GA算法)、量子粒子群算法(简称QPSO算法)所得到的Volterra模型参数的估计值。
为了考察存在噪声干扰时本文算法的辨识精度和抗噪性能,在输入、输出端叠加独立平稳的白噪声,且输入输出信号的信噪比均为20 dB[9]。表2为四种算法测试得到的辨识结果。
表1 无噪声干扰下Volterra模型辨识结果Tab.1 Estimation results of the Volterra model under the free-noise environment
由表1可知,在无噪声干扰情况下,四种算法均可得到真值的近似值,说明四种算法均可用于Volterra模型参数的辨识。其中应用IPSO算法得到的估计值的平均值更加接近真实值,其辨识精度明显较高。
由表2亦可看到,在加入噪声干扰时,IPSO算法得到的估计值的误差相对较小,显然噪声干扰并未对其辨识精度产生影响,体现了IPSO算法具有较强的鲁棒抗噪性能。
图2给出了无噪声情况下,四种辨识方法分别得到的一阶时域核参数h1(1)、二阶时域核参数h2(1,2)和三阶时域核参数h3(1,2,2)的进化曲线;图3给出了无噪声情况下,四种辨识方法的平均适应度值变化曲线。
从图中可以看出,IPSO算法的收敛速度明显快于其他三种算法,虽然其他三种算法最终也能较为准确地估计出Volterra核参数的值,但是收敛速度相对较慢;且由图3可看出,IPSO算法相较SPSO算法而言,其全局探索能力和局部开发能力都得到了改善,在整个进化过程中IPSO算法表现出了较强的持续寻优能力,未陷入局部最优,且辨识精度明显优于其他三种算法。
表2 信噪比20 dB时Volterra模型辨识结果Tab.2 Estimation results of the Volterra m odel(SNR=20 dB)
图2 无噪声时h1(1),h2(1,2),h3(1,2,2)的收敛曲线Fig.2 The evolution curves of the Volterra kernel vector h1(1),h2(1,2),h3(1,2,2)under the free-noise environment
图3 无噪声时适应度函数变化曲线Fig.3 The curves of the fitness function under the free-noise environment
图4给出了信噪比20 dB情况下,四种辨识方法分别得到的一阶时域核参数h1(1)、二阶时域核参数h2(1,2)和三阶时域核参数h3(1,2,2)的进化曲线。从图可以看出,IPSO算法的收敛速度明显快于其他算法,虽然其他算法最终也能较为准确地估计出Volterra核参数的值,但是由于噪声干扰,收敛速度相对较慢,尤其是SPSO算法的收敛过程波动也较大。
图4 SNR=20 dB时h1(1),h2(1,2),h3(1,2,2)的收敛曲线Fig.4 The evolution curves of the Volterra kernel vector h1(1),h2(1,2),h3(1,2,2)(SNR=20 dB)
综上所述,IPSO算法的寻优性能和效率明显优于SPSO算法和GA算法,且相对于QPSO算法其性能也有一定提高。这主要是因为IPSO算法是在SPSO算法的基础上经过优化而来。参数的自适应调整加快了算法的计算效率,组合混沌策略的引入有效避免了SPSO算法局部收敛与早熟的问题,而SPSO算法早期收敛速度较快,但到寻优后期其收敛速度则比较缓慢,这主要是因为算法收敛到局部极小时缺乏有效机制使算法逃离极小点,从而导致算法在接近或进入最优点区域时的收敛速度比较缓慢。因此,相对而言,本文提出的方法在全局优化能力和快速收敛能力上都有较大的提高,很好地克服了基于SPSO算法的Volterra模型辨识方法的不足。
4 结 论
本文将改进粒子群算法(IPSO算法)引入到非线性系统Volterra模型参数的辨识中,并在仿真研究中,将该辨识方法与相应的基于SPSO算法、GA算法和QPSO算法的辨识方法进行了对比分析。结果表明,即使在有噪声干扰的情况下,提出的方法也能得到很好的参数辨识精度,且收敛过程依然平稳,表现出很好的鲁棒抗噪性能。与其他三种算法相比,由于本文提出的方法将种群划分为不同的子群,且不同子群采用相应的参数自适应调整策略,并利用混沌变异算子对一定比例的精英个体进行变异操作,所以既增加了种群多样性、又很好地利用了不同粒子分别进行全局探索和局部开发,提高了算法的计算效率。本文提出的IPSO算法及其在非线性系统Volterra模型辨识中的应用研究为非线性系统辨识提供了一种新的有效方法,具有重要的理论价值和实际应用价值。
[1]曹建福,韩崇昭,方洋旺.非线性系统理论及应用[M].西安:西安交通大学出版社,2006.
[2]张家良,曹建福,高峰.大型装备传动系统非线性频谱特征提取与故障诊断[J].控制与决策,2012,27(1):135 -138.
ZHANG Jia-liang,CAO Jian-fu,GAO Feng.Feature extraction and fault diagnosis of large-scale equipment transmission system based on nonlinear frequency spectrum [J].Control and Decision,2012,27(1):135-138.
[3]张华君.基于递推批量最小二乘的Volterra级数辨识方法[J].小型微型计算机,2004,25(12):2282-2285.
ZHANG Hua-jun.Volterra series identif icationmethod based on recursive least square algorithm[J].Mini-Micro Systems,2004,25(12):2282-2285.
[4]孔祥玉,韩崇昭,马红光,等.基于Volterra级数的全解耦RLS自适应辨识算法[J].系统仿真学报,2004,16(4):807-809.
KONG Xiang-yu,HAN Chong-zhao,MA Hong-guang,et al.Fully decoupled RLS adaptive identification algorithm based on volterra series[J].Journal of System Simulation,2004,16 (4):807-809.
[5]孔祥玉,韩崇昭,马红光,等.一种总体最小二乘算法及在Volterra滤波器中的应用[J].西安交通大学学报,2004,38(4):339-342.
KONG Xiang-yu,HAN Chong-zhao,MA Hong-guang,et al.Total least square algorithm and its application to volterra filter[J].Journal of Xi'an Jiao Tong University,2004,38 (4):339-342.
[6]唐浩,屈梁生,温广瑞.基于Volterra级数的转子故障诊断研究[J].中国机械工程,2009,20(4):447-454.
TANG Hao,QU Liang-sheng,WEN Guang-rui.Fault diagnosis for rotor system based on volterra series[J].China Mechanical Engineering,2009,20(4):447-454.
[7]Abbas H M,Bayoumi M M.Volterra system identification using adaptive genetic algorithms[J].Applied Soft Computing,5(2004):75-86.
[8]李志农,唐高松,肖尧先,等.基于自适应蚁群优化的Volterra核辨识算法研究[J].振动与冲击,2011,30 (10):35-38.
LIZhi-nong,TANGGao-song,XIAOYao-xian,etal.Volterra series identification method based on adaptive ant colony optimization[J].Journal of Vibration and Hock,2011,30 (10):35-38.
[9]李志农,蒋静,陈金刚,等.基于量子粒子群优化的Volterra核辨识算法研究[J].振动与冲击,2013,32(3):60-63.
LI Zhi-nong,JIANG Jing,CHEN Jin-gang,et al.Volterra series identification method based on quantum particle swarm optimization[J].Journal of Vibration and Hock,2013,32 (3):60-63.
[10]李志农,蒋静,冯辅周,等.基于量子粒子群优化Volterra时域核辨识的隐Markov模型识别方法[J].仪器仪表学报,2011,32(12):2693-2698.
LI Zhi-nong,JIANG Jing,Feng Fu-zhou,et al.Hidden markov model recognition method based on Volterra kernel identified with particle swarm optimization[J].Chinese Journal of Scientific Instrument,2011,32(12):2693-2698.
[11]Kennedy J,Eberhart R C.Particle swarm optimization[C]//Proceedings of ICNN'95-IEEE International Conference on Neural Networks.IEEE,Piscataway,NJ,USA,1995:1942-1948.
[12]Eberhart R,Kennedy J.A new optimizer using particle swarm theory[C]//Proc of 6th International Symposium on Micro Machine and Human Science,Nagoya,Japan.Piscataway NJ:IEEE Service Center,1995:39-43.
[13]毛鹏轩,肖扬.粒子群算法在稳定时滞系统设计中的应用[J].计算机应用研究,2012,29(1):214-216.
MAO Peng-xuan,XIAO Yang.Application of PSO algorithm for stable time-delay system design[J].Application Research of Computers,2012,29(1):214-216.
[14]崔志华,曾建潮.微粒群优化算法[M].北京:科学出版社,2011.
[15]张浩,张铁男,沈继红,等.Tent混沌粒子群算法及其在结构优化决策中的应用[J].控制与决策,2008,23(8):857-862.
ZHANG Hao,ZHANG Tie-nan,SHEN Ji-hong,et al. Research on decision-makings of structure optimization based on improved Tent PSO[J].Control and Decision,2008,23 (8):857-862.
[16]魏玉琴,戴永寿,张亚南,等.基于Tent映射的自适应混沌嵌入式粒子群算法[J].计算机工程与应用,2013,49 (10):45-49.
WEIYu-qin,DAIYong-shou,ZHAN Ya-nan,et al.Adaptive chaotic embedded particle swarm optimization algorithm based on Tent mapping[J].Computer Engineering and Applications,2013,49(10):45-49.
[17]Cui Z H,Cai X J,Zeng J C,et al.Particle swarm optimization with FUSS and RWS for high dimensional functions[J].Applied Mathematics and Computation,2008,205(1):98-108.
[18]Arumugam M S,Rao M V C.On the improved performances of the particle swarm optimization algorithms with adaptive parameters,cross-over operators and rootmean square(RMS)variants for computing optimal control of a class ov hybrid system[J].Applied Soft Computing,2008,8(1):324-336.
[19]Bajpai P,Singh S N.Fuzzy adaptive particle swarm optimization for bidding strategy in uniform price spotmarket [J].IEEE Transactions on Power System,2007,22(4):2152-2160.
Parametric identification of nonlinear volterra model based on improved PSO algorithm
WEIXiao-juan,DINGWang-cai,LINing-zhou,ZHOU Xue-zhou
(School of Mechatronic Engineering,Lanzhou Jiaotong University,Lanzhou 730070,China)
By combining the particle swarm optimization(PSO)with the chaotic optimization strategy and the control idea of population diversity,an improved particle swarm optimization(IPSO)algorithm was proposed for parametric identification of nonlinear Volterra seriesmodel.The basic idea of themethod was that the problem of nonlinear system identification was converted into an optimization problem in a high-dimensional parameter space.The chaotic optimization strategy was employed to increase the diversity of the initial population.By building dynamic subgroups,the optimization was realized through the collaboration of sub groups.The different adaptive adjustment strategies for control parameters of IPSO were used in subgroups.The convergencemeasure of IPSO was defined to perform the chaoticmutation operation reasonably.So the premature convergence was avoided,the speed and accuracy of IPSO were improved.In simulation tests,the proposed method was compared with Volterra model identification methods based on standard PSO algorithm,the genetic algorithm and the quantum-behaved PSO,respectively.Its effectiveness and robustness were verified.
improved particle swarm optimization algorithm(IPSO);nonlinear system;Volterra series;system identification
TP18
A
10.13465/j.cnki.jvs.2015.21.019
国家自然科学基金项目(11162007,11462011);甘肃省自然科学基金项目(1308RJZA149)
2014-05-23 修改稿收到日期:2014-08-22
卫晓娟女,博士生,副教授,1973年生
丁旺才男,教授,博士生导师,1964年生