?

基于PSO優化SVM算法的癌癥診斷方法研究

2023-09-20 11:22孟霖宜劉嶼鴻
計算機仿真 2023年8期
關鍵詞:適應度癌癥向量

孟霖宜,劉嶼鴻

(1. 四川大學生命科學學院,四川 成都 610065;2. 四川大學網絡空間安全學院,四川 成都 610065)

1 引言

癌癥已成為威脅人類生命健康最嚴重的疾病之一,具有發展速度快、死亡率高、術后可能復發的特點。傳統的癌癥診斷大多采用病理切片、活檢等方式進行診斷,對醫生的水平要求高,且易受醫生主觀經驗影響,難以滿足早診斷、早治療的要求。支持向量機(Support Vector Machine,SVM)作為一種優異的模式識別方法,可以充分利用大量歷史癌癥數據,結合患者的數據特征進行識別判斷,在肺癌、乳腺癌、宮頸癌等醫學研究等領域得到廣泛的應用,是近幾年用于癌癥輔助診斷領域最多的智能方法之一。文獻[1]提出了SVM-PCA和SVM-RFE的方法,并用于宮頸癌的診斷;文獻[2]提出了一種基于主成分分析和支持向量機的卵巢癌預測方法;文獻[3]采用支持向量機的方法開展了癌細胞識別的應用研究;文獻[4]開展了支持向量機的癌癥輔助診斷方法研究;文獻[5]開展了改進SVM的癌癥診斷應用研究。

本文采用徑向基函數作為核函數的 SVM分類器,構建了癌癥輔助診斷流程,探討其在癌癥診斷中的應用,針對SVM分類器中對診斷準確度影響較大的懲罰函數C和核函數參數γ,設計了基于粒子群(particle swarm optimization,PSO)的參數優化流程,構建了合理的適應度函數,利用粒子群算法進行了參數C和γ的尋優,建立了基于PSO-SVM融合算法的癌癥診斷流程。采用威斯康星(Wisconsin)大學乳腺癌數據,通過仿真驗證了所提方法的有效性。

2 支持向量機的診斷方法

2.1 支持向量機算法

支持向量機本質上是一種二分類模型,通過尋找一個能滿足分類要求的超平面,使訓練樣本集內的所有點盡可能地距該超平面最遠,用樣本特征空間中的間隔最大來定義,達到分類的目的。 其思想是對于線性可分的樣本集,支持向量機通過間隔最大化,得到一個線性分類模型;而對于非線性的樣本集,支持向量機引入了核函數,將輸入數據映射到新的高維特征空間,在新空間中將非線性分類問題轉化為線性分類問題,再采用線性支持向量機的方法來實現非線性問題的分類[6,7]。

設給定樣本集{(x1,y1),(x2,y2),…,(xn,yn)},xi∈Rn,yi∈{-1,1},i=1,2,…N。(xi,yi)為數據的樣本點,xi為樣本特征向量,而yi為xi對應的類別標簽,N為訓練樣本總數,n為樣本空間的維數。SVM需要構建一個超平面,使得各個樣本點距離該超平面的距離盡可能地遠,達到精確分類的目的。最優分類超平面函數如下

(1)

(2)

0≤αi≤C,i=1,2,…N

(3)

其中C為懲罰參數,表示對于分類錯誤的懲罰程度,代表能夠接受的分類錯誤率的值,C值越大懲罰越大。在實際應用中,需要根據具體情況預先設定。

對于非線性問題,引入能夠實現非線性映射的核函數,將樣本映射到更高維的特征空間,再利用線性分類方法在高維的特征空間進行分類。

定義一個核函數K(x,y)=φ(x)·φ(y),φ是樣本空間到特征空間的映射,式(1)變換為

(4)

核函數對于非線性支持向量機的學習具有非常重要的影響,常用的核函數有:線性核函數、多項式核函數、徑向基核函數和Sigmoid核函數。在實際應用中,需要根據具體情況參考經驗預先設定:一般樣本的特征維數多、樣本量相對較少時常選用線性核函數;特征維數少、樣本量相對較大時常選用徑向基核函數。

本文的實驗數據樣本數量遠大于樣本維數,故采用徑向基核函數作為SVM的核函數,如式(5)

(5)

式中:γ為核函數參數,γ>0。γ的改變會影響SVM的分類準確度,γ減小會提高準確度,但會影響分類的推廣度。

2.2 支持向量機的診斷與分析

采用支持向量機進行癌癥輔助診斷時,其流程如圖1所示。

圖1 基于支持向量機的癌癥輔助診斷

基于支持向量機的癌癥輔助診斷流程包括歷史病例診斷數據處理、支持向量機參數設置、支持向量機訓練、待診斷病人信息分類診斷等步驟。

支持向量機用于診斷分類時,其診斷分類的效果主要受懲罰參數 C 和核函數參數γ的影響。實際使用中往往結合經驗選取C 和γ的值,選取不當可導致過學習、欠學習的情況,致使診斷分類效果不理想。要想獲得性能更為優越的SVM,必須在訓練開始之前對C 和γ兩個參數在一定范圍內尋優。

粒子群算法是一種啟發式優化算法,能較好地解決最優化問題,可用于懲罰參數 C 和核函數參數γ的優化。

3 基于PSO優化SVM算法的癌癥診斷

3.1 粒子群算法原理

粒子群算法(Particle Swarm Optimization,PSO)是一種基于種群中的個體行為及數學抽象而提出的啟發式優化算法,具有實現方便、可調參數少和收斂速度快的優點,在解決優化問題方面得到廣泛應用。

該算法采用“位置-速度”模型,每個粒子的迭代過程由速度和位置決定,速度代表粒子搜索的方向和距離,單個粒子在多次迭代中適應度最好的位置為個體極值,整個群體在多次迭代中所有粒子適應度最好的位置為群體極值;各個粒子的適應度由粒子群的適應度函數決定。

在D維搜索空間中,粒子群由n個粒子組成X=(X1,X2,…,Xn),Xi表示第i個粒子在空間的位置Xi=(xi1,xi2,…,xiD),每個Xi都有可能是最優解;第i個粒子的速度為Vi=(vi1,vi2,…,viD),個體極值為pi=(pi1,pi2,…,piD);群體極值為pg=(pg1,pg2,…,pgD)。每次迭代的速度和位置分別為[8,9]

(6)

(7)

3.2 PSO優化SVM的適應度函數選擇與參數尋優

采用徑向基函數作為核函數的支持向量機用于診斷分類時,其分類的準確度和推廣能力主要受懲罰參數 C 和核函數參數γ影響。

本文為了提高癌癥診斷準確率,以C 和γ作為優化目標,利用粒子群算法對其優化。使用PSO進行SVM參數的優化,其優化過程如圖2所示。

圖2 PSO優化SVM參數的尋優過程

基于PSO的SVM參數優化過程,包括粒子群初始化、粒子群適應度計算、個體極值和群體極值尋找、種群更新等步驟:

1)粒子群初始化,以待優化參數(C,γ)為粒子個體,在其潛在求解范圍內,隨機生成一定數量的粒子,獲得初始化種群。種群中每個個體(C,γ)即為一個潛在解;

2)粒子群適應度計算,對種群中每個個體,基于適應度函數進行其適應度計算。適應度函數是粒子群求解過程中的關鍵,決定了求解方向和求解質量。本文將支持向量機與粒子群融合的算法用于癌癥的輔助診斷,目的是用人工智能的方法輔助醫生提高癌癥的診斷的準確性。為準確評估粒子個體適應度,將粒子(C,γ)設置下的SVM分類器的診斷準確度(Accuracy),作為粒子群優化過程中的適應度函數。

(8)

式中:Nt為驗證樣本中輸出值與期望值一致,輸出正確的數量;Nf為驗證樣本中輸出值與期望值不一致,輸出錯誤的數量。

粒子群適應度計算過程中,對于種群中的每個粒子,進行SVM分類器的設置、訓練、測試,獲得該粒子對應SVM分類器的診斷準確度,進而得到粒子適應度。

3)個體極值和群體極值尋找,在粒子群適應度計算基礎上,根據每個個體適應度大小,獲得種群最優個體及單個粒子歷史更新過程中的最優值。

4)種群更新,根據種群最優值、個體最優值,根據式(6)、式(7)進行每個粒子的更新,實現粒子種群的更新。

3.3 基于PSO優化SVM算法的癌癥診斷流程

基于PSO優化SVM算法的癌癥診斷流程如圖3所示。主要步驟如下所示。

圖3 基于PSO優化SVM算法的癌癥診斷

1)首先對歷史病例集并進行數據清洗,剔除特征要素不完整的數據和明顯輸入錯誤的數據;

2)將符合要求的歷史病例數據按照交叉實驗的方法進行訓練;

3)將診斷的準確度按照式(8)作為粒子群優化過程的適應度函數;利用訓練樣本,采用粒子群算法對支持向量機的懲罰參數 C 和核函數參數γ優化;

4)采用優化后的懲罰參數 C和核函數參數γ進行支持向量機設置,并利用歷史癌癥病例數據進行支持向量機的訓練,獲得支持向量機分類器;

5)對于待診斷病人,采集病人特征數據,并使用支持向量機分類器進行計算,確定病人類別,完成病人的診斷。

仿真關鍵偽代碼如下所示。

X = initialParticle(iniNum, range);

pb_fitValue = fitness_PSO(X, trainX, trainY, testX, testY);

for epoch=1:MAXDT

V = w*V+c1*R1*(pb-X)+c2*R2*(gb-X);

X = X+V;

cur_fitValue = fitness_PSO(X, trainX, trainY, testX, testY);

[pb, gb, pb_fitValue, gb_fitValue] = update(pb, gb, max_pb_fitValue, gb_fitValue, cur_fitValue, X);

if(gb_fitValue >limit) break; end

end

gam = gb(1);

sig2 = gb(2);

trainlssvm(trainX, trainY, gam, sig2,);

SVM_Y = simlssvm(trainX, trainY, gam, sig2, testX);

其中:initialParticle()為粒子群初始化函數;fitness_PSO()為粒子群適應度計算函數;update()為粒子群更新函數;trainlssvm()為SVM分類器訓練函數;simlssvm()為SVM分類器測試、應用函數。

4 仿真驗證

4.1 實驗數據集

本文的實驗數據采用威斯康星(Wisconsin)大學乳腺癌數據樣本集[12](http:∥archive.ics.uci.edu/ml/datasets/Breast+Cancer+Wisconsin+%28Prognostic%29),該數據集共有198個癌癥病例術后是否復發的數據,其中有151個沒有復發的病例和47復發病例,每條數據記錄包括33個特征(屬性3~35),如表1所示。

表1 數據樣本集描述

表中各屬性含義:1是編號;2是結果(R代表復發,N代表沒有復發);3是復發時間;4~33分別是是(半徑、紋理、周長、面積、平滑度、緊密度、凹陷度、凹點、對稱性、分形維數等10個特征的均值、標準差和最壞值);34是腫瘤大小;35是淋巴結狀態。

5.2 仿真驗證與結果分析

本文應用支持向量機對訓練樣本集建立分類模型進行訓練,在198個樣本中有4個樣本缺少淋巴結狀態數據,不作為實驗樣本。故以有效實驗樣本中的154個樣本為訓練樣本進行支持向量機的訓練,以40個樣本為測試樣本,進行支持向量機性能的測試。

采用式(5)徑向基函數作為核函數,懲罰參數 C 和核函數參數γ通過PSO進行尋優后,采用優化后的C 和γ對測試樣本集進行分類,得到分類結果。

設定C 的取值范圍為10-1~102,γ的取值范圍為10-1~102;粒子群算法初始化粒子個數為20,迭代次數 50,慣性權重w為 0.7,加速因子c1為 1.2、c2為 1.5。采用圖2所示基于PSO的SVM參數優化流程,進行懲罰參數C和核函數參數γ的優化,優化過程中最優個體適應度如圖4所示。

圖4 適應度優化過程

由圖4所示參數優化過程可以看出,通過PSO的優化,種群最優適應度不斷提升,從0.8逐步提升至0.85、0.875、0.9、0.925,通過50代種群的優化,最優個體的適應度達到0.925,此時最優個體為(7.2377, 4.7909),即懲罰參數C=7.2377、核函數參數γ=4.7909。

根據優化結果進行支持向量機參數的設置,使用154個訓練樣本進行支持向量機的訓練,設置復發病例的類別標志為+1,設置未復發病例的類別標志為-1。訓練完成后,使用40個病例進行支持向量機診斷性能的測試。經測試,40個病例中37個病例診斷結果正確、3個病例診斷結果錯誤,結果如圖5所示,即所提方法診斷正確率為92.5%。

圖5 分類結果

同時,針對相同的訓練樣本,采用Bayesian方法進行懲罰參數C、核函數參數γ的優化,優化獲得懲罰參數C=94.9917、核函數參數γ=0.0183。采用該參數設置支持向量機,使用相同的病例進行支持向量機的訓練、測試,經測試,40個病例中36個病例診斷結果正確、4個病例診斷結果錯誤,即經Bayesian優化的支持向量機其診斷正確率為90%。

與隨機森林、神經網絡、梯度提升樹、LightGBM、Stacking-1、Stacking-2等現有診斷方法[4]相比較,各方法的診斷準確率如表2所示。

表2 不同方法的診斷準確率

由表2所示各診斷方法的診斷準確率可以看出,已有方法中,隨機森林、神經網絡、梯度提升樹、LightGBM、Stacking-1、Stacking-2的診斷準確率分別為77.76%、75.70%、76.74%、74.75%、75.24%、76.77%;基于Bayesian參數優化的支持向量機(Bayesian-SVM)其診斷準確率為90%;本文所提支持向量機與粒子群相結合的診斷方法(PSO-SVM)其診斷準確率為92.5%,可以看出,本文所提方法通過粒子群參數優化、支持向量機訓練分類,提高了癌癥診斷準確率,為癌癥的自動化、智能化診斷提供了一種新方法。

5 結論

本文針對傳統的癌癥診斷易受醫生主觀經驗影響、支持向量機輔助診斷準確度不高、無法滿足實際使用需求的問題,結合粒子群具有啟發式優化的特點,構建合理的適應度函數,通過粒子群算法實現支持向量機中懲罰函數C和核函數參數γ的優化,進而構建了基于支持向量機與粒子群融合算法的癌癥輔助診斷模型。仿真驗證表明,該方法有效提高了診斷的準確度,可以作為醫生的對癌癥診斷的有效輔助手段。

猜你喜歡
適應度癌癥向量
改進的自適應復制、交叉和突變遺傳算法
向量的分解
體檢發現的結節,離癌癥有多遠?
聚焦“向量與三角”創新題
癌癥“偏愛”那些人?
對癌癥要恩威并施
不如擁抱癌癥
向量垂直在解析幾何中的應用
基于空調導風板成型工藝的Kriging模型適應度研究
向量五種“變身” 玩轉圓錐曲線
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合