康開(kāi)蓮,童蕾,萬(wàn)偉權(quán),孫海濤,陳超敏△
(1.南方醫(yī)科大學(xué)生物醫(yī)學(xué)工程學(xué)院,廣州 510515;2.廣東機(jī)電職業(yè)技術(shù)學(xué)院,廣州 510515)
胸腹部腫瘤放療中由于呼吸運(yùn)動(dòng)的影響,靶區(qū)位置會(huì)發(fā)生位移,使腫瘤逸出靶區(qū)而使周?chē)=M織進(jìn)入,因此靶區(qū)的準(zhǔn)確跟蹤極其重要。隨著放療的發(fā)展,傳統(tǒng)的呼吸控制技術(shù),如射野擴(kuò)邊、屏氣技術(shù)、呼吸門(mén)控等,雖有一定效果,但均不能滿足精確放療的需求[1]。研究表明外部呼吸信號(hào)與胸腹部腫瘤運(yùn)動(dòng)具有很好的相關(guān)性,所以利用體外信號(hào)來(lái)追蹤體內(nèi)腫瘤位置是目前的發(fā)展趨勢(shì)[2]。位置信息獲取到射野中心的調(diào)整一般都存在幾百毫秒的延時(shí),因此要對(duì)體外信號(hào)進(jìn)行預(yù)測(cè)來(lái)補(bǔ)償系統(tǒng)響應(yīng)的延時(shí)[3]。目前已經(jīng)提出多種呼吸運(yùn)動(dòng)預(yù)測(cè)方法,如神經(jīng)網(wǎng)絡(luò),局部回歸法,基于記憶學(xué)習(xí)及核密度估計(jì)法[4-6],這些方法都比無(wú)預(yù)測(cè)時(shí)誤差小,但都有缺陷,其中神經(jīng)網(wǎng)絡(luò)受網(wǎng)絡(luò)結(jié)構(gòu)和樣本復(fù)雜性的影響較大,容易發(fā)生過(guò)學(xué)習(xí)或低泛化能力,局部回歸會(huì)受到基線漂移的影響,記憶學(xué)習(xí)法在回歸分析過(guò)程中常會(huì)“過(guò)擬合”出現(xiàn)病態(tài)。核密度估計(jì)法計(jì)算量很大,難以滿足實(shí)時(shí)的需求。本研究提出一種基于支持向量回歸的呼吸運(yùn)動(dòng)預(yù)測(cè)算法。該方法首先選取一定長(zhǎng)度的呼吸運(yùn)動(dòng)數(shù)據(jù)進(jìn)行訓(xùn)練得到回歸模型,當(dāng)有一段新的數(shù)據(jù)時(shí),通過(guò)回歸模型來(lái)計(jì)算其所對(duì)應(yīng)的體外數(shù)據(jù)。
支持向量機(jī)(support vector machine,SVM)是在統(tǒng)計(jì)學(xué)習(xí)理論基礎(chǔ)上發(fā)展起來(lái),具有堅(jiān)實(shí)的理論基礎(chǔ),在處理小樣本問(wèn)題時(shí)解決了傳統(tǒng)學(xué)習(xí)方法難以解決的難題(如神經(jīng)網(wǎng)絡(luò)局部極小點(diǎn)問(wèn)題等)[7]。支持向量回歸(support vector regression,SVR)是在支持向量機(jī)基礎(chǔ)上提出的回歸算法,其實(shí)現(xiàn)只需要利用簡(jiǎn)單的優(yōu)化技術(shù)。傳統(tǒng)支持向量回歸都采用批處理離線訓(xùn)練方式,但是在呼吸運(yùn)動(dòng)預(yù)測(cè)過(guò)程中,隨著樣本的增加,離線模型的計(jì)算量不斷增大,訓(xùn)練時(shí)間長(zhǎng)成為其最大弊端。在此基礎(chǔ)上有研究者提出了精確在線支持向量機(jī)(accurate online support vector regression,AOSVR)算法,可以在線更新訓(xùn)練模型,滿足了呼吸運(yùn)動(dòng)序列這類(lèi)模型更新頻繁的樣本需求[8-9]。
人體呼吸運(yùn)動(dòng)信號(hào)可以看作是一個(gè)時(shí)間序列。首先假設(shè)輸入為等頻率采樣的呼吸運(yùn)動(dòng)信號(hào)y,n為當(dāng)前采樣點(diǎn),λ為預(yù)測(cè)步長(zhǎng)。我們要實(shí)現(xiàn)的目標(biāo)是通過(guò)時(shí)間序列y1,…,yn計(jì)算出y(n+λ)。支持向量回歸應(yīng)用于時(shí)間序列預(yù)測(cè)的基本思想是,已知訓(xùn)練集T={(xi,yi),i=1…k},當(dāng)滿足xi∈RN,yi∈R,此時(shí)xi,yi為一般情況下支持向量機(jī)的映射關(guān)系,則可得到回歸方程F(x),通常F(x)在特征空間F的表達(dá)式為:
F(x)=WTφ(x)+b
(1)
其中,W為F中一個(gè)向量,φ(x)為輸入信號(hào)x在特征空間中的映射。上式中W和b通過(guò)解決下面的優(yōu)化問(wèn)題得出:
(2)
我們用拉格朗日乘數(shù)α,α*,η及η*來(lái)重新規(guī)劃(2)式中的拉格朗日方程:
(3)
拉格朗日方程LP的鞍點(diǎn)符合條件,因此在優(yōu)化問(wèn)題中LP關(guān)于初始變量b,w,ξ,ξ*的偏導(dǎo)數(shù)都為零,如下所示:
(4)
(5)
(6)
(7)
因此,上述優(yōu)化問(wèn)題可以轉(zhuǎn)換為其對(duì)偶優(yōu)化問(wèn)題:
(8)
其中Qij=Φ(xi)TΦ(xj)=K(xi,xj),K(xi,xj)為核函數(shù)。最終,所要求的回歸方程可以寫(xiě)為:
(9)
不敏感損失系數(shù)ε,懲罰系數(shù)C對(duì)支持向量回歸的學(xué)習(xí)能力和泛化能力有很大的影響,因此,確定模型參數(shù)也是SVR的一個(gè)重要部分,其取值與訓(xùn)練樣本有關(guān)。Ma[10]等人的研究中提出直接從訓(xùn)練樣本中確定懲罰函數(shù)C,而不需要重采樣。Cherkassk方法表明,不敏感損失系數(shù)ε與輸入變量的噪聲水平呈正比,ε的確定依賴(lài)于訓(xùn)練樣本的噪聲水平及訓(xùn)練樣本的數(shù)目,訓(xùn)練數(shù)據(jù)的噪聲水平已知或者可以估計(jì)。從而得到以下參數(shù)選擇方式。
(10)
(11)
本研究實(shí)驗(yàn)在MATLAB平臺(tái)上進(jìn)行,數(shù)據(jù)在采用德國(guó)呂貝克大學(xué)機(jī)器人與認(rèn)知系統(tǒng)研究所(Institute for Robotics and Cognitive System, University of Lubeck,Germany)免費(fèi)下載[11]。數(shù)據(jù)采樣頻率為20 Hz,持續(xù)時(shí)間5~6 min。我們研究7例頭腳方向的呼吸運(yùn)動(dòng)數(shù)據(jù)樣本。
3.2.1GA-SVM模型 算法實(shí)現(xiàn):傳統(tǒng)SVM采用由臺(tái)灣大學(xué)林智仁(Lin Chih-Jen)等開(kāi)發(fā)的LIBSVM工具箱MATLAB版本實(shí)現(xiàn)[12]。我們?cè)诖嘶A(chǔ)上使用李洋改進(jìn)的LIBSVM-FarutoUltimate工具箱[13],利用遺傳算法(genetic algorithm, GA)來(lái)優(yōu)化懲罰函數(shù)C和核函數(shù)參數(shù)。核函數(shù)選擇高斯核函數(shù)。
3.2.2AOSVR在線模型 為解決GA-SVM出現(xiàn)的問(wèn)題,Junshui Ma[12]等提出精確在線支持向量回歸AOSVR,算法實(shí)現(xiàn)了在線學(xué)習(xí)和更新訓(xùn)練模型與傳統(tǒng)模型的不同之處:當(dāng)數(shù)據(jù)更新時(shí),不需要重新訓(xùn)練得到SVR模型,而是采用直接增加一個(gè)數(shù)據(jù)或者去掉一個(gè)數(shù)據(jù),在線調(diào)整SVR模型及對(duì)應(yīng)訓(xùn)練集數(shù)據(jù)的特征,使得模型仍然符合預(yù)測(cè)條件。AOSVR算法過(guò)程見(jiàn)圖1。
為評(píng)估算法性能,本研究采用了不同的呼吸運(yùn)動(dòng)預(yù)測(cè)算法進(jìn)行比較,分別為K近鄰回歸,線性回歸,GA-SVM,單輸入AOSVR及多輸入AOSVR。
利用以下指標(biāo)來(lái)評(píng)價(jià)算法性能:
(1)平均絕對(duì)百分誤差(mean absolute percentage error,MAPE)
(12)
圖1 AOSVM流程圖
(2)均方根誤差(root mean squared error,RMSE)
(13)
(3)平均絕對(duì)誤差(mean absolute error,MAE)
(14)
數(shù)據(jù)采樣頻率為20 Hz,當(dāng)有呼吸運(yùn)動(dòng)序列F=[F1F2F3…Fend],取采樣10 s的數(shù)據(jù)(約200個(gè))作為訓(xùn)練集,實(shí)驗(yàn)表明將訓(xùn)練集分解成4個(gè)樣本標(biāo)簽作為一組模型輸入S時(shí),模型精度高且時(shí)間開(kāi)銷(xiāo)不會(huì)明顯增加。對(duì)應(yīng)預(yù)期呼吸運(yùn)動(dòng)序列T作為輸出對(duì)模型進(jìn)行訓(xùn)練,映射關(guān)系如下:
其中,λ為延時(shí)所對(duì)應(yīng)的步長(zhǎng),當(dāng)延時(shí)分別為100、200、300 ms時(shí),λ值對(duì)應(yīng)為2,4,6。懲罰參數(shù)C,不敏感損失系數(shù)ε由上述方法確定,結(jié)果見(jiàn)表1。
懲罰函數(shù)C,不敏感損失系數(shù)ε不變時(shí),不同核函數(shù)隨著參數(shù)(KernelParam)的改變,對(duì)RMSE的影響見(jiàn)圖2,其分別呈現(xiàn)出不同的變化規(guī)律,由于高斯徑向基函數(shù)其參數(shù)在較大范圍內(nèi)取值時(shí),RMSE都有理想的值,本研究選擇高斯徑向基函數(shù)為核函數(shù)。
圖2不同核函數(shù)比較
Fig2Thecomparisonofdifferentkernel
延時(shí)300 ms時(shí),不同方法的MAE,RMSE,MAPE結(jié)果見(jiàn)表2,總體來(lái)看以上幾種算法的性能從差到好依次是:最近鄰,線性回歸,LIBSVM,AOSVR。K近鄰回歸的平均絕對(duì)誤差為1.24 mm(0.77~2.09 mm),線性回歸平均絕對(duì)誤差0.44 mm(0.22~0.70 mm),GA-SVM平均絕對(duì)誤差0.42 mm(0.23~0.87 mm),AOSVR平均絕對(duì)誤差0.30 mm(0.16~0.55 mm)。100 ms及200 ms延時(shí),GA-SVM平均絕對(duì)誤差均值分別為0.13 mm,0.25 mm,AOSVR平均絕對(duì)百分誤差均值分別為0.12 mm,0.23 mm??梢?jiàn)AOSVR在不同延時(shí)情況下擬合結(jié)果都比GA-SVM優(yōu)異,而支持向量回歸的時(shí)間復(fù)雜度和空間復(fù)雜度與訓(xùn)練樣本數(shù)有關(guān),AOSVR不需要重新訓(xùn)練,解決了傳統(tǒng)支持向量回歸隨著樣本數(shù)不斷增大,計(jì)算量成倍增加,導(dǎo)致耗時(shí)嚴(yán)重的問(wèn)題。同時(shí)樣本6的平均絕對(duì)百分誤差(MAPE)出現(xiàn)異常值,是由于樣本6中真實(shí)值yi有許多值接近0,其作為分母使MAPE出現(xiàn)異常。
表2 不同方法實(shí)驗(yàn)結(jié)果
300 ms延時(shí)GA-SVM與AOSVR預(yù)測(cè)結(jié)果與真實(shí)值的比較見(jiàn)圖3,呼吸較急促的樣本中,呼氣末及吸氣末GA-SVM擬合的更好,但精度相差不大的情況下(MAE分別為0.23 mm,0.34 mm),AOSVR時(shí)間有了很大提升;運(yùn)動(dòng)曲線較規(guī)律的樣本中,GA-SVM與AOSVR擬合效果都較好(MAE分別為0.56 mm,0.55 mm);而信號(hào)出現(xiàn)波動(dòng)時(shí),AOSVR結(jié)果更好,因?yàn)楫?dāng)前點(diǎn)與歷史數(shù)據(jù)相似性低,而AOSVR更新訓(xùn)練集使得算法更好地適應(yīng)新數(shù)據(jù)。樣本7起伏較大,AOSVR的擬合結(jié)果仍然好于GA-SVM(MAE分別為0.29 mm,0.25 mm),所以動(dòng)態(tài)更新訓(xùn)練集能夠更好的擬合當(dāng)前點(diǎn)數(shù)據(jù)。
模型映射分別為Fk→Fk+λ及前文所述S→T時(shí)AOSVR結(jié)果見(jiàn)圖4,可以發(fā)現(xiàn)Fk→Fk+λ單樣本標(biāo)簽作為輸入時(shí),預(yù)測(cè)時(shí)結(jié)合的歷史信息較少,結(jié)果出現(xiàn)較大偏移。當(dāng)采用S→T四樣本標(biāo)簽訓(xùn)練時(shí),輸入結(jié)合了更多的歷史信息,對(duì)序列的運(yùn)動(dòng)規(guī)律有了更準(zhǔn)確的刻畫(huà)。
圖3 GA-SVM與AOSVR的比較
圖5 不同延時(shí)拓展AOSVR的比較
系統(tǒng)延時(shí)分別為100、200、300 ms時(shí),不同樣本采用本研究映射的擬合結(jié)果見(jiàn)圖5。樣本4的RMSE分別為0.28 mm,0.47 mm,0.76 mm,可以發(fā)現(xiàn)延時(shí)越短,模型擬合效果越好,當(dāng)延時(shí)較長(zhǎng)時(shí)且呼吸出現(xiàn)明顯波動(dòng)時(shí),預(yù)測(cè)誤差變大但仍滿足實(shí)際應(yīng)用的需求。
呼吸運(yùn)動(dòng)為典型的非線性序列,為了準(zhǔn)確地?cái)M合其運(yùn)動(dòng)特性,需要選擇合適的映射關(guān)系。相比于文獻(xiàn)中提出的Fk→Fk+λ的映射不同,本研究采用上述S→T映射方式,將呼吸運(yùn)動(dòng)序列進(jìn)行劃分,以多個(gè)特征向量作為支持向量回歸的輸入,這種映射能夠結(jié)合更多的歷史信息來(lái)擬合當(dāng)前輸出,因此精度更高。研究表明,支持向量回歸模型原始問(wèn)題具有O(l3) 以上的時(shí)間復(fù)雜度和(l+1)×(l+1)以上的空間復(fù)雜度,其中l(wèi)為訓(xùn)練樣本數(shù)目[15]。傳統(tǒng)模型每次有新樣本時(shí)都需要重新訓(xùn)練,而AOSVR不需要重新訓(xùn)練,更適合呼吸運(yùn)動(dòng)這類(lèi)隨時(shí)間不斷變化的序列。雖然AOSVM在GA-SVM的基礎(chǔ)上運(yùn)行時(shí)間有了很大改善,但是耗時(shí)長(zhǎng)仍然是支持向量回歸的缺點(diǎn),通過(guò)硬件加速可以達(dá)到實(shí)際要求。
核函數(shù)是支持向量通過(guò)線性方法實(shí)現(xiàn)非線性問(wèn)題的轉(zhuǎn)換過(guò)程,本研究比較了幾種常見(jiàn)的核函數(shù),算法實(shí)現(xiàn)中采用高斯徑向基函數(shù),其是一種插值能力較強(qiáng),比較善于提取樣本局部特性的核函數(shù),因此適用于呼吸運(yùn)動(dòng)信號(hào)。且每種核函數(shù)在選擇合適的核函數(shù)參數(shù)時(shí),預(yù)測(cè)結(jié)果都優(yōu)于線性回歸,表明支持向量回歸的強(qiáng)魯棒性及有效性。
本研究的回歸模型擁有堅(jiān)實(shí)的理論基礎(chǔ),且適應(yīng)性極強(qiáng),在解決精確放療中系統(tǒng)延遲問(wèn)題有很大的應(yīng)用價(jià)值。在實(shí)時(shí)跟蹤放療中該模型還可以用于體外標(biāo)記物序列與體內(nèi)腫瘤運(yùn)動(dòng)序列之間的關(guān)聯(lián),集預(yù)測(cè)與跟蹤與一體,可以在實(shí)時(shí)跟蹤放療技術(shù)中得到很好的應(yīng)用。