朱 城,蘇前敏,郭晶磊,沈宙鋒
(1 上海工程技術(shù)大學(xué) 電子與電氣工程學(xué)院,上海 201620;2 上海中醫(yī)藥大學(xué),上海 201203)
國(guó)外研究人員早在2007 年就將大數(shù)據(jù)運(yùn)用在流感預(yù)測(cè)上,根據(jù)用戶網(wǎng)絡(luò)搜索的關(guān)鍵詞來(lái)判別流感是否爆發(fā)、流感預(yù)測(cè),比當(dāng)時(shí)的疾控中心還能早兩周就預(yù)測(cè)出流感發(fā)病率[1]。精準(zhǔn)智能醫(yī)療可以實(shí)現(xiàn)對(duì)未知病人是否患病情況進(jìn)行智能預(yù)測(cè),常用于腫瘤疾病的預(yù)測(cè)[2]。如華大基因等公司最近更是推出了自主研究的腫瘤基因檢測(cè)服務(wù),通過(guò)采取患者樣本,對(duì)患者的癌組織進(jìn)行相關(guān)基因分析,實(shí)現(xiàn)乳腺癌等癌癥患者的早期檢測(cè)[3]。
當(dāng)前,眾多學(xué)者、專家在醫(yī)療數(shù)據(jù)領(lǐng)域運(yùn)用多種機(jī)器學(xué)習(xí)算法進(jìn)行了分析和預(yù)測(cè)。提出了使用支持向量機(jī)建立模型對(duì)乳腺癌數(shù)據(jù)進(jìn)行處理分析,發(fā)現(xiàn)基于K-medoids 聚類和支持向量機(jī)的改進(jìn)算法(KD-SVM)分類精準(zhǔn)率優(yōu)于H-SVM 算法[4];提出了決策樹機(jī)器學(xué)習(xí)算法在乳腺癌診斷中的應(yīng)用,預(yù)測(cè)準(zhǔn)確率達(dá)96%[5];研究了聯(lián)合決策樹及l(fā)ogistic 回歸,建立乳腺癌相對(duì)風(fēng)險(xiǎn)預(yù)測(cè)模型,在保證模型檢測(cè)準(zhǔn)確率的同時(shí)通過(guò)logistic 組合模型能夠?qū)疾〉奈kU(xiǎn)特征進(jìn)行捕捉和判斷[6];提出了基于隨機(jī)森林的乳腺癌計(jì)算機(jī)輔助診斷研究,相比決策樹,使用隨機(jī)森林算法構(gòu)建模型,最終的檢測(cè)準(zhǔn)確率高達(dá)96.93%,又有了新的提升[7]。
本文應(yīng)用了對(duì)醫(yī)療數(shù)據(jù)預(yù)測(cè)率較高的隨機(jī)森林模型,通過(guò)改進(jìn)減少特征維數(shù)的方式和將遺傳算法的理論應(yīng)用于參數(shù)調(diào)優(yōu),提出一種改進(jìn)的隨機(jī)森林多模型復(fù)合優(yōu)化算法。
SelectKbest 變量篩算法是在n堆數(shù)據(jù)中尋求價(jià)值最優(yōu)的k類數(shù)據(jù)[8],每堆數(shù)據(jù)中有一定的特性vi和wj,可令某組數(shù)據(jù)的特定值S ={i1,i2,i3,…,ikx},表示為式(1):
輸入中包括n堆數(shù)據(jù),并且含有k類需要保留的數(shù)據(jù),符合條件為:wj(1 ≤k≤n≤100 000),數(shù)據(jù)特性vi符合條件為(0 ≤vi≤106,0 ≤wj≤106),vi和wj的總和不超過(guò)107。
對(duì)比Xt的值,當(dāng)所計(jì)算的值不再大于X時(shí)停止,而最終的Xt的值就是選取k類數(shù)據(jù)所計(jì)算出的值。
隨機(jī)森林以獲取最后階段的最優(yōu)輸出為目的,對(duì)數(shù)據(jù)集進(jìn)行重復(fù)采樣的優(yōu)化模型。隨機(jī)放回的抽樣模式與傳統(tǒng)不放回的樣品抽樣有相似點(diǎn),但卻并不獨(dú)立,所以有式(4):
隨機(jī)森林算法屬于bagging 算法的一種,也屬于bagging 算法的一種加強(qiáng)算法[9],樣本的數(shù)據(jù)集輸入為式(5):
迭代次數(shù)為t次,即是對(duì)訓(xùn)練集進(jìn)行t =1,2,...,t次分別采樣,得到最終的集合Et,所得集合的算術(shù)平均值就是最后的模型輸出。隨機(jī)森林建模過(guò)程如下:
輸入訓(xùn)練集A和測(cè)試集B,B為儲(chǔ)存樣本。在B的樣本量中選擇一定量的特征因子,借助決策樹來(lái)獲取最合適的分割位置,并不斷重復(fù)。將重復(fù)的結(jié)果存儲(chǔ)到Cx中,在所有的結(jié)果中得到最終的樣本預(yù)測(cè)值Exp。
本文以遺傳函數(shù)的思想對(duì)參數(shù)進(jìn)行優(yōu)化,參數(shù)的優(yōu)化問(wèn)題可以定義為多目標(biāo)優(yōu)化問(wèn)題,即可以用數(shù)學(xué)模型(6)規(guī)劃。
式中,V-min 表示向量極小化,即向量目標(biāo)f(x)中的各個(gè)子目標(biāo)函數(shù)都盡可能極小化。
遺傳函數(shù)的參數(shù)尋優(yōu)首先就要進(jìn)行編碼,編碼方式采用二進(jìn)制,根據(jù)模型參數(shù)的類型選擇染色體的長(zhǎng)度,計(jì)算二進(jìn)制所對(duì)應(yīng)的十進(jìn)制數(shù)[10],式(7):
產(chǎn)生初始化群體,計(jì)算適應(yīng)度即衡量交叉驗(yàn)證評(píng)價(jià)標(biāo)準(zhǔn)的值,進(jìn)入繁衍迭代循環(huán),根據(jù)不同的交叉和變異比例進(jìn)行繁衍復(fù)制,若達(dá)到設(shè)定的迭代次數(shù),則終止繁衍,否則繼續(xù)迭代繁衍,在最終的“族群”中得出最優(yōu)解。
本文所使用的實(shí)驗(yàn)數(shù)據(jù)來(lái)自威斯康星州診斷性乳腺癌數(shù)據(jù)庫(kù)的乳腺癌數(shù)據(jù)集,在主流的癌癥腫瘤智能醫(yī)療探索中,大多數(shù)研究是針對(duì)腫瘤的細(xì)胞核的特征進(jìn)行分析,包括乳腺癌細(xì)胞核光滑性、凹陷點(diǎn)數(shù)標(biāo)準(zhǔn)差等數(shù)十個(gè)量化特征因子[11]。
癌癥腫瘤數(shù)據(jù)之所以難以分析,是由于每一個(gè)特征連續(xù)型變量的變化都與其它的很多指標(biāo)相聯(lián)系,一個(gè)特征的變化又會(huì)導(dǎo)致更多指標(biāo)發(fā)生變化。在對(duì)任何一個(gè)數(shù)據(jù)集進(jìn)行分析處理的時(shí)候,過(guò)多的特征因子很容易降低模型的運(yùn)行效率,而且很容易導(dǎo)致過(guò)擬合[12],每一個(gè)變量又是連續(xù)變化的,所以所得出模型的結(jié)果也會(huì)隨之變化。
通過(guò)spss 工具對(duì)乳腺癌數(shù)據(jù)集進(jìn)行因子分析。對(duì)數(shù)據(jù)集進(jìn)行KMO 檢驗(yàn)和巴特利特檢驗(yàn),KMO 檢驗(yàn)是用于比較變量相關(guān)系數(shù)和偏相關(guān)系數(shù)的指標(biāo),KMO值越接近于1,證明變量間的相關(guān)性越強(qiáng)。巴特利特球形檢驗(yàn)是一種檢驗(yàn)各個(gè)變量之間相關(guān)性程度的檢驗(yàn)方法。一般在做因子分析之前都要進(jìn)行巴特利特球形檢驗(yàn),用于判斷變量是否適合用于做因子分析。通過(guò)檢驗(yàn)乳腺癌數(shù)據(jù)集變量的KMO值為0.832,說(shuō)明30 個(gè)變量間共線性很強(qiáng),見表1。
表1 本文使用數(shù)據(jù)集KMO 和巴特比特檢驗(yàn)Tab.1 The data set KMO and Butterbite test used in this article
在碎石圖1 中可以清楚地看到30 個(gè)變量因子的特征值變化趨勢(shì)。根據(jù)已設(shè)定的特征值提取參數(shù),最終提取了6 個(gè)特征值大于1 的特征變量,對(duì)6個(gè)特征因子特征值進(jìn)行旋轉(zhuǎn)后,方差和特征根發(fā)生變化,這6 個(gè)因子累計(jì)可以解釋88.759%的方差因素,解釋力度非常強(qiáng)。
圖1 30 個(gè)變量特征值碎石圖Fig.1 Crushed stone map of 30 variable eigenvalues
為了提高模型的表現(xiàn)力,對(duì)數(shù)據(jù)集進(jìn)行數(shù)據(jù)篩選,找到能夠達(dá)到模型效果最大化的變量篩選方法和篩選方案。在選擇變量篩選方法時(shí),需要對(duì)變量篩選的方法充分理解,對(duì)數(shù)據(jù)集樣本的大小、實(shí)現(xiàn)的難易程度有所評(píng)估[13]?,F(xiàn)在常用的變量篩選方法有比例法、方差法、SelectKbest 變量篩選法和模型篩選法,見表2。針對(duì)乳腺癌數(shù)據(jù)集變量間存在的特殊性共線性關(guān)系,選用比例法和方差法時(shí),模型得分反而降低。而選用SelectKbest 變量篩選法可以自主控制想保留的變量因子個(gè)數(shù),通過(guò)窮舉法判別保留不同的變量因子個(gè)數(shù)時(shí)模型的表現(xiàn)性,找到變量篩選的最佳參數(shù)。當(dāng)保留的變量因子從1~6 個(gè)逐漸上升時(shí),模型的得分呈現(xiàn)大幅度提高,符合因子分析的結(jié)果,通過(guò)調(diào)節(jié)K值的參數(shù)分析得出,保留15個(gè)變量因子時(shí),模型得分超過(guò)不進(jìn)行變量篩選時(shí)的模型得分,而當(dāng)保留16 個(gè)變量因子時(shí),模型的得分達(dá)到最高,如圖2 所示。
表2 常見變量篩選與無(wú)特征篩選乳腺癌分類器模型得分Tab.2 Common variable screening methods and five-feature screening of breast cancer classifier model scores
圖2 K 值不同與模型得分的關(guān)系Fig.2 The relationship between different K values and model scores
隨機(jī)森林分類器的結(jié)果作為輸入值送入遺傳算法超參數(shù)調(diào)優(yōu)的模型中,首先產(chǎn)生足夠數(shù)量染色體的種群,在本文中,一條染色體代表一組超參數(shù),而每組超參數(shù)中的任意一個(gè)參數(shù)就是染色體上的基因。通過(guò)定義交叉驗(yàn)證的評(píng)價(jià)指標(biāo),計(jì)算超參數(shù)優(yōu)化的適應(yīng)性函數(shù)。整個(gè)迭代過(guò)程遺傳算法主要運(yùn)用兩種方式來(lái)創(chuàng)建新一代,一是交叉的方式,二是變異的方式。通過(guò)改變隨機(jī)森林中的樹木數(shù)量和深度及葉子數(shù)在每一次迭代中刪除表現(xiàn)型最差的參數(shù)組合,選擇表現(xiàn)最好的機(jī)組參數(shù)組合進(jìn)入下一次迭代,經(jīng)過(guò)足夠的迭代次數(shù)后,最終選擇出最優(yōu)的參數(shù)組合[14]。
通過(guò)遺傳函數(shù)對(duì)隨機(jī)森林的參數(shù)進(jìn)行優(yōu)化,流程如圖3 所示。隨機(jī)生成一個(gè)基因序列產(chǎn)生第一個(gè)染色體,再生成一個(gè)基因序列,產(chǎn)生第二個(gè)染色體,重復(fù)到生成指定個(gè)染色體之后進(jìn)行交叉和變異;對(duì)結(jié)果進(jìn)行評(píng)估,選擇最優(yōu)的幾個(gè)染色體進(jìn)行下一次的迭代;重復(fù)進(jìn)行交叉和變異,達(dá)到迭代次數(shù)后停止計(jì)算。設(shè)定迭代次數(shù)為10 次,在第六次迭代之后就達(dá)到了模型的最大得分,第七次迭代之后模型得分不再變化。遺傳函數(shù)10 次迭代的模型最終參數(shù)設(shè)置如下:
圖3 參數(shù)調(diào)優(yōu)流程圖Fig.3 Parameter tuning flowchart
遺傳函數(shù)10 次迭代的模型最佳得分見表3。為了展示實(shí)驗(yàn)結(jié)果的科學(xué)性,分別與單個(gè)參數(shù)網(wǎng)格調(diào)參、多參數(shù)網(wǎng)格調(diào)參、隨機(jī)網(wǎng)格調(diào)參的方式對(duì)精確率、召回率、F1 分值、AUC值進(jìn)行比較。見表4 經(jīng)過(guò)結(jié)果對(duì)比發(fā)現(xiàn),通過(guò)遺傳函數(shù)對(duì)模型進(jìn)行優(yōu)化的結(jié)果在交叉驗(yàn)證精準(zhǔn)值、召回率、F1 分值、AUC值等方面的準(zhǔn)確率均超出使用單個(gè)網(wǎng)格、多個(gè)網(wǎng)格及隨機(jī)網(wǎng)格等調(diào)參方法對(duì)模型進(jìn)行優(yōu)化的結(jié)果。
表3 遺傳函數(shù)10 次迭代模型最佳得分Tab.3 The best model for ten iterations of genetic function
表4 不同的參數(shù)調(diào)優(yōu)性能指數(shù)Tab.4 Different parameter tuning performance indexes
根據(jù)精準(zhǔn)率和召回率分別構(gòu)建以遺傳函數(shù)進(jìn)行參數(shù)優(yōu)化和以多網(wǎng)格調(diào)參優(yōu)化后的模型PR 曲線圖和兩個(gè)模型最后的ROC 曲線如圖4 所示,可以看到遺傳函數(shù)參數(shù)優(yōu)化后的模型的P-R 曲線完全將多網(wǎng)格調(diào)參后的模型P-R 曲線覆蓋,而從ROC 曲線圖來(lái)看,遺傳函數(shù)參數(shù)優(yōu)化后的模型所表現(xiàn)的ROC曲線面積更大。由此分析可以得出,通過(guò)遺傳函數(shù)進(jìn)行參數(shù)優(yōu)化后的模型性能要高于多網(wǎng)格調(diào)參后的模型性能。
圖4 隨機(jī)森林參數(shù)優(yōu)化和網(wǎng)格調(diào)參參數(shù)優(yōu)化的ROC 和PR 曲線對(duì)比Fig.4 Comparison of ROC and PR curves of random forest parameter optimization and grid parameter optimization
對(duì)模型進(jìn)行KS 檢驗(yàn),結(jié)果得出乳腺癌分類器的KS 值達(dá)到0.85,如圖5 所示,證明模型鑒別癌細(xì)胞與正常細(xì)胞的能力很強(qiáng)。
圖5 模型的KS 驗(yàn)證Fig.5 KS verification of the model
(1)對(duì)于一般的醫(yī)學(xué)臨床數(shù)據(jù)集,由于特征因子之間共線性較強(qiáng),通過(guò)試驗(yàn)發(fā)現(xiàn)選用比例法和方差法以及模型驗(yàn)證法時(shí),模型得分反而降低。而選用Kbest 變量篩選法可以自主控制想保留的變量因子個(gè)數(shù),減少了因子間共線性強(qiáng)對(duì)模型的影響,通過(guò)對(duì)比不同特征因子模型的表現(xiàn)性的變化來(lái)篩選特征,找到變量篩選的最佳參數(shù);
(2)采用遺傳算法對(duì)隨機(jī)森林分類模型進(jìn)行超參數(shù)調(diào)優(yōu)后,目標(biāo)模型的精準(zhǔn)率達(dá)到0.980 2,相比于運(yùn)用多網(wǎng)格的調(diào)參方法提升了0.17,不僅提高了模型的預(yù)測(cè)準(zhǔn)確度,從模型的召回率、F1 分值、AUC值進(jìn)行比較分析,也提升了模型的魯棒性。
優(yōu)化后的隨機(jī)森林算法模型能夠最大限度程度上讓模型的表現(xiàn)性達(dá)到最大,便于對(duì)強(qiáng)共線性特征數(shù)據(jù)的分析,優(yōu)化參數(shù)尋優(yōu)結(jié)構(gòu),為臨床數(shù)據(jù)處理和疾病預(yù)測(cè)提供了一種新思路。