方麗英,陳培煜,王 普,李 爽,楊建棟,萬 敏
(北京工業(yè)大學(xué)電子信息與控制工程學(xué)院,北京 100124)
從非小細(xì)胞肺癌隨訪數(shù)據(jù)中挖掘各項(xiàng)檢查指標(biāo)與腫瘤進(jìn)展情況之間的關(guān)系并建立相應(yīng)的模型,對醫(yī)生在患者治療過程中進(jìn)行決策具有重要作用?;颊叩母黜?xiàng)指標(biāo)與腫瘤進(jìn)展情況存在一個(gè)模糊的關(guān)系,中醫(yī)通過醫(yī)生自身積累的經(jīng)驗(yàn)進(jìn)行判別,而本文使用基于粒子群參數(shù)尋優(yōu)的支持向量機(jī)建立指標(biāo)與腫瘤進(jìn)展之間的關(guān)系模型,并對新檢查的各項(xiàng)指標(biāo)進(jìn)行腫瘤進(jìn)展分類預(yù)測。本文研究的數(shù)據(jù)為非小細(xì)胞肺癌患者的治療與隨訪數(shù)據(jù),數(shù)據(jù)內(nèi)容包括臨床癥狀、中醫(yī)證候、理化檢查、影像檢查等數(shù)據(jù)。數(shù)據(jù)主要包含數(shù)值型、分類型和序號(hào)型數(shù)據(jù)。
最近幾年,支持向量機(jī)(Support Vector Machine,SVM)在分類預(yù)測中應(yīng)用越來越廣泛,其中涉及圖像壓縮[1]、飛行控制預(yù)測[2]、交通流預(yù)測[3]、巖爆分類[4]等。它采用結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,泛化能力較強(qiáng),能有效解決小樣本、非線性等分類和回歸問題,并可以找到全局最優(yōu)解,克服了神經(jīng)網(wǎng)絡(luò)陷入局部最優(yōu)解的難題。然而支持向量機(jī)的中訓(xùn)練參數(shù)的選擇對其分類性能有較大的影響,因此如何確定模型參數(shù)對建模研究具有很深的意義。遺傳算法和粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法被廣泛應(yīng)用于各種優(yōu)化問題,與遺傳算法相比,粒子群算法在大部分領(lǐng)域中已經(jīng)被證明擁有更高的效率[5]。在基本粒子群優(yōu)化算法的基礎(chǔ)上,很多改進(jìn)的算法也得到了廣泛的應(yīng)用。文獻(xiàn)[6]使用量子行為粒子群優(yōu)化算法在搜索空間中得到了最優(yōu)解;文獻(xiàn)[7]運(yùn)用混沌粒子群優(yōu)化算法動(dòng)態(tài)的更改粒子群模型以取得最優(yōu)的參數(shù)。針對模型參數(shù)優(yōu)化問題,本文提出一種改進(jìn)的粒子群算法優(yōu)化支持向量機(jī)的訓(xùn)練參數(shù),使分類模型可以獲得最優(yōu)的訓(xùn)練參數(shù),從而提高分類準(zhǔn)確率。
PSO算法由文獻(xiàn)[8]提出,是一種全局優(yōu)化進(jìn)化算法,它源于對簡化社會(huì)模型的模擬。PSO算法屬于進(jìn)化算法的一種,類似于遺傳算法,它也是從隨機(jī)解出發(fā),通過迭代尋找最優(yōu)解,并通過適應(yīng)度來評價(jià)解的品質(zhì),但比遺傳算法規(guī)則更為簡單,它沒有遺傳算法的交叉(Crossover)和變異(Mutation)操作,而是通過追隨當(dāng)前搜索到的最優(yōu)值來尋找全局最優(yōu)。PSO算法作為一種并行優(yōu)化算法,可以用于解決大量非線性、不可微和多峰值的復(fù)雜問題優(yōu)化,并已被廣泛用于科學(xué)和工程領(lǐng)域,如函數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)訓(xùn)練、模式分類和模糊系統(tǒng)控制等領(lǐng)域。
在PSO算法中,用粒子的位置表示待優(yōu)化問題的解,每個(gè)粒子的性能指標(biāo)由目標(biāo)函數(shù)的適應(yīng)度值來確定。PSO算法首先初始化一組粒子,包括粒子的位置和速度,然后通過迭代尋找最優(yōu)解,在每次迭代過程中通過個(gè)體極值和全局極值來更新每個(gè)粒子的位置和速度。在D維的搜索空間中,由m個(gè)粒子組成粒子種群,其中,第i個(gè)粒子的速度為v(t),位置為x(t),該粒子當(dāng)前搜索到的最優(yōu)位置為p(t),該種群當(dāng)前的最優(yōu)位置為g(t),PSO算法的公式如下:
其中,w為慣性權(quán)重常量,w值較大可使算法具有較強(qiáng)的全局搜索能力,w值較小則算法傾向于局部搜索,一般可以初始化w為0.9,但隨迭代次數(shù)增加時(shí)減小w為0.4,這樣在全局搜索的同時(shí)可以使算法快速收斂于某一區(qū)域;c1和c2為2個(gè)學(xué)習(xí)因子分別為局部權(quán)重和社會(huì)權(quán)重,一般取值為2;r1和r2為(0,1)范圍內(nèi)的隨機(jī)常量。
由于基本粒子群優(yōu)化算法會(huì)有陷入局部最優(yōu)解的情況[9],因此每次優(yōu)化的結(jié)果與初始化種群有關(guān)。分析PSO模型,可以發(fā)現(xiàn)粒子位置有粒子自身最優(yōu)解和種群最優(yōu)解決定,即使用了兩級(jí)的粒子隸屬,從模型的角度看,如果在粒子和種群之間再增加一層子種群則可以使優(yōu)化結(jié)果無限逼近于最優(yōu)解,因此,本文提出一種改進(jìn)的三層粒子群優(yōu)化算法(three layer Particle Swarm Optimization,tlPSO),計(jì)算式如下:
其中,k(t)為當(dāng)前在所屬的子種群中的最優(yōu)解。
tlPSO算法的具體步驟如下:
(1)隨機(jī)初始化種群的位置和速度。每個(gè)粒子的p(0)為當(dāng)前位置,并計(jì)算出當(dāng)前適應(yīng)度值,而子種群極值則為群中所有個(gè)體極值中最高的,記錄當(dāng)前k(0)為當(dāng)前最好位置,全局極值為所有個(gè)體極值中最高的,并將g(0)設(shè)置為該最好粒子的當(dāng)前位置。
(2)計(jì)算每個(gè)粒子的適應(yīng)度值。
(3)對每個(gè)粒子,將其適應(yīng)值與個(gè)體極值作比較,如果較優(yōu),則更新當(dāng)前的個(gè)體極值。
(4)對每個(gè)粒子,將其適應(yīng)值與子種群極值進(jìn)行比較,如果較優(yōu),則更新當(dāng)前子種群極值。
(5)對每個(gè)粒子,將其適應(yīng)值與全局極值進(jìn)行比較,如果較優(yōu),則更新當(dāng)前全局極值。(6)根據(jù)式(1)、式(2),更新每個(gè)粒子的位置和飛行速度。(7)如果沒有達(dá)到預(yù)定最大的迭代次數(shù),則返回步驟(2),如達(dá)到則停止計(jì)算。
支持向量機(jī)由文獻(xiàn)[10]提出,可用于模式分類和非線性回歸。設(shè)定訓(xùn)練樣本集T={xi,yi},i=1,2,…,n。其中,n為樣本數(shù)目;xi為輸入變量;yi為相應(yīng)的目標(biāo)值。SVM的基本思想是利用非線性函數(shù)φ將輸入空間數(shù)據(jù)x映射到高維特征空間,并在該空間利用函數(shù)f(x)=w·x+b進(jìn)行線性回歸,用該超平面作為決策曲面,使得正例與反例之間的隔離邊緣最大化。引入松弛變量ε和懲罰參數(shù)C,則目標(biāo)函數(shù)為:
其對偶問題為:
其中,e是全1矩陣;K(xi,xj)=φ(xi)Tφ(xj)為核函數(shù),它的引入使得高維空間中的內(nèi)積運(yùn)算可以通過輸入空間中的函數(shù)來實(shí)現(xiàn),從而避免了維度災(zāi)難現(xiàn)象。但是對于如何在特定情況下選擇合適的核函數(shù),一直是困擾研究者的一個(gè)難題。針對此問題,很多實(shí)驗(yàn)和研究表明[11-12],在缺少過程先驗(yàn)知識(shí)的情況下,選擇徑向基函數(shù)RBF比其他核函數(shù)預(yù)測性能更好。慣性因子C和RBF核參數(shù)g會(huì)影響分類結(jié)果的準(zhǔn)確性,因此,本文利用PSO算法對SVM分類模型的參數(shù)進(jìn)行優(yōu)化。
利用訓(xùn)練樣本集建立SVM模型,描述為yi=f(x0,x1,…,xn),其中,xi為多維輸入矢量,即各個(gè)檢查指標(biāo)的值;yi為分類輸出,即患者腫瘤是否進(jìn)展情況。
支持向量機(jī)模型中的懲罰因子C和RBF中的核參數(shù)g對模型的分類預(yù)測具有較大的影響,為獲取最優(yōu)的SVM分類模型,需要對模型中的C和g進(jìn)行參數(shù)尋優(yōu)。PSO算法具有較好的全局搜索能力,并且優(yōu)化模型簡潔需要調(diào)整的參數(shù)較少。因此,本文選用tlPSO進(jìn)行模型參數(shù)的優(yōu)化。具體步驟如下:(1)隨機(jī)初始化種群的位置和速度。參考tlPSO算法的步驟(1)。(2)把樣本分為訓(xùn)練樣本和測試樣本,以每個(gè)粒子的位置作為SVM參數(shù)建立分類模型,計(jì)算測試樣本的準(zhǔn)備率并以準(zhǔn)群率作為每個(gè)粒子的適應(yīng)度值。(3)使用tlPSO參數(shù)優(yōu)化算法,得到分類模型的最優(yōu)參數(shù)C和g。(4)利用建立的模型進(jìn)行分類預(yù)測。tlPSO算法流程見圖1。
圖1 tlPSO算法流程
本文使用中晚期非小細(xì)胞肺癌患者的治療和隨訪數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),根據(jù)數(shù)據(jù)特征選擇理化檢查、臨床癥狀、FACT評分值[13]作為模型的輸入,腫瘤進(jìn)展情況作為模型的輸出。
理化檢查是指通過某些儀器設(shè)施對指標(biāo)的含量等的檢測。具體包括血常規(guī)、血生化和腫瘤標(biāo)志物三大項(xiàng),分別檢測每項(xiàng)的各項(xiàng)指標(biāo)并進(jìn)行臨床意義的判定(1表示正常,2表示異常但無臨床意義;3表示異常且有臨場意義;4表示未查)。
臨床癥狀是指中醫(yī)中的通過望、聞、問、切四診方式而獲取的信息,包括咳嗽、咯痰、胸悶、舌脈象等指標(biāo),每個(gè)指標(biāo)情況用無(0)、輕(1)、中(2)和重(3)進(jìn)行描述。
FACT評分表是專門針對肺癌病人開發(fā)的生命質(zhì)量量表,綜合考慮了患者身體功能、心理、情感以及家庭等多方面因素,通過患者自行打分,以總評分(FACT評分)作為患者當(dāng)前生命質(zhì)量的反映,能較全面地評價(jià)肺癌病人的生命質(zhì)量。
本文使用的數(shù)據(jù)共包含1196個(gè)樣本,每位患者有31個(gè)條件屬性:10個(gè)理化檢查指標(biāo),20個(gè)臨床癥狀指標(biāo)和FACT評分值。
對分類算法的性能評價(jià)主要以敏感性指標(biāo)(Sensitivity)、特異性指標(biāo)(Specificity)和正確率(ACC)這3個(gè)指標(biāo)為衡量標(biāo)準(zhǔn)。在計(jì)算這些指標(biāo)之前先介紹圖2中的混淆矩陣,其中,TP表示真陽性的樣本數(shù),例如醫(yī)生診斷結(jié)果和模型診斷結(jié)果都是腫瘤進(jìn)展的樣本數(shù);FN是假陰性,即模型診斷是腫瘤進(jìn)展但醫(yī)生診斷確無進(jìn)展的樣本數(shù);TN是真陽性,即模型診斷結(jié)果是無進(jìn)展而且醫(yī)生診斷也無進(jìn)展的樣本數(shù);FP是假陽性,即模型診斷是無進(jìn)展但醫(yī)生診斷有進(jìn)展的病例數(shù)。
圖2 腫瘤進(jìn)展混淆矩陣
根據(jù)混淆矩陣,敏感性、特異性和正確率定義如下:
對1196例數(shù)據(jù)隨機(jī)分成訓(xùn)練樣本和測試樣本,然后算出這3個(gè)指標(biāo),但是這樣的隨機(jī)分發(fā)會(huì)造成偏差,缺少一般性,使得對算法的性能不能充分評價(jià)。而十折交叉檢驗(yàn)(10-flod CVs)可以避免此問題。把數(shù)據(jù)隨機(jī)分成10組,以第1組為測試樣本,其余9組為訓(xùn)練樣本,同時(shí)算下敏感性、特異性和正確率3個(gè)指標(biāo)。以此類推,計(jì)算另外9組數(shù)值,求出平均值,得到模型的敏感性、特異性和正確率。
由于實(shí)驗(yàn)數(shù)據(jù)中存在大量缺失數(shù)據(jù)和冗余數(shù)據(jù),因此使用文獻(xiàn)[14]方法,對實(shí)驗(yàn)數(shù)據(jù)進(jìn)行缺失值處理和特征選擇。利用SVM作為分類模型,同時(shí)使用4種不同的參數(shù)尋優(yōu)的方法做比較。表1中4類分類模型的參數(shù)尋優(yōu)分別使用經(jīng)驗(yàn)參數(shù)尋優(yōu)、基于GA的參數(shù)尋優(yōu)、基于PSO的參數(shù)尋優(yōu)、基于QPSO(量子粒子群優(yōu)化算法)[6]的參數(shù)尋優(yōu)和本文提出的tlPSO參數(shù)尋優(yōu),比較各個(gè)參數(shù)尋優(yōu)的方法在分類器敏感性、特異性、正確率和時(shí)間效率上的差別。實(shí)驗(yàn)中PSO、QPSO和tlPSO每個(gè)種群都使用60個(gè)粒子,最大迭代次數(shù)為1000,PSO算法參數(shù)c1=c2=2,w=0.7,QPSO算法參數(shù)β根據(jù)迭代次數(shù)的增加從1減少到0.5,tlPSO算法參數(shù)c1=c2=c3=1.49,w根據(jù)迭代次數(shù)的增加從0.9變化到0.4,GA算法的初始種群表為50,最大迭代次數(shù)為1000。表中從上往下依次為分類模型、參數(shù)尋優(yōu)后模型的懲罰因子C和核參數(shù)g、敏感性、特異性、正確率和時(shí)間。
表1 5種模型的性能比較
由表1可以得出以下結(jié)論:(1)在敏感性、特異性和分類準(zhǔn)確率方面,tlPSO-SVM準(zhǔn)確率最高,GA-SVM的敏感性和分類準(zhǔn)確率其次,PSO-SVM和QPSO-SVM具有較高的特異性,未經(jīng)過參數(shù)優(yōu)化的SVM分類性能最低。(2)在參數(shù)優(yōu)化方面,經(jīng)過參數(shù)優(yōu)化的支持向量機(jī)具有更好的分類效果。(3)在效率方面,自定義參數(shù)的SVM模型由于沒有經(jīng)過參數(shù)優(yōu)化效率最高,tlPSO-SVM模型相對于PSO-SVM模型增加了一層屬性在進(jìn)化計(jì)算的時(shí)候增加了復(fù)雜度,因此,效率有所降低。(4)GA-SVM和PSO-SVM在準(zhǔn)確率上相比要高一點(diǎn),但是由于GA算法的計(jì)算相對復(fù)雜,因此效率比PSO算法低。(5)QPSO-SVM相對于PSO-SVM和tlPSOSVM在準(zhǔn)確率上有所減少,但算法效率有所提高。綜上所述,tlPSO可以提高分類模型的性能,但同時(shí)也降低了算法效率。而在離線模式下,該算法則具有較好的效果。
本文對基本粒子群優(yōu)化算法進(jìn)行改進(jìn),提出tlPSO算法,將分類模型由基本的兩層模型增加到三層模型,并對模型進(jìn)行參數(shù)優(yōu)化。通過對非小細(xì)胞肺癌數(shù)據(jù)的研究,結(jié)合tlPSO算法,建立腫瘤進(jìn)展的分類模型,在此基礎(chǔ)上對患者的腫瘤進(jìn)展情況進(jìn)行分類預(yù)測,由實(shí)驗(yàn)可知該算法可以建立較優(yōu)的分類模型。由于tlPSO-SVM模型較PSO-SVM模型增加了一層隸屬層,增加了算法時(shí)間復(fù)雜度。因此在在線模式下,算法運(yùn)行時(shí)間較長,不具有很好的適用性,而在離線模式下,對算法效率無特別要求且具有較好的分類性能。下一步將改進(jìn)tlPSO算法,提高算法效率,使分類模型具有更廣闊的應(yīng)用空間。
[1]Li Bin,Zheng Daning,Sun Lifeng.Exploiting Multi-scale Support Vector Regression for Image Compression[J].Neurocomputing,2007,70(16/18):3068-3074.
[2]Shin J,Kim H J,Park S.Predictive Flight Control Using Adaptive Support Vector Regression[J].Neurocomputing,2010,73(4/6):1031-1037.
[3]Hong W C.Traffic Flow Forecasting by Seasonal SVR with Chaotic Simulated Annealing Algorithm[J].Neurocomputing,2011,74(12/13):2096-2107.
[4]馮夏庭,趙洪波.巖爆預(yù)測的支持向量機(jī)[J].東北大學(xué)學(xué)報(bào):自然科學(xué)版,2002,23(1):57-59.
[5]Hassan R,Cohanim B,de Weck O.A Comparison of Particle Swarm Optimization and the Genetic Algorithm[C]//Proc.of the 1st AIAA Multidisciplinary Design Optimization Specialist Conference.Austin,USA:AIAA Press,2005:18-21.
[6]Sun Jun,Xu Wenbo,Feng Bin.A Global Search Strategy of Quantum-behaved Particle Swarm Optimization[C]//Proc.of 2004 IEEE Conference on Cybernetics and Intelligent Systems.Singapore:IEEE Press,2004:111-116.
[7]Li S,Zhao H,Ru Z.Deformation Prediction of Tunnel Surrounding Rock Mass Using CPSO-SVM Model[J].Journal of Central South University of Technology,2012,19(11):3311-3319.
[8]Eberhart K.Particle Swarm Optimization[C]//Proc.of 1995 IEEE International Conference on Neural Networks.Perth,Australia:IEEE Press,1995:942-948.
[9]Trelea I C.The Particle Swarm Optimization Algorithm:Convergence Analysis and Parameter Selection[J].Information Processing Letters,2003,85(6):317-325.
[10]Vapnik V N.The Nature of Statistical Learning Theory[M].New York,USA:Springer-Verlag,1995.
[11]Suwansawat S,Einstein H H.Artificial Neural Networks for Predicting the Maximum Surface Settlement Caused by EPB Shield Tunneling[J].Tunnelling and Underground Space Technology,2006,21(2):133-150.
[12]Choy K,Chan C.Modelling of River Discharges and Rainfall Using Radial Basis Function Networks Based on Support Vector Regression[J].International Journal of Systems Science,2003,34(1):763-773.
[13]萬崇華,張燦珍.肺癌患者生存質(zhì)量測定量表FACT-L中文版[J].中國腫瘤,2000,9(3):109-110.
[14]Doquire G,Verleysen M.Feature Selection with Missing Data Using Mutual Information Estimators[J].Neurocomputing,2012,90(1):3-11.