基于支持向量回归机和粒子群算法的船舶操纵运动模型辨识
2016-05-04张心光邹早建王岩松
张心光,邹早建,王岩松
(1.上海工程技术大学 汽车工程学院,上海201620;2.上海交通大学 船舶海洋与建筑工程学院,上海 200240;3.上海交通大学 海洋工程国家重点实验室,上海 200240)
基于支持向量回归机和粒子群算法的船舶操纵运动模型辨识
张心光1,邹早建2,3,王岩松1
(1.上海工程技术大学 汽车工程学院,上海201620;2.上海交通大学 船舶海洋与建筑工程学院,上海 200240;3.上海交通大学 海洋工程国家重点实验室,上海 200240)
基于仿真的Z形试验数据,应用支持向量回归机对船舶操纵运动响应模型进行了机理建模,从核函数结构中得到了模型中的操纵性指数,并利用建立的响应模型进行了Z形试验的运动预报,同时引入粒子群算法对惩罚因子C值进行寻优,以减少惩罚因子C值选择的任意性对船舶操纵运动模型辨识精度产生的不利影响。通过将运动预报结果同仿真试验数据进行比较,验证了文中方法的有效性。
船舶操纵;响应模型;参数辨识;支持向量回归机;粒子群算法
0 引 言
应用船舶操纵运动数学模型加计算机模拟的方法进行船舶操纵性预报的关键是精确确定数学模型中的水动力导数和操纵性指数。目前采用的船舶操纵运动数学模型主要包括两类:一类是水动力模型[1-2];另一类是响应模型[3]。
目前,基于自航模试验或实船试验的系统辨识方法是求取船舶操纵运动水动力导数和操纵性指数的有效方法之一。极大似然(Maximal Likelihood,ML)估计法、模型参考自适应(Model Reference Adaptive,MRA)法等传统的系统辨识方法曾被广泛应用于船舶操纵运动建模研究中[4]。但是,这些系统辨识方法有一些固有缺陷,如,对数学模型的依赖性过大,对初值的依赖性过大等。基于人工智能技术的人工神经网络能克服传统系统辨识方法的缺陷,已被广泛应用于船舶操纵运动建模研究中,例如,Ebada和Abdel-Maksoud应用BP神经网络进行了回转操纵性能预报研究[5];Guedes Soares应用递归神经网络进行了船舶操纵运动建模研究[6]。然而,人工神经网络也有一些缺陷,如,泛化性能不足,存在局部极值问题和维数灾难问题等。近二十几年来,在系统辨识领域出现了一种新的人工智能方法—支持向量机(Support Vector Machines,SVM)[7-8],该方法解决了在人工神经网络中无法避免的局部极值问题和维数灾难问题并具有很好的泛化能力。
当SVM用于参数辨识时,称为支持向量回归机(Support Vector Regression,SVR)。SVR包括最小二乘支持向量回归机(Least Square-SVR,LS-SVR)、ε—支持向量回归机(ε-SVR)、ν—支持向量回归机(ν-SVR)等。Luo等[9]曾应用LS-SVR对操纵运动响应模型进行了参数辨识,并利用建立的响应模型对10°/10°和20°/20°Z形试验进行了运动预报,通过将预报结果和自航模试验结果进行比较,对所采用方法的有效性进行了验证。SVR的结构参数包括惩罚因子C和不敏感因子ε。文献[10]讨论了不敏感因子ε对船舶操纵运动建模的影响,并给出了不敏感因子ε取值与SVR回归精度的关系。但是,惩罚因子C值的选取目前尚缺乏理论依据,且对惩罚因子C值选取的研究,鲜有文献报道,这严重影响了基于SVR的船舶操纵运动模型辨识精度。
本文将粒子群算法应用于惩罚因子C值的寻优,同时基于仿真得到的10°/10°、15°/15°Z形试验数据,应用ε-SVR辨识了船舶操纵运动响应模型参数,并采用所建立的响应模型对10°/10°、15°/15°Z形试验进行了运动预报,通过将首向角和转艏角速度的预报结果同仿真试验数据进行对比,验证了本文方法的有效性。
1 方法介绍
本文应用ε-SVR辨识的响应模型包括一阶线性响应模型和二阶线性响应模型:
将方程(1)和(2)分别用前向差分离散化,得到:
式中:Δt为采样间隔,a1、a2、b1和b2是待辨识的参数。
令T1T2=h,T1+T2=g,则a1、a2、b1、b2和h、g及操纵性指数K、T的关系为:
由方程(3)和(4)可分别得到训练样本对:
一阶线性响应模型:
二阶线性响应模型:
其中l为样本数。
应用ε-SVR对上述响应模型进行参数辨识,其算法如下:
(2)选择适当的惩罚因子C和不敏感因子ε,并选择适当的核
(3)构造并求解下面的最优化问题:
其中:αi为拉格朗日乘子;由以上最优化问题得到最优解
(4)构造决策函数:
在粒子群算法(Particle Swarm Optimization,PSO)中,每一个优化问题的解都是搜索空间中的一只鸟,称之为“粒子”。PSO采用速度—位置搜索模型,且所有粒子都有一个根据优化目标定义的适应度值,及一个用于决定它们飞翔方向和距离的速度。
刚开始时,PSO随机初始化一群粒子,其中第s个粒子在d维解空间的位置和速度分别表示为Xs和通过每一次迭代,粒子动态跟踪个体极值和全局极值并根据公式(12)和公式(13)实现速度和位置的更新。
文中利用粒子群算法对惩罚因子C值进行优化,其实现步骤包括:①初始化粒子群,包括群体规模N,每个粒子的位置Xs和速度Vs;②计算Z形试验的运动预报误差并将其作为每个粒子的适应度;③ 根据粒子的适应度更新Ps和g;④ 根据公式(12)和公式(13)更新粒子群的位置和速度;⑤ 如果达到最大迭代次数或者满足最小错误标准,终止程序;否则,跳转到步骤②。
2 方法验证
表1 一阶线性响应模型操纵性指数结果对比Tab.1 Comparison of manoeuvring indices of the first-order linear response model
图1 一阶线性响应模型10°/10°Z形试验预报结果和仿真试验值的比较Fig.1 Prediction results of 10°/10°zig-zag manoeuvre compared with simulated data by using the first-order linear response model
本文首先利用由自航模试验得到的操纵性指数建立的响应模型[4]进行10°/10°和15°/15°Z形试验仿真,由仿真试验得到用于辨识的训练样本,其次是设置用于惩罚因子C值寻优的粒子群算法参数,包括:(1)群体规模N。通常,种群太小则不能提供足够的采样点,以致算法性能很差;种群太大尽管可以增加优化信息,阻止早熟收敛的发生,但无疑会增加计算量,造成收敛时间太长,表现为收敛速度缓慢。因此,种群规模一般设为100~1 000,文中选择群体规模N为100;(2)最大迭代次数。迭代次数越多,越能保证解的收敛性,但是影响运算速度,文中选取的最大迭代次数为1 000次;(3)学习因子c1和c2。学习因子分别用于控制粒子指向自身或邻域最佳位置的运动。通常,c1+c2≤4,文中取c1=c2=2;(4)粒子维数d。粒子维数d取决于待优化的参数个数,而文中待优化的参数只有惩罚因子C值,故文中的粒子维数d为1。
依据文献[10]和惩罚因子C值的寻优结果,选取C=104和ε=0,在每次辨识时,从每个Z形试验的数据中选取前100个训练样本,运用ε-SVR并采用线性核分别对船舶操纵运动一阶线性响应模型和二阶线性响应模型进行参数辨识,得到K、T等操纵性指数。然后,用龙格—库塔法数值求解这些响应模型,进行Z形试验的运动预报,得到首向角和转艏角速度预报值。
对于一阶线性响应模型,利用10°/10°Z形试验仿真数据,辨识结果同由自航模试验得到的操纵性指数“试验值”的对比见表1。将辨识得到的K、T值代入方程(1),进行Z形试验的运动预报,得到在一定舵角规律下的首向角和转艏角速度的预报,其结果和仿真试验数据的比较如图1所示。对于二阶线性响应模型,利用15°/15°Z形试验数据,辨识结果同由自航模试验得到的操纵性指数“试验值”的对比见表2。将辨识得到的K、T值代入方程(2),进行Z形试验的运动预报,得到在一定舵角规律下的首向角和转艏角速度的预报,其结果和仿真试验数据的比较如图2所示。
表2 二阶线性响应模型操纵性指数结果对比Tab.2 Comparison of manoeuvring indices of the second-order linear response model
图2 二阶线性响应模型15°/15°Z形试验预报结果和仿真试验值的比较Fig.2 Prediction results of 15°/15°zig-zag manoeuvre compared with simulated data by using the second-order linear response model
由上述各图所显示的首向角和转艏角速度预报值同仿真试验值的比较结果,可以得出以下结论:(1)ε-SVR是一种进行船舶操纵运动响应模型参数辨识的有效方法;(2)粒子群算法是一种有效的惩罚因子C值优化方法,为提高船舶操纵运动响应模型参数辨识精度提供了一个有效途径。
3 结 论
本文将粒子群算法用于惩罚因子C值的寻优,同时基于Z形试验仿真数据,应用ε-SVR辨识了船舶操纵运动响应模型参数,并进行了Z形试验的运动预报。由预报结果同仿真试验数据的对比结果,可以得出以下结论:(1)ε-SVR是一种进行船舶操纵运动响应模型参数辨识的有效方法;(2)粒子群算法可有效进行惩罚因子C值的优化,为提高船舶操纵运动响应模型参数辨识精度提供了一个有效方法。
[1]Abkowitz M A.Lectures on ship hydrodynamics-steering and manoeuvrability[R].Hydro-and Aerodynamics Laboratory, Report No.Hy-5,Lyngby,Denmark,1964.
[2]Ogawa A,Kasai H.On the mathematical model of manoeuvring motion of ship[J].International Shipbuilding Progress, 1978,25(292):306-319.
[3]Nomoto K,Taguchi T,Honda K,Hirano S.On the steering qualities of ships[J].International Shipbuilding Progress,1957, 4(35):354-370.
[4]贾欣乐,杨盐生.船舶运动数学模型—机理建模与辨识建模[M].大连:大连海事大学出版社,1999. Jia Xinle,Yang Yansheng.Mathematical model of ship motion-Mechanism modeling and identification modeling[M]. Dalian:Dalian Maritime University Press,1999.
[5]Ebada A,Abdel-Maksoud M.Applying artificial intelligence(A.I.)to predict the limits of ship turning manoeuvres[J]. Jahrbuch der Schiffbautechnischen Gesellschaft,99 Band,2005:132-139.
[6]Moreira L,Guedes S C.Dynamic model of manoeuvrability using recursive neural networks[J].Ocean Engineering,2003, 30(13):1669-1697.
[7]Zhang Xinguang,Zou Zaojian.Estimation of the hydrodynamic coefficients from captive model test results by using support vector machines[J].Ocean Engineering,2013,73:25-31.
[8]Zhang Huaxiang,Cao Linlin,Gao Shuang.A locality correlation preserving support vector machine[J].Pattern Recognition,2014,47(9):3168-3178.
[9]Luo Weilin,Zou Zaojian,Li Tieshan.Application of support vector machine to ship steering[J].Journal of Shanghai Jiaotong University(Science),2009,14(2):462-466.
[10]张心光,邹早建.支持向量回归机不敏感因子ε对运动建模的影响[J].中国造船,2011,52(3):46-51. Zhang Xinguang,Zou Zaojian.The effect of SVR insensitive factor on modeling of motion[J].Shipbuilding of China,2011, 52(3):46-51.
Identification of models of ship manoeuvring motion using Support Vector Regression and Particle Swarm Optimization
ZHANG Xin-guang1,ZOU Zao-jian2,3,WANG Yan-song1
(1.Automotive Engineering College,Shanghai University of Engineering Science,Shanghai 201620,China;2.School of Naval Architecture,Ocean and Civil Engineering,Shanghai Jiao Tong University,Shanghai 200240,China;3.State Key Laboratory of Ocean Engineering,Shanghai Jiao Tong University,Shanghai 200240,China)
By analyzing the simulated zig-zag test data,Support Vector Regression is applied to conduct mechanism modeling of response models of ship manoeuvring motion.The parameters of response models of ship manoeuvring motion are obtained from the structure of kernel function.The established response models are used to predict zig-zag manoeuvres.To reduce the negative effects produced by choosing randomly the penalty factor C,Particle Swarm Optimization is used to optimize the penalty factor C.The prediction results are compared with the simulated test data to verify the effectiveness of the proposed method.
ship manoeuvring;response model;parameter identification;Support Vector Regression; Particle Swarm Optimization
U661.33
A
10.3969/j.issn.1007-7294.2016.07.009
1007-7294(2016)11-1427-06
2016-08-19
国家自然科学基金项目(51609132);上海高校青年教师培养资助计划(ZZGCD15044);校启动基金(2015-66)
张心光(1982-),男,讲师,通讯作者,E-mail:zxg416@126.com;邹早建(1956-),男,教授,博士生导师。