基于支持向量回归的呼吸运动预测技术的研究*

2018-10-22 10:50康开莲童蕾万伟权孙海涛陈超敏
生物医学工程研究 2018年2期
关键词:延时向量样本

康开莲,童蕾,万伟权,孙海涛,陈超敏△

(1.南方医科大学生物医学工程学院,广州 510515;2.广东机电职业技术学院,广州 510515)

1 引 言

胸腹部肿瘤放疗中由于呼吸运动的影响,靶区位置会发生位移,使肿瘤逸出靶区而使周围正常组织进入,因此靶区的准确跟踪极其重要。随着放疗的发展,传统的呼吸控制技术,如射野扩边、屏气技术、呼吸门控等,虽有一定效果,但均不能满足精确放疗的需求[1]。研究表明外部呼吸信号与胸腹部肿瘤运动具有很好的相关性,所以利用体外信号来追踪体内肿瘤位置是目前的发展趋势[2]。位置信息获取到射野中心的调整一般都存在几百毫秒的延时,因此要对体外信号进行预测来补偿系统响应的延时[3]。目前已经提出多种呼吸运动预测方法,如神经网络,局部回归法,基于记忆学习及核密度估计法[4-6],这些方法都比无预测时误差小,但都有缺陷,其中神经网络受网络结构和样本复杂性的影响较大,容易发生过学习或低泛化能力,局部回归会受到基线漂移的影响,记忆学习法在回归分析过程中常会“过拟合”出现病态。核密度估计法计算量很大,难以满足实时的需求。本研究提出一种基于支持向量回归的呼吸运动预测算法。该方法首先选取一定长度的呼吸运动数据进行训练得到回归模型,当有一段新的数据时,通过回归模型来计算其所对应的体外数据。

支持向量机(support vector machine,SVM)是在统计学习理论基础上发展起来,具有坚实的理论基础,在处理小样本问题时解决了传统学习方法难以解决的难题(如神经网络局部极小点问题等)[7]。支持向量回归(support vector regression,SVR)是在支持向量机基础上提出的回归算法,其实现只需要利用简单的优化技术。传统支持向量回归都采用批处理离线训练方式,但是在呼吸运动预测过程中,随着样本的增加,离线模型的计算量不断增大,训练时间长成为其最大弊端。在此基础上有研究者提出了精确在线支持向量机(accurate online support vector regression,AOSVR)算法,可以在线更新训练模型,满足了呼吸运动序列这类模型更新频繁的样本需求[8-9]。

2 支持向量机算法原理

2.1 支持向量回归算法原理

人体呼吸运动信号可以看作是一个时间序列。首先假设输入为等频率采样的呼吸运动信号y,n为当前采样点,λ为预测步长。我们要实现的目标是通过时间序列y1,…,yn计算出y(n+λ)。支持向量回归应用于时间序列预测的基本思想是,已知训练集T={(xi,yi),i=1…k},当满足xi∈RN,yi∈R,此时xi,yi为一般情况下支持向量机的映射关系,则可得到回归方程F(x),通常F(x)在特征空间F的表达式为:

F(x)=WTφ(x)+b

(1)

其中,W为F中一个向量,φ(x)为输入信号x在特征空间中的映射。上式中W和b通过解决下面的优化问题得出:

(2)

我们用拉格朗日乘数α,α*,η及η*来重新规划(2)式中的拉格朗日方程:

(3)

拉格朗日方程LP的鞍点符合条件,因此在优化问题中LP关于初始变量b,w,ξ,ξ*的偏导数都为零,如下所示:

(4)

(5)

(6)

(7)

因此,上述优化问题可以转换为其对偶优化问题:

(8)

其中Qij=Φ(xi)TΦ(xj)=K(xi,xj),K(xi,xj)为核函数。最终,所要求的回归方程可以写为:

(9)

2.2 参数选择

不敏感损失系数ε,惩罚系数C对支持向量回归的学习能力和泛化能力有很大的影响,因此,确定模型参数也是SVR的一个重要部分,其取值与训练样本有关。Ma[10]等人的研究中提出直接从训练样本中确定惩罚函数C,而不需要重采样。Cherkassk方法表明,不敏感损失系数ε与输入变量的噪声水平呈正比,ε的确定依赖于训练样本的噪声水平及训练样本的数目,训练数据的噪声水平已知或者可以估计。从而得到以下参数选择方式。

(10)

(11)

3 材料与方法

3.1 实验数据与平台

本研究实验在MATLAB平台上进行,数据在采用德国吕贝克大学机器人与认知系统研究所(Institute for Robotics and Cognitive System, University of Lubeck,Germany)免费下载[11]。数据采样频率为20 Hz,持续时间5~6 min。我们研究7例头脚方向的呼吸运动数据样本。

3.2 算法实现与改进

3.2.1GA-SVM模型 算法实现:传统SVM采用由台湾大学林智仁(Lin Chih-Jen)等开发的LIBSVM工具箱MATLAB版本实现[12]。我们在此基础上使用李洋改进的LIBSVM-FarutoUltimate工具箱[13],利用遗传算法(genetic algorithm, GA)来优化惩罚函数C和核函数参数。核函数选择高斯核函数。

3.2.2AOSVR在线模型 为解决GA-SVM出现的问题,Junshui Ma[12]等提出精确在线支持向量回归AOSVR,算法实现了在线学习和更新训练模型与传统模型的不同之处:当数据更新时,不需要重新训练得到SVR模型,而是采用直接增加一个数据或者去掉一个数据,在线调整SVR模型及对应训练集数据的特征,使得模型仍然符合预测条件。AOSVR算法过程见图1。

4 实验评估方法

4.1 比较实验

为评估算法性能,本研究采用了不同的呼吸运动预测算法进行比较,分别为K近邻回归,线性回归,GA-SVM,单输入AOSVR及多输入AOSVR。

4.2 算法评价指标

利用以下指标来评价算法性能:

(1)平均绝对百分误差(mean absolute percentage error,MAPE)

(12)

图1 AOSVM流程图

(2)均方根误差(root mean squared error,RMSE)

(13)

(3)平均绝对误差(mean absolute error,MAE)

(14)

5 结果与讨论

5.1 实验结果

数据采样频率为20 Hz,当有呼吸运动序列F=[F1F2F3…Fend],取采样10 s的数据(约200个)作为训练集,实验表明将训练集分解成4个样本标签作为一组模型输入S时,模型精度高且时间开销不会明显增加。对应预期呼吸运动序列T作为输出对模型进行训练,映射关系如下:

其中,λ为延时所对应的步长,当延时分别为100、200、300 ms时,λ值对应为2,4,6。惩罚参数C,不敏感损失系数ε由上述方法确定,结果见表1。

惩罚函数C,不敏感损失系数ε不变时,不同核函数随着参数(KernelParam)的改变,对RMSE的影响见图2,其分别呈现出不同的变化规律,由于高斯径向基函数其参数在较大范围内取值时,RMSE都有理想的值,本研究选择高斯径向基函数为核函数。

图2不同核函数比较

Fig2Thecomparisonofdifferentkernel

延时300 ms时,不同方法的MAE,RMSE,MAPE结果见表2,总体来看以上几种算法的性能从差到好依次是:最近邻,线性回归,LIBSVM,AOSVR。K近邻回归的平均绝对误差为1.24 mm(0.77~2.09 mm),线性回归平均绝对误差0.44 mm(0.22~0.70 mm),GA-SVM平均绝对误差0.42 mm(0.23~0.87 mm),AOSVR平均绝对误差0.30 mm(0.16~0.55 mm)。100 ms及200 ms延时,GA-SVM平均绝对误差均值分别为0.13 mm,0.25 mm,AOSVR平均绝对百分误差均值分别为0.12 mm,0.23 mm。可见AOSVR在不同延时情况下拟合结果都比GA-SVM优异,而支持向量回归的时间复杂度和空间复杂度与训练样本数有关,AOSVR不需要重新训练,解决了传统支持向量回归随着样本数不断增大,计算量成倍增加,导致耗时严重的问题。同时样本6的平均绝对百分误差(MAPE)出现异常值,是由于样本6中真实值yi有许多值接近0,其作为分母使MAPE出现异常。

表2 不同方法实验结果

300 ms延时GA-SVM与AOSVR预测结果与真实值的比较见图3,呼吸较急促的样本中,呼气末及吸气末GA-SVM拟合的更好,但精度相差不大的情况下(MAE分别为0.23 mm,0.34 mm),AOSVR时间有了很大提升;运动曲线较规律的样本中,GA-SVM与AOSVR拟合效果都较好(MAE分别为0.56 mm,0.55 mm);而信号出现波动时,AOSVR结果更好,因为当前点与历史数据相似性低,而AOSVR更新训练集使得算法更好地适应新数据。样本7起伏较大,AOSVR的拟合结果仍然好于GA-SVM(MAE分别为0.29 mm,0.25 mm),所以动态更新训练集能够更好的拟合当前点数据。

模型映射分别为Fk→Fk+λ及前文所述S→T时AOSVR结果见图4,可以发现Fk→Fk+λ单样本标签作为输入时,预测时结合的历史信息较少,结果出现较大偏移。当采用S→T四样本标签训练时,输入结合了更多的历史信息,对序列的运动规律有了更准确的刻画。

图3 GA-SVM与AOSVR的比较

图5 不同延时拓展AOSVR的比较

系统延时分别为100、200、300 ms时,不同样本采用本研究映射的拟合结果见图5。样本4的RMSE分别为0.28 mm,0.47 mm,0.76 mm,可以发现延时越短,模型拟合效果越好,当延时较长时且呼吸出现明显波动时,预测误差变大但仍满足实际应用的需求。

5.2 讨论与结论

呼吸运动为典型的非线性序列,为了准确地拟合其运动特性,需要选择合适的映射关系。相比于文献中提出的Fk→Fk+λ的映射不同,本研究采用上述S→T映射方式,将呼吸运动序列进行划分,以多个特征向量作为支持向量回归的输入,这种映射能够结合更多的历史信息来拟合当前输出,因此精度更高。研究表明,支持向量回归模型原始问题具有O(l3) 以上的时间复杂度和(l+1)×(l+1)以上的空间复杂度,其中l为训练样本数目[15]。传统模型每次有新样本时都需要重新训练,而AOSVR不需要重新训练,更适合呼吸运动这类随时间不断变化的序列。虽然AOSVM在GA-SVM的基础上运行时间有了很大改善,但是耗时长仍然是支持向量回归的缺点,通过硬件加速可以达到实际要求。

核函数是支持向量通过线性方法实现非线性问题的转换过程,本研究比较了几种常见的核函数,算法实现中采用高斯径向基函数,其是一种插值能力较强,比较善于提取样本局部特性的核函数,因此适用于呼吸运动信号。且每种核函数在选择合适的核函数参数时,预测结果都优于线性回归,表明支持向量回归的强鲁棒性及有效性。

本研究的回归模型拥有坚实的理论基础,且适应性极强,在解决精确放疗中系统延迟问题有很大的应用价值。在实时跟踪放疗中该模型还可以用于体外标记物序列与体内肿瘤运动序列之间的关联,集预测与跟踪与一体,可以在实时跟踪放疗技术中得到很好的应用。

猜你喜欢
延时向量样本
向量的分解
用样本估计总体复习点拨
聚焦“向量与三角”创新题
基于级联步进延时的顺序等效采样方法及实现
日光灯断电关闭及自动延时开关设计
推动医改的“直销样本”
随机微分方程的样本Lyapunov二次型估计
向量垂直在解析几何中的应用
村企共赢的样本
向量五种“变身” 玩转圆锥曲线