Nonparametric modeling method of ship maneuvering motion based on the ν-SVR with mixed kernel function
-
摘要: 非参数建模方法已广泛应用于船舶操纵运动建模。本文提出一种基于混合核函数(mixed kernel function, MK)的ν-支持向量回归(ν-support vector regression, ν-SVR)非参数建模方法,并采用遗传算法(genetic algorithm, GA)优化超参数,即遗传算法优化的混合核函数ν-支持向量回归(genetic algorithm-mixed kernel-ν-support vector regression, GA-MK-ν-SVR)。为了提高ν-SVR的性能,提出一种混合核函数,该核函数结合径向基和多项式核函数来同时捕获全局和局部性能。基于遗传算法,模型的超参数实现了优化。采用SIMMAN2008提供的KVLCC2油轮自由自航测试数据对该建模方法的性能进行了评估,并与多种现有操纵模型的预测结果进行了对比研究。试验结果表明,所提出的GA-MK-ν-SVR模型对船舶操纵运动具有良好的预测精度和较强的泛化能力。Abstract: Nonparametric modeling methods are widely used in modeling ship maneuvering motions. This study introduces a v-support vector regression (v-SVR) nonparametric modeling method based on a mixed kernel function (MK), optimized through a genetic algorithm (GA) called GA-MK-v-SVR. The MK aims to improve the performance of v-SVR by combining radial basis functions with polynomial kernel functions, thus capturing both global and local characteristics. A GA is employed to fine-tune the hyper-parameters. The performance of GA-MK-v-SVR was evaluated by using KVLCC2 free-running test data provided by SIMMAN 2008, and the results were compared with several maneuvering models. Experimental results show that the proposed GA-MK-v-SVR model delivers impressive prediction accuracy and robust generalization capabilities for ship maneuvering motion modeling.
-
船舶操纵运动的数学模型对于船舶控制器、导航系统和轨迹规划等方面的研究与设计具有重要影响。建立精准的船舶操纵运动数学模型对于海上贸易活动而言至关重要[1]。然而,建立准确的船舶操纵运动数学模型极为困难,因为这需要考虑船舶负载、周围环境变化等多种因素。通常,有4种主要方法可以用来建立船舶操纵运动的模型:计算流体力学(computational fluid dynamics, CFD)、基于经验公式的方法、基于数据库的方法以及系统辨识(system identification, SI)[2]。SI是唯一能够考虑环境变化因素的数据驱动建模方法。它通过从船模自由航行试验或实船试验中收集数据,构建关于船舶操纵运动的动态模型[3]。与其他方法相比,SI更加便捷且高效,且其计算成本相对较低,因此被视为建立船舶操纵运动模型的理想手段。
传统上,建立船舶操纵运动数学模型的方法涉及构建一个参数化模型,并使用SI来识别其中的未知参数[2]。这种方法本质上是一个多元线性回归问题,其中未知参数为泰勒展开后的水动力系数。学者们对此进行了大量的研究,并分别使用卡尔曼滤波[4]、最小二乘[5]、岭回归[6]和最大似然[7]方法进行辨识。然而,准确的参数化模型的建立依赖于正确的模型结构选择。考虑到周围环境变化等因素的影响,即使对于经验丰富的建模工程师来说,选择一个合适的模型也是一个挑战。作为另一种使用SI建立船舶操纵运动模型的手段,非参数建模方法通过构建输入与输出数据之间的映射关系,以涵盖船舶操纵运动的动态信息[8]。这种方法相比于参数化模型更加简便灵活。随着机器学习技术的兴起,越来越多的技术被用于船舶操纵运动数学模型的构建,例如:神经网络[9-10]、高斯过程回归[11-12]和支持向量回归(support vector regression,SVR)[13]。其中SVR被证明是建立船舶操纵运动的有效手段。SVR是在统计学习理论和结构风险最小化原则的基础上提出的一种机器学习回归算法。基于SVR的优秀建模能力,Zhang等[13]成功构建了船舶操纵运动的黑箱模型。最小二乘支持向量回归机(least squares support vector regression, LSSVR)[1]则是对SVR的一种改进,它采用最小二乘损失函数替代传统的不敏感损失函数,以简化优化问题的求解过程,提高了计算效率。Liu等[14]提出了一种基于LSSVR的甲板运动和惯性导航系统的在线估计方法。ν-支持向量回归(ν-SVR) [3]是SVR的另一种变体,其具有更加强大的拟合能力与建模效率。Zhang等[15]提出了一种多输出的ν-SVR来建立船舶操纵运动的非参数模型,其研究结果展示了模型良好的精度。
ν-SVR模型的精度在很大程度上依赖于核函数的选择。核函数在机器学习的核方法理论中扮演着重要角色,大致可以分为全局核函数和局部核函数两类。其中,多项式核函数是全局核函数的代表,而径向基核函数(radial basis function, RBF)则是局部核函数的典型代表[16]。由于核函数对机器学习技术的重要性,学者们对探究核函数的具体作用做出了大量的工作。Fang等[17]研究表明,相比于单独的核函数,混合核函数(mixed kernel function,MK)结合了不同核函数的优点,拥有更好的性能。同时混合核函数也被应用于全局灵敏度分析[18]和船舶操纵性建模[8]。
非参数模型研究的另一热点是超参数的优化,因为劣质的超参数可能会严重影响模型性能。为了最大化模型性能,本文引入了遗传算法(genetic algorithm, GA)[19]来调节和优化超参数。GA是一种基于自然遗传机制的优化方法,以其优秀的全局搜索能力被广泛应用于解决多种实际问题[20-21]。基于验证数据集,采用均方误差(mean square error,MSE)作为优化目标,在考虑了模型的预测精度的基础上对超参数进行优化。
为了探索核函数对船舶操纵运动黑箱模型的影响,本文提出了一种基于MK的
$\nu $ -SVR(MK -$\nu $ -SVR)。本研究中,基于GA优化的MK-$\nu $ -SVR (genetic algorithm-mixed kernel-$\nu $ -support vector regression, GA-MK-$\nu $ -SVR)被用于船舶操纵运动的非参数建模。SIMMAN2008数据库[22]中的KVLCC2油轮自由自航测试数据被用于模型的训练、验证和测试。为了验证模型的精度和泛化能力,选择了多种现存的操纵运动建模方法作为对比对象,并对这些模型的超参数使用GA进行了优化。1. 船舶操纵运动数学公式
准确的船舶操纵数学模型对于海上船舶导航与轨迹规划至关重要。本文的研究对象是一艘3自由度(degree of freedom,DOF)船舶, 包括纵向速度
$u$ 、横向速度$v$ 和艏摇角速度$r$ 。图1给出了船舶操纵运动的坐标系,其中${O_0} - {x_0}{y_0}$ 是地球坐标系,$o - xy$ 是固定坐标系,$\psi $ 是艏向角,$\delta $ 是舵角。Fossen[23]基于3-DOF船舶操纵数学模型给出了运动学的具体描述:$$ \begin{gathered} {\mathbf{\dot {\boldsymbol{\eta}} }} = {\boldsymbol{R}}(\psi ){\boldsymbol{v}} \\ {\boldsymbol{R}}(\psi ) = \left[ {\begin{array}{*{20}{c}} {\cos \psi }&{ - \sin \psi }&0 \\ {\sin \psi }&{\cos \psi }&0 \\ 0&0&1 \end{array}} \right] \end{gathered} $$ (1) 式中:
$ {\boldsymbol{v}} = {[u\;\;\;v\;\;\;r]^{\text{T}}} $ ,${\boldsymbol{\eta }} = {[{x_0}\;\;\;{y_0}\;\;\;\psi ]^{\text{T}}}$ 是包含船舶关于地球坐标系位置的向量。根据牛顿第二定律和Abkowitz[3],船舶动态模型表达式为
$$ \left\{ {\begin{array}{*{20}{l}} {(m - {X_{\dot u}})\dot u = {f_1}(u,v,r,\delta )} \\ {(m - {Y_{\dot v}})\dot v + (m{x_{\mathrm{G}}} - {Y_{\dot r}})\dot r = {f_2}(u,v,r,\delta )} \\ {(m{x_{\mathrm{G}}} - {N_{\dot v}})\dot v + ({I_z} - {N_{\dot r}})\dot r = {f_3}(u,v,r,\delta )} \end{array}} \right. $$ (2) 式中:
${X_{\dot u}}$ 、${Y_{\dot v}}$ 、${N_{\dot v}}$ 、${Y_{\dot r}}$ 和${N_{\dot r}}$ 都是水动力系数,$m$ 是船舶质量,$\dot u$ 是关于$u$ 的加速度,${I_z}$ 是转动惯量,$ {x_{\mathrm{G}}} $ 是船舶重心的纵坐标。${f_i}( \cdot ) , i = 1,2,3$ 是关于船舶操纵运动的非线性函数,它们的具体展开式为$$ \begin{gathered} {f_1} = {X_u}\Delta u + {X_{uu}}{(\Delta u)^2} + {X_{uuu}}{(\Delta u)^3} + {X_{vv}}{v^2} + \left( {{X_{rr}} + m{x_{\mathrm{G}}}} \right){r^2} + \\ {X_{\delta \delta }}{\delta ^2} + {X_{rru}}{r^2}\Delta u + {X_{vvu}}{v^2}\Delta u + {X_{\delta \delta u}}{\delta ^2}\Delta u + \left( {{X_{vr}} + m} \right)vr + \\ {X_{v\delta }}v\delta + {X_{r\delta }}r\delta + {X_{vru}}vr\Delta u + {X_{v\delta u}}v\delta \Delta u + {X_{r\delta u}}r\delta \Delta u \end{gathered} $$ (3) $$ \begin{gathered} {f_2} = {Y_v}v + {Y_{vvv}}{v^3} + {Y_{vrr}}v{r^2} + {Y_{v\delta \delta }}v{\delta ^2} + {Y_{vu}}v\Delta u +\\ {Y_{vuu}}v{(\Delta u)^2} + \left( {{Y_r} - mu} \right)r + {Y_{rrr}}{r^3} + {Y_{rvv}}r{v^2} + {Y_{r\delta \delta }}r{\delta ^2} + \\ {Y_{ru}}r\Delta u \,+\,{Y_{ruu}}r{(\Delta u)^2}\,+\, {Y_\delta }\delta \,+\, {Y_{\delta \delta \delta }}{\delta ^3} \,+\, {Y_{\delta vv}}\delta {v^2}\,+\, {Y_{\delta rr}}\delta {r^2} +\\ {Y_{\delta u}}\delta \Delta u + {Y_{\delta uu}}\delta {(\Delta u)^2} + {Y_{vr\delta }}vr\delta + {Y_{\delta \delta \delta u}}{\delta ^3}\Delta u\\ \end{gathered} $$ (4) $$ \begin{gathered} {{f_3} = {N_v}v + {N_{vvv}}{v^3} + {N_{vrr}}v{r^2}} + {N_{v\delta \delta }}v{\delta ^2} + {N_{vu}}v\Delta u +\\ {N_{vuu}}v{{(\Delta u)}^2} + \left( {{N_r} - m{x_{\mathrm{G}}}u} \right)r + {N_{rrr}}{r^3} + {N_{r{\text{vv}}}}r{v^2} + {N_{r\delta \delta }}r{\delta ^2} + \\ {N_{ru}}r\Delta u + {N_{ruu}}r{{(\Delta u)}^2} + {N_\delta }\delta + {N_{\delta \delta \delta }}{\delta ^3} + {N_{\delta vv}}\delta {v^2} + {N_{\delta rr}}\delta {r^2} + \\ {N_{\delta u}}\delta \Delta u + {N_{\delta uu}}\delta {(\Delta u)^2} + {N_{vr\delta }}vr\delta + {N_{\delta \delta \delta u}}{\delta ^3}\Delta u \end{gathered} $$ (5) 式中:
$ {X_u} $ 等也是水动力系数,$ \Delta u = u - U $ ,$ U $ 是船舶在水面航行的速度。由此可以推导出关于3-DOF船舶操纵运动非线性函数表达式:$$ \left\{ \begin{gathered} \dot u = {f_1}(u,v,r,\delta ) \\ \dot v = {f_2}(u,v,r,\delta ) \\ \dot r = {f_3}(u,v,r,\delta ) \\ \end{gathered} \right. $$ (6) 本文的非参数模型是基于式(6)来进行构建的。对应的速度由加速度经过欧拉法来计算得出。
2. 辨识算法
2.1 ν-支持向量回归
对于一组给定的训练样本
$ \{ ({{\boldsymbol{x}}_1},{y_1}),({{\boldsymbol{x}}_2},{y_2}), \cdot \cdot \cdot , ({{\boldsymbol{x}}_N},{y_N})\} $ ,其中${{\boldsymbol{x}}_i} \in {{\bf{R}}^n}$ 是输入数据,${y_i} \in {\text{R}}$ 是输出数据,$N$ 是训练样本数,$n$ 是输入维度。回归问题是要找到一个函数来具体地描述输入和输出之间的关系:$$ f({\boldsymbol{x}}) = {{\boldsymbol{w}}^{\text{T}}}{{\varphi }}({\boldsymbol{x}}) + b $$ (7) 其中:
$ {{\varphi }}({\boldsymbol{x}}) $ 是关于${\boldsymbol{x}}$ 的非线性映射函数,${\boldsymbol{w}}$ 和$b$ 分别是权重向量和偏置。SVR是建立在统计学习理论VC维(Vapnik-Chervonenkis dimension)和结构风险最小化的基础上。SVR是支持向量机在回归问题的推广[24]。而$\nu $ -SVR是一种改进的SVR,它利用参数$\nu $ 来最小化参数误差$\varepsilon $ ,这使参数的调整变得容易。$\nu $ -SVR需要找到使得模型输出和给定样本输出的偏差小于$\varepsilon $ 的${\boldsymbol{w}}$ 和$b$ 。因此确定${\boldsymbol{w}}$ 和$b$ 的数值可以被看作一个优化问题:$$ \begin{gathered} \min \dfrac{1}{2}{{\boldsymbol{w}}^{\text{T}}}{\boldsymbol{w}} + C\left[ {\nu \varepsilon + \dfrac{1}{N}\displaystyle\sum\limits_{i = 1}^N {\left( {{\xi _i} + \xi _i^ * } \right)} } \right] \\ {\mathrm{s.t.}}\left\{ \begin{gathered} {y_i} - {{\boldsymbol{w}}^{\text{T}}}{{\varphi }}({{\boldsymbol{x}}_i}) - b \leqslant \varepsilon + {\xi _i} \\ {{\boldsymbol{w}}^{\text{T}}}{{\varphi }}({{\boldsymbol{x}}_i}) + b - {y_i} \leqslant \varepsilon + \xi _i^ * \\ \varepsilon \geqslant 0,{\xi _i} \geqslant 0,\xi _i^ * \geqslant 0,\;\; i = 1,2,\cdots,N \\ \end{gathered} \right. \\ \end{gathered} $$ (8) 其中:
${\xi _i}$ 和$\xi _i^ * $ 是$ \varepsilon $ -不敏感训练误差,也就是稀疏变量;$C$ 是惩罚参数。在式(8)中的优化问题可以被拉格朗日法解决:$$ \begin{gathered} L\left( {{\boldsymbol{w}},b,\varepsilon ,\xi _i^*,\alpha _i^*,\beta ,\eta _1^ * } \right) = \dfrac{1}{2}{{\boldsymbol{w}}^{\text{T}}}{\boldsymbol{w}} + C\nu \varepsilon + \dfrac{C}{N}\displaystyle\sum\limits_{i = 1}^N {\left( {{\xi _i} + {\xi _i}^*} \right)} -\\[-3pt] \displaystyle\sum\limits_{i = 1}^N {\left( {\eta _1^ * {\xi _i}^ * + {\eta _1}{\xi _i}} \right)} - \beta \varepsilon - \displaystyle\sum\limits_{i = 1}^N {{\alpha _i}[\varepsilon + {\xi _i} + {y_i}} - {{\boldsymbol{w}}^{\text{T}}}{{\varphi }}\left( {{{\boldsymbol{x}}_i}} \right) - b] - \\[-3pt] \displaystyle\sum\limits_{i = 1}^N {{\alpha _i}^ * [\varepsilon + {\xi _i}^ * - {y_i}} + {{\boldsymbol{w}}^{\text{T}}}{{\varphi }}\left( {{{\boldsymbol{x}}_i}} \right) + b] \\[-3pt] \end{gathered} $$ (9) 其中
$\eta _1^ * $ 、$ \alpha _i^* $ 和$\beta $ 是拉格朗日乘子。令式(9)分别对$ {\boldsymbol{w}} $ 、$ b $ 、$ \varepsilon $ 和$ \xi _i^ * $ 求偏导:$$ \left\{ {\begin{array}{*{20}{l}} {\dfrac{{\partial L}}{{\partial {\boldsymbol{w}}}} = 0 \Rightarrow {\boldsymbol{w}} = \displaystyle\sum\limits_{i = 1}^N {\left( {{\alpha _i}^ * - {\alpha _i}} \right){{\varphi }}\left( {{{\boldsymbol{x}}_i}} \right)} } \\[-3pt] {\dfrac{{\partial L}}{{\partial b}} = 0 \Rightarrow \displaystyle\sum\limits_{i = 1}^N {\left( {{\alpha _i}^ * - {\alpha _i}} \right)} = 0} \\[-3pt] {\dfrac{{\partial L}}{{\partial \varepsilon }} = 0 \Rightarrow C\nu - \displaystyle\sum\limits_{i = 1}^N {\left( {{\alpha _i}^ * + {\alpha _i}} \right)} - \beta = 0} \\[-3pt] {\dfrac{{\partial L}}{{\partial \xi _i^ * }} = 0 \Rightarrow \dfrac{C}{N} - {\alpha _i}^ * - \eta _i^ * = 0} \end{array}} \right. $$ (10) 将式(10)代入式(9),将得到如下的优化问题:
$$ \begin{gathered} \min \; - \displaystyle\sum\limits_{i = 1}^N {\left( {\alpha _i^ * - {\alpha _i}} \right)} {y_i} + \dfrac{1}{2}\displaystyle\sum\limits_{i,j = 1}^N {\left( {\alpha _i^ * - {\alpha _i}} \right)} \cdot \\ \left( {\alpha _j^ * - {\alpha _j}} \right)K\left( {{{\boldsymbol{x}}_i},{{\boldsymbol{x}}_j}} \right) \\ {\mathrm{s.t.}}\;\;\;\left\{ {\begin{array}{*{20}{l}} {\displaystyle\sum\limits_{i = 1}^N {\left( {\alpha _i^ * - {\alpha _i}} \right)} = 0} \\ {\displaystyle\sum\limits_{i = 1}^N {\left( {\alpha _i^ * + {\alpha _i}} \right)} \leqslant C\nu } \\ {\alpha _i^ * \in \left[ {0,\dfrac{C}{N}} \right]} \end{array}} \right. \\ \end{gathered} $$ (11) 其中
$ K\left( {{{\boldsymbol{x}}_i},{{\boldsymbol{x}}_j}} \right) $ 是核函数。根据Karush-Kuhn-Tucker条件,回归函数为$$ f\left( {\boldsymbol{x}} \right) = \displaystyle\sum\limits_{i = 1}^N {\left( {{\alpha _i}^* - {\alpha _i}} \right)} K\left( {{{\boldsymbol{x}}_i},{\boldsymbol{x}}} \right) + b $$ (12) 2.2 混合核函数
核函数可以将样本从低维空间转换到高维特征空间,从而通过降低内积运算的维数来简化计算[25]。常用的核函数有RBF、多项式核函数和线性核函数,它们的表达式分别为
$$ \left\{ \begin{gathered} {K_r}({\boldsymbol{x}},{\boldsymbol{x'}}) = \exp ( - {\gamma _r}\left\| {{\boldsymbol{x}} - {\boldsymbol{x'}}} \right\|) \\ {K_p}({\boldsymbol{x}},{\boldsymbol{x'}}) = {({\gamma _p}{{\boldsymbol{x}}^{\text{T}}}{\boldsymbol{x'}} + {r_1})^d} \\ {K_l}({\boldsymbol{x}},{\boldsymbol{x'}}) = {\boldsymbol{x}}_{}^{\text{T}} \cdot {\boldsymbol{x'}} \\ \end{gathered} \right. $$ (13) 式中:
${K_r}(x,x')$ 、${K_p}(x,x')$ 和${K_l}(x,x')$ 分别代表了RBF、多项式核函数和线性核函数,$ {\gamma _r} $ 和$ {\gamma _p} $ 分别是RBF和多项式核函数的带宽系数,$ d $ 是多项式的阶数,${r_1}$ 是相对权重。核函数可以分为两类:全局核函数和局部核函数。RBF是一种典型的局部核函数,其插值能力随着参数$ {\gamma _r} $ 的减小而下降。多项式核函数是一个全局核函数。参数$ d $ 越大,多项式核函数的插值能力越强,泛化能力越弱[2]。而MK综合了不同核函数的优点,可表示为$$ \begin{gathered} {K_m}({\boldsymbol{x}},{\boldsymbol{x'}}) = {a_1}{K_1}({\boldsymbol{x}},{\boldsymbol{x'}}) + {a_2}{K_2}({\boldsymbol{x}},{\boldsymbol{x'}}) + \cdots + {a_q}{K_q}({\boldsymbol{x}},{\boldsymbol{x'}}) \\ {\mathrm{s.t.}}\displaystyle\sum\limits_{i = 1}^q {{a_i}} = 1 \end{gathered} $$ (14) 式中:
${K_m}(x,x')$ 代表了MK;${a_i} (i = 1,2,\cdots ,q)$ 是自适应权重调节因子;$q$ 是核函数的总数。本文提出的是基于RBF和多项式核函数的MK,所以$q = 2$ 。MK表达式为$$ \begin{gathered} {K_m}({\boldsymbol{x}},{\boldsymbol{x'}}) = {a_1}\exp ( - {\gamma _r}\left\| {{\boldsymbol{x}} - {\boldsymbol{x'}}} \right\|) + {a_2}{({\gamma _p}{{\boldsymbol{x}}^{\text{T}}}{\boldsymbol{x'}} + {r_1})^d} \\ {\mathrm{s.t.}} \;\;{a_1} + {a_2} = 1 \end{gathered} $$ (15) 2.3 基于遗传算法的超参数优化
GA-MK-
$\nu $ -SVR的性能受到两个方面的影响,第一方面是核函数的选择也就是本文所探究的MK的效果,第二方面就是与模型有关的超参数的取值。GA-MK-$\nu $ -SVR的超参数分为两类,一类是$\nu $ -SVR本身的超参数$C$ 和$\nu $ ,另一类是MK的超参数${\gamma _r}$ 、${\gamma _p}$ 、${r_1}$ 、${a_1}$ 和d。超参数的选择会严重影响模型的性能。$C$ 被用于控制对超出误差的惩罚程度,其取值是模型复杂度和模型精度之间的权衡[26]。为了能发挥模型的最佳性能,进一步探究MK对基于$\nu $ -SVR的船舶操纵运动非参数模型性能的提升程度,本文在固定部分超参数数值的基础上引入了GA对剩余的超参数进行优化搜索。为了权衡模型的泛化能力和模型的插值能力,超参数d固定在2,同时为了平衡计算效率与准确性,超参数$\nu $ 固定在0.5[2]。GA[19]常被用于寻找最优超参数等优化问题,GA可以将目标问题的解编码成为染色体,通过不断地选择、交叉、变异产生所需要的个体,进而得到最优解。本文对超参数$C$ 、${\gamma _r}$ 、${\gamma _p}$ 、${r_1}$ 和${a_1}$ 进行优化搜索。${a_2} = 1 - {a_1}$ 。采用MSE作为目标函数,其表达式为$$ \varXi = \dfrac{1}{{{n_1}}}\displaystyle\sum\limits_{i = 1}^{{n_1}} {{{(\hat y({{\boldsymbol{x}}_i}) - y({{\boldsymbol{x}}_i}))}^2}} $$ (16) 式中:
${n_1}$ 是验证数据集样本数,$ \hat y({{\boldsymbol{x}}_i}) $ 和$ y({{\boldsymbol{x}}_i}) $ 分别是基于MK-$\nu $ -SVR在点${{\boldsymbol{x}}_i}$ 上的预测值和真实值。关于GA的初始参数设置如下:迭代次数设置为100,种群数量设置为100,交叉概率为0.9,变异概率为0.1,参数优化范围为$[C,{\gamma _r},{\gamma _p},{r_1}] \in [0,100], {a_1} \in [0,1]$ 。图2为GA-MK-$\nu $ -SVR建模流程。3. 船舶操纵运动的非参数建模
3.1 数据预处理和超参数寻优结果
非参数模型的数据集通常分为3类:训练集、验证集和测试集。训练数据集负责训练模型,而验证数据集负责进行超参数调优,测试数据集可以评估模型的泛化能力和精度。3类数据集之间彼此不交叉重复。本文使用的数据集来自于SIMMAN2008[22],采用的船舶类型为KVLCC2,船舶的初速度为1.179 m/s,螺旋桨转速为614 r/min,舵率在模型尺寸标度为15.68°/s,对应全船尺寸标度为2.32°/s。训练数据集为Z1010S和Z2010P。验证数据集包含Z3505S、Z0501S和Z1001S。测试数据集为Z1501S、Z2010S、Z2505S、Z1005S、Z1010P、Z2005S和TC35。其中,P、S、Z__S和TC_分别代表左舷、右舷、Z形测试和圆周运动测试;采样频率为0.2 s。
数据由船舶传感器收集,不可避免地夹杂着许多噪声干扰。本文使用了低通滤波器对其进行噪声过滤。为防止数据中某一个特征数值过大从而对模型造成影响,使得输出依赖于此特征而忽略其余特征,本文使用了数据归一化来避免这种情况发生。归一化公式为
$$ {\boldsymbol{x'}} = \dfrac{{{\boldsymbol{x}} - {{\boldsymbol{x}}_{\min }}}}{{{{\boldsymbol{x}}_{\max }} - {{\boldsymbol{x}}_{\min }}}} $$ (17) 式中:
${\boldsymbol{x'}}$ 是经过归一化后的数据,$ {{\boldsymbol{x}}_{\min }} $ 是样本点最小值,$ {{\boldsymbol{x}}_{\max }} $ 是样本点最大值。3.2 模型性能评估
首先使用训练数据对GA-MK-
$\nu $ -SVR进行辨识建模,并应用所建立的非参数模型和GA优化后的超参数进行运动预报。测试数据集包含Z1501S、Z2010S、Z2505S、Z1005S、Z1010P、Z2005S和TC35。测试数据集与训练数据集、验证数据集包含的数据不相同,可以充分地验证模型的泛化性能和预测精度。图3~6给出了关于Z1501S、Z2010S、Z2505S和TC35测试数据的预测结果。由图3~6可以看出,GA-MK-
$\nu $ -SVR可以准确地预测船舶操纵运动,预测轨迹获得了良好的长期精度,与真实值拟合较好。由于累计误差的存在,TC35的预测轨迹与真实轨迹存在一定的偏差,但是在可以接受的范围内。综合4个测试数据集的预测结果来看,模型不仅拥有良好的预测精度,而且拥有较强的泛化能力。为了定量验证GA-MK-
$\nu $ -SVR的预测精度和MK的优越性能,本文采用GA-$\nu $ -SVR、GA-LSSVR和GA-SVR作为对比模型进行测试。对比模型的核函数采用传统的RBF,超参数同样使用GA来进行优化搜索,优化条件与GA-MK-$\nu $ -SVR保持一致。同时采用均方误差根(root mean squared error,RMSE)来衡量模型的预测精度,其表达式为$$ \varOmega = \sqrt {\dfrac{1}{{{n_j}}}\displaystyle\sum\limits_{i = 1}^{{n_j}} {{{(\hat y({{\boldsymbol{x}}_i}) - y({{\boldsymbol{x}}_i}))}^2}} } $$ (18) 其中
${n_j}( j = 1,2,\cdots,7)$ 为每个测试数据集对应的样本点数。对比测试结果的RMSE由表1~3所示,其中M1是GA-MK-$\nu $ -SVR,M2是GA-$\nu $ -SVR,M3是GA-LSSVR,M4是GA-SVR。表 1 验证数据集和测试数据集关于$u$ 的RMSETable 1 RMSE of$u$ on validation and testing datasets数据集 模型 M1 M2 M3 M4 验证集 Z0501S 4.48×10−4 7.40×10−2 8.57×10−2 3.77×10−2 Z1001S 4.39×10−4 9.17×10−2 9.67×10−2 3.27×10−2 Z3505S 1.34×10−3 1.55×10−1 1.60×10−1 5.11×10−2 测试集 Z1005S 6.86×10−4 6.53×10−2 6.48×10−2 1.61×10−2 Z1501S 4.86×10−4 6.62×10−3 6.58×10−3 2.52×10−2 Z2005S 7.09×10−4 3.37×10−2 3.00×10−2 1.55×10−2 Z2010S 9.87×10−4 3.41×10−2 2.90×10−2 2.04×10−2 Z2505S 7.92×10−4 3.01×10−2 2.91×10−2 2.14×10−2 Z1010P 7.58×10−4 9.81×10−2 9.43×10−2 2.58×10−2 TC35 2.11×10−3 4.76×10−1 4.77×10−1 1.61×10−1 表 2 验证数据集和测试数据集关于$v$ 的RMSETable 2 RMSE of$v$ on validation and testing datasets数据集 模型 M1 M2 M3 M4 验证集 Z0501S 6.17×10−4 8.24×10−3 1.70×10−2 4.90×10−3 Z1001S 1.23×10−3 1.13×10−2 2.11×10−2 7.45×10−3 Z3505S 2.93×10−3 4.48×10−2 7.06×10−2 2.18×10−2 测试集 Z1005S 1.29×10−3 3.29×10−2 5.33×10−2 1.72×10−2 Z1501S 1.50×10−3 1.34×10−2 2.69×10−2 1.00×10−2 Z2005S 2.11×10−3 1.07×10−2 2.83×10−2 1.83×10−2 Z2010S 2.03×10−3 1.12×10−2 2.70×10−2 2.31×10−2 Z2505S 2.45×10−3 1.04×10−2 2.70×10−2 1.95×10−2 Z1010P 1.19×10−3 3.58×10−2 6.24×10−2 1.80×10−2 TC35 4.79×10−3 1.58×10−1 1.60×10−1 6.02×10−2 表1~3的结果说明了GA-MK-
$\nu $ -SVR在验证数据集上的预测精度和测试数据集上的预测精度并没有大的差别,所以GA-MK-$\nu $ -SVR并没有发生过拟合。同时与GA-$\nu $ -SVR模型进行对比,发现MK相比于RBF具有更高的预测精度和更强的泛化能力,这是由于MK可以同时结合RBF优秀的插值能力和多项式核函数的强大泛化能力。与GA-LSSVR和GA-SVR的对比结果发现,GA-MK-$\nu $ -SVR具有更加强大的泛化能力与更优秀的预测精度。表明新提出的GA-MK-$\nu $ -SVR十分具有竞争力,是一种高效的建模方法。表 3 验证数据集和测试数据集关于$r$ 的RMSETable 3 RMSE of$r$ on validation and testing datasets数据集 模型 M1 M2 M3 M4 验证集 Z0501S 3.91×10−4 6.08×10−4 5.18×10−3 2.72×10−3 Z1001S 4.64×10−4 1.17×10−3 6.56×10−3 3.62×10−3 Z3505S 1.13×10−3 9.02×10−3 2.89×10−2 1.83×10−2 测试集 Z1005S 3.69×10−4 2.68×10−3 1.41×10−2 5.27×10−3 Z1501S 6.48×10−4 1.47×10−3 9.52×10−3 5.10×10−3 Z2005S 8.42×10−4 1.43×10−3 1.02×10−2 6.63×10−3 Z2010S 7.31×10−4 1.85×10−3 8.75×10−3 6.56×10−3 Z2505S 9.56×10−4 1.66×10−3 1.04×10−2 8.16×10−3 Z1010P 3.67×10−4 1.72×10−3 1.53×10−2 4.26×10−3 TC35 5.70×10−4 4.94×10−2 5.28×10−2 1.10×10−2 4. 结束语
本文以KVLCC2船舶模型作为研究对象,利用SIMMAN2008提供的自由自航测试数据和GA-MK-
$\nu $ -SVR方法进行了水面3-DOF船舶操纵运动非参数模型的辨识。非参数模型的超参数取值是通过GA在验证数据集上进行的优化计算。利用所辨识到的模型进行了一系列的运动预报,得到了相关的运动速度和轨迹数据。与测试数据对比发现,GA-MK-$\nu $ -SVR具有良好的泛化能力和预测精度。采用多种现有操纵运动模型作为对比模型进行测试,结果表明MK相比于传统的RBF,其预测精度更高,泛化能力更强。这说明本文所提出的GA-MK-$\nu $ -SVR方法对于船舶操纵运动的非参数建模来说是高效的,可以为将来的建模研究和实际应用提高参考。同时,训练数据对黑箱模型的精度和鲁棒性有着至关重要的作用。作者以后的研究将侧重于如何设计出高质量的训练数据。 -
表 1 验证数据集和测试数据集关于
$u$ 的RMSETable 1 RMSE of
$u$ on validation and testing datasets数据集 模型 M1 M2 M3 M4 验证集 Z0501S 4.48×10−4 7.40×10−2 8.57×10−2 3.77×10−2 Z1001S 4.39×10−4 9.17×10−2 9.67×10−2 3.27×10−2 Z3505S 1.34×10−3 1.55×10−1 1.60×10−1 5.11×10−2 测试集 Z1005S 6.86×10−4 6.53×10−2 6.48×10−2 1.61×10−2 Z1501S 4.86×10−4 6.62×10−3 6.58×10−3 2.52×10−2 Z2005S 7.09×10−4 3.37×10−2 3.00×10−2 1.55×10−2 Z2010S 9.87×10−4 3.41×10−2 2.90×10−2 2.04×10−2 Z2505S 7.92×10−4 3.01×10−2 2.91×10−2 2.14×10−2 Z1010P 7.58×10−4 9.81×10−2 9.43×10−2 2.58×10−2 TC35 2.11×10−3 4.76×10−1 4.77×10−1 1.61×10−1 表 2 验证数据集和测试数据集关于
$v$ 的RMSETable 2 RMSE of
$v$ on validation and testing datasets数据集 模型 M1 M2 M3 M4 验证集 Z0501S 6.17×10−4 8.24×10−3 1.70×10−2 4.90×10−3 Z1001S 1.23×10−3 1.13×10−2 2.11×10−2 7.45×10−3 Z3505S 2.93×10−3 4.48×10−2 7.06×10−2 2.18×10−2 测试集 Z1005S 1.29×10−3 3.29×10−2 5.33×10−2 1.72×10−2 Z1501S 1.50×10−3 1.34×10−2 2.69×10−2 1.00×10−2 Z2005S 2.11×10−3 1.07×10−2 2.83×10−2 1.83×10−2 Z2010S 2.03×10−3 1.12×10−2 2.70×10−2 2.31×10−2 Z2505S 2.45×10−3 1.04×10−2 2.70×10−2 1.95×10−2 Z1010P 1.19×10−3 3.58×10−2 6.24×10−2 1.80×10−2 TC35 4.79×10−3 1.58×10−1 1.60×10−1 6.02×10−2 表 3 验证数据集和测试数据集关于
$r$ 的RMSETable 3 RMSE of
$r$ on validation and testing datasets数据集 模型 M1 M2 M3 M4 验证集 Z0501S 3.91×10−4 6.08×10−4 5.18×10−3 2.72×10−3 Z1001S 4.64×10−4 1.17×10−3 6.56×10−3 3.62×10−3 Z3505S 1.13×10−3 9.02×10−3 2.89×10−2 1.83×10−2 测试集 Z1005S 3.69×10−4 2.68×10−3 1.41×10−2 5.27×10−3 Z1501S 6.48×10−4 1.47×10−3 9.52×10−3 5.10×10−3 Z2005S 8.42×10−4 1.43×10−3 1.02×10−2 6.63×10−3 Z2010S 7.31×10−4 1.85×10−3 8.75×10−3 6.56×10−3 Z2505S 9.56×10−4 1.66×10−3 1.04×10−2 8.16×10−3 Z1010P 3.67×10−4 1.72×10−3 1.53×10−2 4.26×10−3 TC35 5.70×10−4 4.94×10−2 5.28×10−2 1.10×10−2 -
[1] 刘胜, 宋佳, 李高云. PSO并行优化LSSVR非线性黑箱模型辨识[J]. 智能系统学报, 2010, 5(1): 51−56. LIU Sheng, SONG Jia, LI Gaoyun. Modeling a complex nonlinear system with particle swarm optimization and parallel-optimized least squares support vector regression[J]. CAAI transactions on intelligent systems, 2010, 5(1): 51−56. [2] WANG Zihao, XU Haitong, XIA Li, et al. Kernel-based support vector regression for nonparametric modeling of ship maneuvering motion[J]. Ocean engineering, 2020, 216: 107994. doi: 10.1016/j.oceaneng.2020.107994 [3] HE Hongwei, WANG Zihao, ZOU Zaojian, et al. Nonparametric modeling of ship maneuvering motion based on self-designed fully connected neural network[J]. Ocean engineering, 2022, 251: 111113. doi: 10.1016/j.oceaneng.2022.111113 [4] YUE Wancheng, REN Junsheng, BAI Weiwei. Online non-parametric modeling for ship maneuvering motion using local weighted projection regression and extended Kalman filter[C]//2023 IEEE 12th Data Driven Control and Learning Systems Conference. Xiangtan: IEEE, 2023: 793−798. [5] ZHU Man, HAHN A, WEN Yuanqiao, et al. Parameter identification of ship maneuvering models using recursive least square method based on support vector machines[J]. International journal on marine navigation and safety of sea transportation, 2017, 11(1): 23−29. doi: 10.12716/1001.11.01.01 [6] ZHANG Zhao, REN Junsheng, WANG Guangxing. Multi-dimensional local weighted regression ship motion identification modeling based on particle swarm optimization[C]//2019 Chinese Control Conference. Guangzhou: IEEE, 2019: 1520−1525. [7] EMMANUEL I. Simulation of manoeuvring safety of ships in adverse weather conditions when subject to limited power imposed by EEDI improvement by engine derating[D]. Newcastle: University of Newcastle upon Tyne, 2019. [8] OUYANG Zilu, ZOU Zaojian, ZOU Lu. Adaptive hybrid-kernel function based Gaussian process regression for nonparametric modeling of ship maneuvering motion[J]. Ocean engineering, 2023, 268: 113373. doi: 10.1016/j.oceaneng.2022.113373 [9] HAN Yang, HAO Lizhu, SHI Chao, et al. Prediction of ship maneuvering motion with grey-box modelling incorporating mechanism and data[J]. Ships and offshore structures, 2023: 1−14. [10] WANG Xin, GUEDES SOARES C. Direct adaptive neural network control for ship manoeuvring modelling group model-based uncertain nonlinear systems in non-affine pure-feedback form[J]. IEEE access, 2020, 8: 3272−3284. doi: 10.1109/ACCESS.2019.2962604 [11] XUE Yifan, LIU Yanjun, JI Chen, et al. System identification of ship dynamic model based on Gaussian process regression with input noise[J]. Ocean engineering, 2020, 216: 107862. doi: 10.1016/j.oceaneng.2020.107862 [12] ARIZA R W, LEONG Z Q, NGUYEN H, et al. Non-parametric dynamic system identification of ships using multi-output Gaussian processes[J]. Ocean engineering, 2018, 166: 26−36. doi: 10.1016/j.oceaneng.2018.07.056 [13] ZHANG Xiufeng, MENG Yao, LIU Zhaochun, et al. Modified grey wolf optimizer-based support vector regression for ship maneuvering identification with full-scale trial[J]. Journal of marine science and technology, 2022, 27(1): 576−588. doi: 10.1007/s00773-021-00858-2 [14] LIU Xixiang, WANG Qiming, HUANG Rong, et al. A prediction method for deck-motion based on online least square support vector machine and genetic algorithm[J]. Journal of marine science and technology, 2019, 24(2): 382−397. doi: 10.1007/s00773-018-0557-z [15] ZHANG Yanyun, WANG Zihao, ZOU Zaojian. Black-box modeling of ship maneuvering motion based on multi-output nu-support vector regression with random excitation signal[J]. Ocean engineering, 2022, 257: 111279. doi: 10.1016/j.oceaneng.2022.111279 [16] LIU Jiao, SHI Guoyou, ZHU Kaige. Vessel trajectory prediction model based on AIS sensor data and adaptive chaos differential evolution support vector regression (ACDE-SVR)[J]. Applied sciences, 2019, 9(15): 2983. doi: 10.3390/app9152983 [17] FANG Y D, ZHAN Z F, YANG J Q, et al. A mixed-kernel-based support vector regression model for automotive body design optimization[C]//Proceedings of ASME 2016 International Mechanical Engineering Congress and Exposition. Phoenix:ASME, 2016: 67669. [18] CHENG Kai, LU Zhenzhou, WEI Yuhao, et al. Mixed kernel function support vector regression for global sensitivity analysis[J]. Mechanical systems and signal processing, 2017, 96: 201−214. doi: 10.1016/j.ymssp.2017.04.014 [19] 杨帅, 郭茂祖, 赵玲玲, 等. 融合遗传算法与XGBoost的玉米百粒重相关基因挖掘[J]. 智能系统学报, 2022, 17(1): 170−180. YANG Shuai, GUO Maozu, ZHAO Lingling, et al. The method of 100-kernel weight related genes mining in maize mixed with genetic algorithm and XGboost[J]. CAAI transactions on intelligent systems, 2022, 17(1): 170−180. [20] 裴小兵, 孙志卫. 改进区块遗传算法解决分布式车间调度问题[J]. 智能系统学报, 2021, 16(2): 303−312. PEI Xiaobing, SUN Zhiwei. Solving distributed-shop scheduling problems based on modified genetic algorithm[J]. CAAI transactions on intelligent systems, 2021, 16(2): 303−312. [21] 赵新超, 郭赛. 遗传算法求解多旅行商问题的相对解空间分析[J]. 智能系统学报, 2018, 13(5): 760−768. ZHAO Xinchao, GUO Sai. Analysis on the relative solution space for MTSP with genetic algorithm[J]. CAAI transactions on intelligent systems, 2018, 13(5): 760−768. [22] STERN F, AGDRUP K, KIM S Y, et al. Experience from SIMMAN 2008-the first workshop on verification and validation of ship maneuvering simulation methods[J]. Journal of ship research, 2011, 55(2): 135−147. doi: 10.5957/jsr.2011.55.2.135 [23] FOSSEN T I. Handbook of marine craft hydrodynamics and motion control[M]. United Kingdom: Wiley, 2021. [24] 刘明华, 张强. 支持向量机与神经网络相结合的板带凸度预测[J]. 智能系统学报, 2022, 17(3): 506−514. LIU Minghua, ZHANG Qiang. Prediction of strip crown based on support vector machine and neural network[J]. CAAI transactions on intelligent systems, 2022, 17(3): 506−514. [25] 汪鸿翔, 柳培忠, 骆炎民, 等. 高斯核函数卷积神经网络跟踪算法[J]. 智能系统学报, 2018, 13(3): 388−394. WANG Hongxiang, LIU Peizhong, LUO Yanmin, et al. Convolutional neutral network tracking algorithm accelerated by Gaussian kernel function[J]. CAAI transactions on intelligent systems, 2018, 13(3): 388−394. [26] 张艳云, 欧阳子路, 邹早建. 基于ν-支持向量机的波浪中船舶操纵运动辨识建模[J]. 船舶力学, 2023, 27(5): 637−645. ZHANG Yanyun, OUYANG Zilu, ZOU Zaojian. Identification modeling of ship maneuvering motion in waves based on ν-support vector machine[J]. Journal of ship mechanics, 2023, 27(5): 637−645.