李 陽,常佳樂,王宇陽
長春工業(yè)大學計算機科學與工程學院,長春 130012
肺癌被認為是一種侵入性疾病,對人類生命健康具有重大威脅,是癌癥死亡的主要原因[1-2]. 計算機斷層掃描成像(Computed tomography, CT)技術是檢測早期肺癌的重要手段. 在CT圖像上,早期肺癌表現(xiàn)為直徑小于30 mm的圓形或類圓形致密影,即肺結節(jié).因此,肺結節(jié)的早期識別可以有效地提高肺癌患者的生存率,避免錯過最佳治療機會[3].
機器學習算法被廣泛應用于醫(yī)學圖像處理中,主要分為傳統(tǒng)的機器學習算法及深度學習算法. 傳統(tǒng)機器學習算法中,包括支持向量機(Support vector machine, SVM)算法、隨機森林(Random forest,RF)算法等,其中SVM應用最為廣泛[4-6].核函數(shù)是SVM的必要理論工具,能將原始數(shù)據(jù)映射到高維特征空間,實現(xiàn)非線性變換,構造適合給定問題的核函數(shù)可以提升分類器的性能.Shankar等[7]為解決甲狀腺疾病的健康診斷問題,采用線性核和高斯核組合形式的多核學習支持向量機(Multiple kernel learning support vector machine, MKL-SVM)算法對甲狀腺數(shù)據(jù)進行分類,多核函數(shù)較單一使用線性核函數(shù)或高斯核函數(shù)的結果更優(yōu),準確度達到97.49%. Peng等[8]提出一種線性核、多項式核和高斯核混合的MKL-SVM算法識別抑郁癥,與單核SVM、樸素貝葉斯、決策樹等方法相比錯誤率更低,可降低到16.54%. 核函數(shù)的改進在一定程度上可以提高SVM的分類性能,但SVM模型參數(shù)選擇的影響也不容忽視.群體智能優(yōu)化思想因其效率高、適應性強等特點被廣泛應用于經典機器學習算法模型的參數(shù)尋優(yōu).常用的群體智能優(yōu)化算法包括粒子群優(yōu)化算法(Particle swarm optimization,PSO)、遺傳算法(Genetic algorithm, GA)、人工魚群算法(Artificial fish swarm algorithm, AFSA)等[9-11].
近年來,深度學習被廣泛應用于醫(yī)學領域[12].傳統(tǒng)的機器學習方法有著深厚的理論基礎,但對于大規(guī)模數(shù)據(jù)集仍存在挑戰(zhàn).深度學習算法具有更高效的處理能力,但缺乏可解釋性,且對于計算設備的要求較高.因此,對傳統(tǒng)機器學習算法的研究仍然存有意義,將深度學習算法與傳統(tǒng)機器學習算法相結合也備受關注[13-15].
本文分別采用根據(jù)醫(yī)生建議設計的手工特征和深度網絡提取的深度特征作為所提識別算法的輸入,以確定最終的特征輸入方式.為了提高肺結節(jié)識別算法的準確度,首先研究了五種單核函數(shù)對SVM分類性能的影響,進一步為兼顧學習能力與泛化能力的提升且避免算法陷入局部最優(yōu)的情況,提出了一種基于群體智能優(yōu)化的MKL-SVM算法,多核函數(shù)加權了具有全局性質的多項式核和局部性質的拉普拉斯核,從而達到模型快速尋優(yōu)、準確識別的目的.
SVM算法是一種以統(tǒng)計理論為基礎的傳統(tǒng)機器學習方法,可以最小化結構誤差和最大化幾何邊緣,常用于分類任務和回歸分析.SVM以結構風險最小化為準則,在經驗風險最小化的同時,兼顧了期望風險最小化[16]. 在二分類情況中,SVM模型的原問題可以通過拉格朗日乘子法轉化為對偶問題:
構造決策函數(shù)為
偏置b的求解如式(3)所示:
式中,xi和xj為第i和j個樣本輸入的特征變量,yi和 yj為第 i和 j個樣本對應的標簽,αi和 αj為拉格朗日乘子, K (xi,xj)為核函數(shù),C為正則化系數(shù),描述了對錯分樣本的懲罰程度. 很多情況下,訓練數(shù)據(jù)集是線性不可分的,通過核函數(shù)映射至高維特征空間,轉換為高維空間中的線性問題,在這個高維空間中尋找最優(yōu)分類面.
核函數(shù)直接決定了特征空間的結構,核函數(shù)的選擇是SVM的關鍵.核函數(shù)有諸多形式,但必須滿足Mercer定理. 核函數(shù)分為線性核和非線性核,線性核一般應用于線性可分的情況,其特征空間到輸入空間的維度是一致的,如式(4)所示:
實際問題大多是非線性的,故非線性核更為常用,包括多項式核函數(shù)、感知機核函數(shù)和徑向基核函數(shù)等,本文討論的幾種單核函數(shù)的具體表示如下:
(1)多項式核 (Polynomial kernel).
式中,d為多項式階數(shù),取大于1的正整數(shù),隨著參數(shù)d的增大,泛化能力增強,但是當特征空間維數(shù)很高時,d值會很大,使得計算量激增,甚至對某些情況無法得到正確結果. 故實際應用中d一般取值2~3.
(2)感知機核 (Sigmoid kernel).
式中,a為斜率,r為截距常數(shù).Sigmoid核來源于神經網絡,常用作深度學習中的激活函數(shù),使用Sigmoid核的SVM相當于一個兩層的感知機網絡.
(3)徑向基核函數(shù)(Radial basis function, RBF).
式中,g為RBF核的寬度,決定了函數(shù)作用范圍,超過此范圍,數(shù)據(jù)的作用就會減弱. RBF核是一種經典的徑向基核,也稱為高斯核(Gaussian kernel),取值僅依賴于特定點距離.
(4)指數(shù)核 (Exponential kernel).
指數(shù)核也是一種徑向基核,將向量之間的L2距離調整為L1距離,降低了對參數(shù)的依賴性,但是適用范圍較小.
(5)拉普拉斯核(Laplacian kernel).
拉普拉斯核也是一種徑向基核,與指數(shù)核相類似.
圖1給出不同核函數(shù)全局性與局部性分析的仿真曲線.局部性核函數(shù)僅對樣本中心點附近的點有較大影響,影響會隨距離的增大而減弱,具有較好的擬合效果與較強的學習能力;全局性核函數(shù)對與樣本中心點距離較遠的點也產生影響,有較好的泛化能力.如圖1所示,圖中橫軸X表示x?x′,縱軸Y表示 K (x,x′),當 x → x′時, K (x,x′)→ 1,即x與越接近,核函數(shù)的作用越明顯.通過仿真結果分析,多項式核是一種經典的全局性核函數(shù),允許對多項式級的特征連接進行建模.Sigmoid核也是一種全局性核函數(shù).RBF核、指數(shù)核與拉普拉斯核均為徑向基核函數(shù),是典型的局部性核函數(shù).與全局性核函數(shù)相比,局部性核函數(shù)學習能力較強,而泛化能力較弱.
圖1 不同核函數(shù)的全局性與局部性分析. (a)多項式核;(b)感知機核;(c)高斯核;(d)指數(shù)核;(e)拉普拉斯核Fig.1 Global and local analyses of various kernel functions: (a) polynomial kernel; (b) sigmoid kernel; (c) Gaussian kernel; (d) exponential kernel;(e) Laplacian kernel
MKL-SVM通過選擇合適的核函數(shù)或不同單核函數(shù)的加權組合形式,能夠充分利用單個核函數(shù)的特性.經證明核函數(shù)的加權凸組合形式滿足Mercer定理,仍為核函數(shù),可用于SVM模型[4],如式(10)所示:
群體智能優(yōu)化是一種啟發(fā)式算法,主要模擬自然界中各種生物的生活行為,如昆蟲、魚群、鳥群等,它們通過一種合作的方式覓食,群體中的各個生物通過累積經驗不斷更新搜索方向[17].群體智能優(yōu)化算法靈活、高效、適應性強且易于實現(xiàn),廣泛應用于各種問題.
GA算法由Holland于1975年提出,是一種借鑒生物界自然選擇與進化機制而發(fā)展的全局優(yōu)化算法.GA算法隨機產生初始解,通過一定的選擇、交叉、變異操作,逐步迭代產生解. GA算法的適應性廣泛,不依賴于問題的具體領域,隱含并行搜索特性,減少了陷入局部最優(yōu)解的情況. PSO算法最早由Kennedy和Eberhart于1955年提出,從鳥群覓食行為特征中得到啟發(fā),并應用于求解優(yōu)化問題中. 算法中每個粒子代表問題的一個潛在解,且對應于一個適應度值,粒子的速度決定其移動方向和距離,速度隨粒子的變換經驗進行調整,從而達到尋優(yōu)的目的.與網格搜索算法相比,PSO算法無需遍歷所有組合參數(shù),能節(jié)約模型的訓練時間;PSO算法與GA算法相比,無需進行選擇、交叉、變異的操作,通過粒子在解空間追蹤最優(yōu)的粒子進行搜索. 雖然PSO算法能夠更快地得到最優(yōu)解,但其缺點是隨著迭代次數(shù)的增加,種群多樣性減少,易引起粒子早熟現(xiàn)象,從而易陷入局部最優(yōu)[18].為提高PSO算法的整體性能,可以從參數(shù)設置、收斂性及與其他算法結合等方面進行改進[19]. Choudhary等[20]為聲表面波工藝參數(shù)優(yōu)化研究了PSO和GA的混合算法,利用GA算法中的遺傳變異算子來避免粒子出現(xiàn)早熟收斂現(xiàn)象,實驗結果表明混合算法在最優(yōu)解、均值、計算時間等指標上均表現(xiàn)優(yōu)異.Koessler等[21]為提高算法的魯棒性,提出了模式搜索和PSO混合的優(yōu)化算法,先運行PSO尋求最佳位置后,再利用模式搜索方法以進一步最小化適應度函數(shù),實驗結果表明混合算法在提高精度和魯棒性方面取得了成功.
本文借鑒GA算法中的雜交操作,以增加PSO算法中粒子的多樣性,即在PSO算法每次迭代過程中根據(jù)雜交概率選取一定數(shù)量的粒子放入雜交池,用兩兩雜交產生相同數(shù)目的子代粒子替換親代粒子.子代粒子的位置和速度計算公式如式(11)所示:
圖2 GAPSO的算法流程圖Fig.2 Flowchart of the GAPSO algorithm
本文進一步提出了一種改進的MKL-SVM算法,基本內核采用具有較強泛化能力的多項式核函數(shù)和具有較強學習能力的拉普拉斯核函數(shù)進行線性凸組合,可以更好地兼顧樣本的全局特征與局部特征,提高學習能力與泛化能力.多核函數(shù)的具體構成如式(12)所示:
基于上述群體智能優(yōu)化思想,本文最終使用提出的GAPSO算法作為MKL-SVM的懲罰參數(shù)C、權重、核函數(shù)參數(shù)d和g的尋優(yōu)方法. 將5折交叉驗證下的ACC作為GAPSO優(yōu)化算法的適應度函數(shù)值,最終達到準確分類的目的,ACC定義如式(13)所示:
式中,TP為識別出的真陽性結節(jié),TN為識別出的真陰性,即非結節(jié),F(xiàn)P為假陽性結節(jié),F(xiàn)N為假陰性結節(jié).
實驗數(shù)據(jù)采用吉林省某大型三甲??漆t(yī)院的20組病例共約700幅圖像,一部分用于模型訓練,一部分用于模型測試. 識別的前期準備,包括圖像預處理、肺結節(jié)感興趣區(qū)域(Region of interests,ROI)獲取和ROI特征提取等,具體步驟與文獻[4]相同,共提取出270個肺結節(jié)候選ROI(80個結節(jié),190個非結節(jié)),每個ROI分別提取13維手工特征和降至49維的深度特征作為所提識別算法的輸入數(shù)據(jù).這些數(shù)據(jù)經過隨機打散后分為170個訓練樣本與100個測試樣本,并進行歸一化處理. 進一步,為了驗證模型的泛化能力,采用公開數(shù)據(jù)集LUNA16作為測試集[22].實驗平臺采用MATLAB,利用libsvm工具箱進行仿真實驗.
在實驗參數(shù)選取中,設置種群粒子數(shù)為20,最大迭代次數(shù)為200,粒子維度為3,分別代表權值、正則化系數(shù)C和多核函數(shù)中拉普拉斯核的參數(shù) g,其中取值范圍為[0, 1],速度為 [-0.6,0.6];參數(shù) C取值范圍為 [2-9,29],速度為 [-29×0.6, 29×0.6];參數(shù) g 取值范圍為 [2-7,27],速度為 [-27×0.6,27×0.6];雜交概率設置為0.6,多項式核函數(shù)的階數(shù)選取2及3.實驗采用ACC、SEN、SPE三個評價指標,分別代表總體識別正確率、結節(jié)的檢出率和非結節(jié)識別正確率,進一步采用PRE、F1-score、MCC綜合指標,表達式分別如下所示:
式中,PRE表示模型對負樣本的區(qū)分能力,F(xiàn)1-score表示PRE和SEN的調和平均評估指標,MCC表示預測分類與實際分類結果之間的相關系數(shù).
手工特征為根據(jù)醫(yī)生建議設計的特征,與文獻[4]相同,將7個形態(tài)學特征、2個灰度特征以及4個紋理特征共計13維手工特征作為提出識別算法的輸入.其中選取的7個形態(tài)學特征為:面積、直徑、周長、矩形度、扁度、圓形度和細長度.灰度特征采用灰度均值和灰度方差.紋理特征采用灰度共生矩陣的能量、對比度、熵和逆差矩.為保證實驗的有效性,每組實驗重復進行10次,實驗結果取統(tǒng)計均值.測試階段的受試者操作特征曲線(Receiver operating curve, ROC)與查準率-查全率曲線(Precision-recall curve, PR)如圖3所示. 表1列出了在合作醫(yī)院測試數(shù)據(jù)集上,前述五種單核函數(shù)SVM算法在所提GAPSO尋優(yōu)方式下的結果和本文MKL-SVM算法不同尋優(yōu)方式下的識別結果. 其中,ACC_mean為平均準確度,ACC_max代表最大ACC,ACC_max相應的SEN和SPE分別用MASEN和MASPE表示,AUC代表ROC曲線下的面積,AP代表PR曲線下的面積.ROC曲線代表真陽率與假陽率的比例,左上頂點越接近于(0,1)點,代表分類器性能越佳.PR曲線代表PRE與SEN的關系,更易受到樣本分布的影響,右上頂點越接近于(1,1)點,針對不均衡樣本的分類器性能越佳.由表1可知,僅采用GAPSO算法對單核SVM尋優(yōu)時,全局性質的多項式核函數(shù)的ACC和SEN均高于Sigmoid核,性能較優(yōu). 局部性質的拉普拉斯核函數(shù)的ACC_mean為90.60%,高于其他四種核函數(shù),其ACC_max為91.00%,MASEN為92.59%,MASPE為90.41%,性能均較優(yōu).故本文算法采用多項式核函數(shù)和拉普拉斯核函數(shù)凸組合的多核函數(shù).如圖3所示,本文算法的ROC曲線左上頂點更趨近于(0,1)點,PR曲線右上頂點更趨近于(1,1)點,AUC與AP值均更接近于1,具有較優(yōu)分類性能.綜合比較,本文算法的ACC_mean、F1-score、MCC及AP均為其中最大值,比單獨使用多項式核函數(shù)和拉普拉斯核函數(shù)的實驗結果更優(yōu).
圖3 不同算法的ROC曲線圖及PR曲線圖. (a)不同核函數(shù)SVM算法的ROC曲線;(b)不同核函數(shù)SVM算法的PR曲線;(c)不同尋優(yōu)方式MKL-SVM算法的ROC曲線;(d)不同尋優(yōu)方式MKL-SVM算法的PR曲線Fig.3 ROC and PR curves of various algorithms: (a) ROC curves of SVM algorithms with various kernel functions; (b) PR curves of SVM algorithms with various kernel functions; (c) ROC curves of the MKL-SVM algorithm with various optimization algorithms; (d) PR curves of the MKL-SVM algorithm with various optimization algorithms
表1 不同核函數(shù)的實驗結果Table 1 Experimental results of various kernel functions
采用GA、PSO和GAPSO對MKL-SVM算法進行參數(shù)尋優(yōu),采用所提GAPSO算法的ACC_mean為91.10%,高于GA算法和PSO算法;GAPSO算法和PSO算法的ACC_max均為92.00%,高于GA算法2%,MASEN低于GA算法3.7%,MASPE高于GA算法4.11%. 綜合比較,GAPSO算法的總體識別準確度更高,但敏感度略低,這可能由于適應度函數(shù)選為ACC導致的.圖4為訓練階段本文算法的適應度曲線.
由圖4可見,本文算法學習能力較優(yōu),能夠使得粒子跳出局部最優(yōu),更易尋求全局最優(yōu)解,10次訓練結果的均值為94.06%.
圖4 本文算法的適應度曲線Fig.4 Fitness curve of the proposed algorithm
深度結構模型可以獲取更豐富的特征信息,故本文進一步采用深度網絡模型VGG16[23]對合作醫(yī)院數(shù)據(jù)集提取深度特征. VGG16模型的低層是由卷積層和最大池化層交替組成,高層是全連接層,利用CNN特征提取的核心是卷積層和池化層,將提取得到的特征圖作為全連接層的輸入,包含肺結節(jié)最豐富的語義信息,可以更全面地描述特征.因此,本文采用原始的VGG16模型,模型共分為6部分,前5部分為卷積網絡,最后為全連接網絡,具體結構見文獻[23].本文將預訓練的VGG16第一個完全連接層前的權重,遷移到目標網絡中進行特征提取,從而得到7×7×512 = 25088維深度特征.為避免產生維數(shù)災難并且降低計算量,采用主成分分析(Principal component analysis,PCA)方法將深度特征進行降維. 根據(jù)累計方差貢獻率及VGG16模型的結構,同時降低計算復雜度,最終選取了7×7 = 49維的深度特征與本文提出的算法結合,實驗結果如表2所示.
表2 深度特征結合本文算法的實驗結果Table 2 Results of the proposed algorithm combined with deep learning features
由表2可知,采用深度特征作為本文算法的輸入向量,ACC_mean為91.50%,ACC_max為94.00%,均高于GA及PSO尋優(yōu)方式. 與手工特征相比,ACC_max比手工特征提高2%,MASPE可達100%,但MASEN僅為81.82%. 深度特征與本文算法結合的ACC_mean、F1-score、MCC及AP均為其中最大值,在ACC和SPE有明顯提升,但SEN檢出率較低.圖5為本文算法采用深度特征在訓練階段的適應度曲線,10次適應度函數(shù)的均值為86.35%,但測試階段的10次平均準確度為91.50%,泛化能力有所提升.
圖5 深度特征結合本文算法的適應度曲線Fig.5 Fitness curve combining deep learning features with the proposed algorithm
綜上所述,本文提出基于GAPSO的MKL-SVM算法進行參數(shù)尋優(yōu),易于跳出局部最優(yōu)解,提升了學習能力與泛化能力,達到模型快速尋優(yōu)、準確識別的目的. 進一步,本文將深度特征作為所提識別算法的輸入,能夠提升識別準確度,作為最終的肺結節(jié)識別模式.
為了評估模型的有效性和泛化性,進一步采用了LUNA16數(shù)據(jù)集[22]進行驗證實驗. 該數(shù)據(jù)集是公開的肺圖像數(shù)據(jù)庫聯(lián)盟與圖像數(shù)據(jù)庫資源計劃(Lung image database consortium and image database resource initiative, LIDC-IDRI)的子集,包括888組低劑量肺部CT影像,其中至少3名放射科專家標注的總共1186個結節(jié). 經本文的圖像預處理方法后,共選取1140個肺結節(jié)ROI(650個結節(jié),490個非結節(jié)),并用VGG16模型提取49維深度特征作為提出算法的輸入,以驗證模型推廣能力.表3列出了本文算法與近年來當前主流算法在LIDC-IDRI和LUNA16的實驗結果.當前,深度學習方式備受關注,Zhao等[24]利用遷移學習方式對ResNet等模型進行微調,以達到肺結節(jié)分類的目的. Masood等[25]提出基于多維區(qū)域的全卷積網絡用于肺結節(jié)檢測,實驗結果表明提出模型的靈敏度與分類精度均較高.Mastouri等[14]將雙線性深度學習網絡與SVM算法相結合以實現(xiàn)肺結節(jié)分類,結果表明將深度網絡與傳統(tǒng)機器學習方式相結合能夠提升分類準確度.
表3 所提算法與當前主流算法的性能比較Table 3 Performance comparison of the proposed algorithm with current state-of-the-art methods
由表3可知,所提算法的AUC能夠達到0.9803,進一步驗證了本文算法的泛化能力.與文獻[24]和文獻[14]相比,本文算法的評價指標均較高,ACC與SEN有所提升,具有較佳的分類性能.本文算法較文獻[25]性能略低,但計算復雜度小于文獻[25]中所提方法,能夠節(jié)約時間成本,后續(xù)可以通過增加標準數(shù)據(jù)庫擴充訓練樣本,以達到提升分類性能的目的.
針對單一核函數(shù)無法兼顧學習能力和泛化能力以及模型參數(shù)尋優(yōu)的問題,提出了基于群體智能優(yōu)化的MKL-SVM識別算法.分別采用手工特征與深度特征作為輸入,驗證提出算法的有效性,實現(xiàn)了肺結節(jié)準確識別的目的.具體創(chuàng)新如下:
(1)采用多項式核與拉普拉斯核的加權組合形式作為MKL-SVM的核函數(shù),提出的算法兼顧了學習能力與泛化能力.
(2)為解決PSO算法迭代后期易缺乏粒子多樣性的問題,提出GAPSO混合智能算法進行參數(shù)尋優(yōu),更易尋求全局最優(yōu)解.
(3)采用深度特征與提出算法相結合,能夠提高模型的分類性能.
在未來的研究中,針對敏感度略低的問題,將進一步探討多評價指標兼顧,以保證識別準確度和敏感度的進一步提升,避免結節(jié)漏檢.同時改進深度卷積神經網絡進行特征提取并融合手工特征,以保留完整的特征信息,提升識別指標. 此外,通過增加標準數(shù)據(jù)庫擴充訓練樣本,可以達到提升分類性能的目的.