朱 城,蘇前敏,郭晶磊,沈宙鋒
(1 上海工程技術大學 電子與電氣工程學院,上海 201620;2 上海中醫藥大學,上海 201203)
國外研究人員早在2007 年就將大數據運用在流感預測上,根據用戶網絡搜索的關鍵詞來判別流感是否爆發、流感預測,比當時的疾控中心還能早兩周就預測出流感發病率[1]。精準智能醫療可以實現對未知病人是否患病情況進行智能預測,常用于腫瘤疾病的預測[2]。如華大基因等公司最近更是推出了自主研究的腫瘤基因檢測服務,通過采取患者樣本,對患者的癌組織進行相關基因分析,實現乳腺癌等癌癥患者的早期檢測[3]。
當前,眾多學者、專家在醫療數據領域運用多種機器學習算法進行了分析和預測。提出了使用支持向量機建立模型對乳腺癌數據進行處理分析,發現基于K-medoids 聚類和支持向量機的改進算法(KD-SVM)分類精準率優于H-SVM 算法[4];提出了決策樹機器學習算法在乳腺癌診斷中的應用,預測準確率達96%[5];研究了聯合決策樹及logistic 回歸,建立乳腺癌相對風險預測模型,在保證模型檢測準確率的同時通過logistic 組合模型能夠對患病的危險特征進行捕捉和判斷[6];提出了基于隨機森林的乳腺癌計算機輔助診斷研究,相比決策樹,使用隨機森林算法構建模型,最終的檢測準確率高達96.93%,又有了新的提升[7]。
本文應用了對醫療數據預測率較高的隨機森林模型,通過改進減少特征維數的方式和將遺傳算法的理論應用于參數調優,提出一種改進的隨機森林多模型復合優化算法。
SelectKbest 變量篩算法是在n堆數據中尋求價值最優的k類數據[8],每堆數據中有一定的特性vi和wj,可令某組數據的特定值S ={i1,i2,i3,…,ikx},表示為式(1):

輸入中包括n堆數據,并且含有k類需要保留的數據,符合條件為:wj(1 ≤k≤n≤100 000),數據特性vi符合條件為(0 ≤vi≤106,0 ≤wj≤106),vi和wj的總和不超過107。

對比Xt的值,當所計算的值不再大于X時停止,而最終的Xt的值就是選取k類數據所計算出的值。
隨機森林以獲取最后階段的最優輸出為目的,對數據集進行重復采樣的優化模型。隨機放回的抽樣模式與傳統不放回的樣品抽樣有相似點,但卻并不獨立,所以有式(4):

隨機森林算法屬于bagging 算法的一種,也屬于bagging 算法的一種加強算法[9],樣本的數據集輸入為式(5):

迭代次數為t次,即是對訓練集進行t =1,2,...,t次分別采樣,得到最終的集合Et,所得集合的算術平均值就是最后的模型輸出。隨機森林建模過程如下:

輸入訓練集A和測試集B,B為儲存樣本。在B的樣本量中選擇一定量的特征因子,借助決策樹來獲取最合適的分割位置,并不斷重復。將重復的結果存儲到Cx中,在所有的結果中得到最終的樣本預測值Exp。
本文以遺傳函數的思想對參數進行優化,參數的優化問題可以定義為多目標優化問題,即可以用數學模型(6)規劃。

式中,V-min 表示向量極小化,即向量目標f(x)中的各個子目標函數都盡可能極小化。
遺傳函數的參數尋優首先就要進行編碼,編碼方式采用二進制,根據模型參數的類型選擇染色體的長度,計算二進制所對應的十進制數[10],式(7):

產生初始化群體,計算適應度即衡量交叉驗證評價標準的值,進入繁衍迭代循環,根據不同的交叉和變異比例進行繁衍復制,若達到設定的迭代次數,則終止繁衍,否則繼續迭代繁衍,在最終的“族群”中得出最優解。
本文所使用的實驗數據來自威斯康星州診斷性乳腺癌數據庫的乳腺癌數據集,在主流的癌癥腫瘤智能醫療探索中,大多數研究是針對腫瘤的細胞核的特征進行分析,包括乳腺癌細胞核光滑性、凹陷點數標準差等數十個量化特征因子[11]。
癌癥腫瘤數據之所以難以分析,是由于每一個特征連續型變量的變化都與其它的很多指標相聯系,一個特征的變化又會導致更多指標發生變化。在對任何一個數據集進行分析處理的時候,過多的特征因子很容易降低模型的運行效率,而且很容易導致過擬合[12],每一個變量又是連續變化的,所以所得出模型的結果也會隨之變化。
通過spss 工具對乳腺癌數據集進行因子分析。對數據集進行KMO 檢驗和巴特利特檢驗,KMO 檢驗是用于比較變量相關系數和偏相關系數的指標,KMO值越接近于1,證明變量間的相關性越強。巴特利特球形檢驗是一種檢驗各個變量之間相關性程度的檢驗方法。一般在做因子分析之前都要進行巴特利特球形檢驗,用于判斷變量是否適合用于做因子分析。通過檢驗乳腺癌數據集變量的KMO值為0.832,說明30 個變量間共線性很強,見表1。

表1 本文使用數據集KMO 和巴特比特檢驗Tab.1 The data set KMO and Butterbite test used in this article
在碎石圖1 中可以清楚地看到30 個變量因子的特征值變化趨勢。根據已設定的特征值提取參數,最終提取了6 個特征值大于1 的特征變量,對6個特征因子特征值進行旋轉后,方差和特征根發生變化,這6 個因子累計可以解釋88.759%的方差因素,解釋力度非常強。

圖1 30 個變量特征值碎石圖Fig.1 Crushed stone map of 30 variable eigenvalues
為了提高模型的表現力,對數據集進行數據篩選,找到能夠達到模型效果最大化的變量篩選方法和篩選方案。在選擇變量篩選方法時,需要對變量篩選的方法充分理解,對數據集樣本的大小、實現的難易程度有所評估[13]。現在常用的變量篩選方法有比例法、方差法、SelectKbest 變量篩選法和模型篩選法,見表2。針對乳腺癌數據集變量間存在的特殊性共線性關系,選用比例法和方差法時,模型得分反而降低。而選用SelectKbest 變量篩選法可以自主控制想保留的變量因子個數,通過窮舉法判別保留不同的變量因子個數時模型的表現性,找到變量篩選的最佳參數。當保留的變量因子從1~6 個逐漸上升時,模型的得分呈現大幅度提高,符合因子分析的結果,通過調節K值的參數分析得出,保留15個變量因子時,模型得分超過不進行變量篩選時的模型得分,而當保留16 個變量因子時,模型的得分達到最高,如圖2 所示。

表2 常見變量篩選與無特征篩選乳腺癌分類器模型得分Tab.2 Common variable screening methods and five-feature screening of breast cancer classifier model scores

圖2 K 值不同與模型得分的關系Fig.2 The relationship between different K values and model scores
隨機森林分類器的結果作為輸入值送入遺傳算法超參數調優的模型中,首先產生足夠數量染色體的種群,在本文中,一條染色體代表一組超參數,而每組超參數中的任意一個參數就是染色體上的基因。通過定義交叉驗證的評價指標,計算超參數優化的適應性函數。整個迭代過程遺傳算法主要運用兩種方式來創建新一代,一是交叉的方式,二是變異的方式。通過改變隨機森林中的樹木數量和深度及葉子數在每一次迭代中刪除表現型最差的參數組合,選擇表現最好的機組參數組合進入下一次迭代,經過足夠的迭代次數后,最終選擇出最優的參數組合[14]。
通過遺傳函數對隨機森林的參數進行優化,流程如圖3 所示。隨機生成一個基因序列產生第一個染色體,再生成一個基因序列,產生第二個染色體,重復到生成指定個染色體之后進行交叉和變異;對結果進行評估,選擇最優的幾個染色體進行下一次的迭代;重復進行交叉和變異,達到迭代次數后停止計算。設定迭代次數為10 次,在第六次迭代之后就達到了模型的最大得分,第七次迭代之后模型得分不再變化。遺傳函數10 次迭代的模型最終參數設置如下:

圖3 參數調優流程圖Fig.3 Parameter tuning flowchart


遺傳函數10 次迭代的模型最佳得分見表3。為了展示實驗結果的科學性,分別與單個參數網格調參、多參數網格調參、隨機網格調參的方式對精確率、召回率、F1 分值、AUC值進行比較。見表4 經過結果對比發現,通過遺傳函數對模型進行優化的結果在交叉驗證精準值、召回率、F1 分值、AUC值等方面的準確率均超出使用單個網格、多個網格及隨機網格等調參方法對模型進行優化的結果。

表3 遺傳函數10 次迭代模型最佳得分Tab.3 The best model for ten iterations of genetic function

表4 不同的參數調優性能指數Tab.4 Different parameter tuning performance indexes
根據精準率和召回率分別構建以遺傳函數進行參數優化和以多網格調參優化后的模型PR 曲線圖和兩個模型最后的ROC 曲線如圖4 所示,可以看到遺傳函數參數優化后的模型的P-R 曲線完全將多網格調參后的模型P-R 曲線覆蓋,而從ROC 曲線圖來看,遺傳函數參數優化后的模型所表現的ROC曲線面積更大。由此分析可以得出,通過遺傳函數進行參數優化后的模型性能要高于多網格調參后的模型性能。

圖4 隨機森林參數優化和網格調參參數優化的ROC 和PR 曲線對比Fig.4 Comparison of ROC and PR curves of random forest parameter optimization and grid parameter optimization
對模型進行KS 檢驗,結果得出乳腺癌分類器的KS 值達到0.85,如圖5 所示,證明模型鑒別癌細胞與正常細胞的能力很強。

圖5 模型的KS 驗證Fig.5 KS verification of the model
(1)對于一般的醫學臨床數據集,由于特征因子之間共線性較強,通過試驗發現選用比例法和方差法以及模型驗證法時,模型得分反而降低。而選用Kbest 變量篩選法可以自主控制想保留的變量因子個數,減少了因子間共線性強對模型的影響,通過對比不同特征因子模型的表現性的變化來篩選特征,找到變量篩選的最佳參數;
(2)采用遺傳算法對隨機森林分類模型進行超參數調優后,目標模型的精準率達到0.980 2,相比于運用多網格的調參方法提升了0.17,不僅提高了模型的預測準確度,從模型的召回率、F1 分值、AUC值進行比較分析,也提升了模型的魯棒性。
優化后的隨機森林算法模型能夠最大限度程度上讓模型的表現性達到最大,便于對強共線性特征數據的分析,優化參數尋優結構,為臨床數據處理和疾病預測提供了一種新思路。