阮旭凌 劉 琦 郭志恒 晏峻峰
(湖南中醫藥大學信息科學與工程學院 長沙 410208)
近期世界衛生組織國際癌癥研究機構發布全球最新癌癥數據,顯示乳腺癌已成全球第1大癌癥[1],不僅女性會患上乳腺癌,男性乳腺癌患者數量也不容小覷,乳腺癌防治形勢的嚴峻性需要引起全社會重視,因此做到早發現、早確診、早治療對于患者具有重要意義。隨著醫療技術發展,大量數據分析技術應用于乳腺癌疾病診斷。吳辰文、李長生和王偉等[2]提出基于加權特征向量核函數的支持向量機算法對乳腺癌進行分類預測;劉軍、彭慧嫻和黃斌等[3]提出BP-GamysBoost算法模型運用于乳腺癌疾病診斷;于凌濤、夏永強和閆昱晟等[4]采用卷積神經網絡分類乳腺癌病理圖像;馮照石和范祺[5]通過雙重加權樸素貝葉斯算法預測乳腺癌患者復發率;余瑩、樊重俊和朱人杰等[6]基于系統聚類和支持向量機算法模型對乳腺癌不同腫瘤特征進行診斷。上述幾種算法雖然都取得良好效果,但分類預測精度有待提高。由于乳腺癌產生機制具有不確定性,且不同患者身心素質差異較大,因此需要針對個人制定個性化治療方案以提高治療效果[7]。在乳腺癌個性化治療過程中,患者需要檢查多項指標,如何在眾多信息中迅速找到對患者病因有重要影響的指標是解決問題的關鍵。在乳腺癌原始檢驗指標中常存在冗余信息和噪聲數據,如維度較大會導致問題的復雜性和時間的復雜度擴大,對數據特征屬性進行降維能夠降低系統計算量,結合機器學習算法構建預測模型,以此來診斷乳腺癌病發率,能夠較好地輔助醫生對患者進行乳腺癌早期診斷,具有重要現實意義。
本實驗采用kaggle數據庫提供的乳腺癌診斷數據集(Breast Cancer Wisconsin (Diagnostic) Data Set)。其中良性樣本(標簽為0)308例,惡性樣本(標簽為1)190例,每例樣本中有30個特征屬性,1個類別標簽和1個樣本id,類別標簽表明患者乳腺細胞核屬于良性還是惡性,特征屬性描述細胞核的10個實際值特征,是鑒別患者是否被診斷為乳腺癌的關鍵指標。本實驗將數據集的70%作為訓練樣本,剩余30%作為測試樣本,見表1。

表1 特征屬性

續表1
經過對數據集的篩查,未出現數據缺失、數據異常、數據重復等情況,且正負樣本數據較均衡。本數據集的診斷類別為字符串,為方便對照將診斷結果量化為2種,其中0代表乳腺細胞核為良性,1代表乳腺細胞核為惡性。在數據維度較高時,為提取有用特征方便計算,通常進行數據降維。原始數據集有特征屬性30項,在這些指標中常存在冗余信息,增加了系統計算量和時間復雜度。通過線性判別式分析(Linear Discriminant Analysis,LDA)方法合并特征屬性,減少數據冗余引起的誤差,快速縮小數據維度,降低系統復雜性。
3.1.1 定義 LDA是基于分類模型進行特征屬性合并的方法,是一種有監督的降維方式[8]。其基本原理是將帶有類別標簽的數據投影到維度更低的空間中,以便按類區分投影后的點。投影后空間中同類點之間距離會更接近、方差更小,而不同類之間的方差越大[9]。降維能夠減少冗余信息引起的誤差,提高識別準確率。
3.1.2 LDA降維步驟 假設存在數據集D={(x1,y1),(x2,y2),...,((xm,ym))},其中有n維向量樣本xi,Nj(j=0,1)為第j類樣本的個數,Xj(j=0,1)為第j類樣本的集合,LDA降維步驟[10]如下:
首先計算每個樣本的均值向量μj和協方差矩陣∑j:
(1)
Σj=∑x∈Xj(x-μj)(x-μj)T(j=0,1)
(2)
然后計算類內散度矩陣SW和類間散度矩陣Sb:
SW=∑0+∑1=∑x∈X0(x-μ0)(x-μ0)T+
∑x∈X1(x-μ1)(x-μ1)T
(3)
Sb=(μ0-μ1)(μ0-μ1)T
(4)

(5)
求得最優投影直線w,對樣本集中的每個樣本特征xi進行轉化得到新的輸出樣本wTxi,即可完成降維。
3.1.3 30個特征屬性對分類結果的重要性計算 在本實驗中,利用XGBoost模型計算30個特征屬性對分類結果的重要性,這些重要性得分可通過python中的成員變量feature_importances_得到,見圖1。取出排名前2位的特征屬性radius_worst和concave points_mean進行正負樣本分布可視化,兩種類別的數據有重合部分,邊界數據混雜,因此需進行降維,見圖2。

圖1 特征屬性重要性分布

圖2 特征屬性正負樣本分布
3.1.4 降維效果 根據LDA原理可知對于二分類問題降維后的特征維數需不大于1,因此采用LDA方法將數據特征從30維降維到1維,見圖3。其中所有數據被投影至同一條直線上,相同類別的數據投影點距離縮小,不同類別數據的中心間距擴大。

圖3 LDA降維后效果
3.2.1 定義 XGBoost[11]即極端梯度提升算法,是對梯度提升(Gradient Boosting,GB)算法的改進和高效實現,除了可以是分類回歸樹算法(Classification And Regression Tree,CART)決策樹也可以是線性分類器(Gblinear)[12];同時XGBoost也是集成學習模型,基本思想是將多個分類性能較低的樹模型即弱分類器集成一個分類準確率較高的強分類器[13];其支持特征抽樣,能有效防止過擬合問題并減少系統計算量[14]。
3.2.2 模型訓練流程 其計算定義公式如下:
(7)
其中yi為預測值,K表示樹的數量,xi表示第i個樣本,將K棵樹的輸出加權求和即為XGBoost模型的最終預測值。其模型訓練函數如下:
L(φ)=∑il(yi,hi)+∑kΩ(fk)
(8)
其中第1項為損失函數,表示第i個樣本的預測誤差;第2項為正則化項,規范模型的復雜度來防止過擬合。原始數據集經過第1個弱分類器訓練后輸出結果,再根據其返回的殘差不斷調整下一個弱分類器,直至指定數目的分類器訓練完成,最后將所有輸出進行加權求和即為總預測值。
3.2.3 降維后經過XGBoost訓練的模型(圖4) 在本實驗中,利用機器學習包sklearn提供的grid_search網格搜索[15]進行交叉驗證獲得最優參數來構建XGBoost模型,其中模型學習率learning_rate為0.1, 樹最大深度max_depth為2, 最小葉子節點樣本權重之和min_child_weight為5, 弱分類器數n_estimators為66,模型懲罰力度gamma為默認值0,隨機采樣的每棵樹的列數占比colsample_bytree為0.3,每棵樹隨機采樣的比例subsample為0.9。

圖4 XGBoost模型可視化
4.1.1 混淆矩陣 使用混淆矩陣將分類結果與實際樣本信息進行比較,矩陣中每一行代表預測樣本類別,每一列代表實際樣本類別,見表2。相關評價指標有準確率、精準率、召回率和F1值。準確率為預測正確的正負樣本數量(TP+TN)與總樣本數量(TP+FN+FP+TN)的比例,是最常用的分類性能指標;精確率為預測正確的正樣本數量(TP)與預測的總正樣本數量(TP+FP)的比例,代表預測出為正的樣本中有多少樣本是真實為正的;召回率為正確預測的正樣本數量(TP)與真實正樣本數量(TP+FN)的比例;F1-score是目前許多實驗推薦的評測指標,是精確率和召回率的調和值,當精確率和召回率接近時,F1-score值最大。

表2 混淆矩陣
4.1.2 ROC曲線 受試者工作特征(Receiver Operating Characteristic,ROC)曲線能夠客觀衡量模型性能。該曲線的橫坐標為假陽性率(False Positive Rate,FPR),即N個真實負樣本中被預測為正樣本的概率;縱坐標為真陽性率(True Positive Rate,TPR),即M個真實正樣本中被預測為正樣本的概率;ROC曲線越接近左上角,表明該分類模型性能越好,若ROC曲線是光滑的,可以判定沒有過擬合現象。曲線下面積(Area Under Curve,AUC)即ROC曲線下與坐標軸圍成的面積,其大小通常處于0.5~1之間,AUC值越大表明模型性能越好、真實性越高。
4.1.3 均方根誤差 均方根誤差(Root Mean Square Error,RMSE)也叫標準誤差,反映預測值與真實值之間的偏差,其數值越小表示模型精度越高、穩定性越好。
4.2.1 性能檢驗 XGBoost模型訓練完成后用測試集檢驗其性能。為保證評價方法的科學性、客觀性、準確性,在保持模型參數不變的情況下,將原始數據集與降維后的數據集作為輸入分別得出預測結果;將Adaboost、隨機森林、樸素貝葉斯算法作為性能比較分類器。據結果可知降維處理后訓練的預測模型分類準確率比降維之前平均高出2.7%,見圖5。降維后模型訓練時間大幅縮短,減少了系統計算量。

圖5 降維前后各算法模型準確率變化
4.2.2 模型性能檢驗結果 繪制降維后各算法模型的ROC曲線,其中虛線代表某個隨機分類器的ROC曲線,模型分類性能越好,離此虛線就越遠。本實驗中關于乳腺癌的分類預測問題,依據評價指標結果可以看出XGBoost模型性能要優于其他3種模型,其中XGBoost模型的分類準確率均值達到0.987,AUC指標均值達到0.984,均方根誤差為0.115,分別比Adaboost、隨機森林和樸素貝葉斯的均方根誤差低4.8%、4.8%、2.6%,見表3、圖6。

表3 模型性能結果

圖6 降維后各算法模型的ROC曲線
4.2.3 結果分析 LDA方法在大幅降低數據維度的同時提高識別精準度、縮短模型訓練時間;上述4種算法訓練的預測模型分類效果均取得較理想分數,其中XGBoost模型分類效果最佳,具有可借鑒的醫學價值。
當前乳腺癌防治形勢嚴峻,因此提高乳腺癌診斷率、早發現早治療具有重要的現實意義。為提高乳腺癌診斷率、加快診斷速度,本實驗利用LDA方法將原有多維數據特征合并,降低維度和系統復雜性;從4種算法擇優選擇XGBoost構建乳腺癌預測模型,利用網格搜索進行交叉驗證提高模型準確率并防止模型過擬合;將降維前的原始數據集同樣進行訓練和預測,實驗結果顯示降維處理后訓練的預測模型分類性能較降維之前更好,證明基于LDA和XGBoost算法構建的乳腺癌預測模型具有良好的分類效果,為更好地輔助醫生增強醫療臨床應用,提高我國醫療水平提供一定技術方法支撐。