李 進(jìn),何 冉
(河北地質(zhì)大學(xué) 信息工程學(xué)院,河北 石家莊 050031)
目前,許多學(xué)者出將機(jī)器學(xué)習(xí)(Mechine Le-arning, M L)算法應(yīng)用于人類(lèi)疾病的檢測(cè)。如趙培培等[3]使用多種機(jī)器算法對(duì)糖尿病進(jìn)行分類(lèi)檢測(cè),最終發(fā)現(xiàn)投票聚合模型 Voting最適合糖尿病的分類(lèi)檢測(cè);孔德峰等使用傳統(tǒng)機(jī)器學(xué)習(xí)算法應(yīng)用在乳腺癌診斷中,通過(guò)構(gòu)建邏輯回歸、決策樹(shù)、SVM、KNN四種機(jī)器學(xué)習(xí)方法對(duì)該問(wèn)題進(jìn)行建模與分析,證明了KNN[4]分類(lèi)器較其他算法有明顯優(yōu)勢(shì);苗立志等人[5]基于多個(gè)弱分類(lèi)器的隨機(jī)森林并行化進(jìn)行乳腺癌發(fā)病概率的預(yù)測(cè),并利用皮爾遜和Spearman系數(shù)的相關(guān)度分析,提高了乳腺癌發(fā)病概率的預(yù)測(cè)精度;葉明等[6]提出了SELEDAT算法,在集成學(xué)習(xí)中引入動(dòng)態(tài)權(quán)重的思想,解決了數(shù)據(jù)不平衡問(wèn)題,提高了疾病預(yù)測(cè)的分類(lèi)性能。Pawlovsky等人[7]基于兩種距離的集成KNN算法,提高了UCI標(biāo)準(zhǔn)化數(shù)據(jù)集的分類(lèi)精確度。在實(shí)踐調(diào)查中發(fā)現(xiàn),到目前為止沒(méi)有任何一種分類(lèi)方法能在不同的數(shù)據(jù)類(lèi)型和不同的領(lǐng)域中證明比其它的分類(lèi)方法的性能更好[8],而且由于傳統(tǒng)機(jī)器學(xué)習(xí)算法無(wú)法對(duì)數(shù)據(jù)的深層特征進(jìn)行深度挖掘,導(dǎo)致在很多領(lǐng)域中無(wú)法應(yīng)用傳統(tǒng)機(jī)器學(xué)習(xí)算法,此時(shí)深度學(xué)習(xí)應(yīng)運(yùn)而生。深度學(xué)習(xí)[9]是一種通過(guò)多個(gè)變換階段對(duì)數(shù)據(jù)特征進(jìn)行分層處理最終得到這些特征的抽象表示的機(jī)器學(xué)習(xí)過(guò)程,但是目前常見(jiàn)的深度學(xué)習(xí)結(jié)構(gòu)基本都是基于神經(jīng)網(wǎng)絡(luò)[10]的。直至 2017年,周志華等人給出了另外一種與神經(jīng)網(wǎng)絡(luò)類(lèi)似的深度結(jié)構(gòu)——深度森林(multi-Grained Cascade forest, Gcfor-est)[11]。深度森林的出現(xiàn)無(wú)疑為深度學(xué)習(xí)在除神經(jīng)網(wǎng)絡(luò)應(yīng)用之外的應(yīng)用領(lǐng)域給出了另外一個(gè)選擇。
對(duì)于傳統(tǒng)機(jī)器學(xué)習(xí)分類(lèi)算法在醫(yī)療診斷領(lǐng)域效果不理想的情況,本文將深度森林算法應(yīng)用于乳腺癌腫瘤數(shù)據(jù)分類(lèi)問(wèn)題,首先通過(guò)類(lèi)似卷積操作中的滑動(dòng)窗口提取原始數(shù)據(jù)特征并增強(qiáng)表征學(xué)習(xí)能力,使學(xué)習(xí)后的數(shù)據(jù)具有和感受野類(lèi)似的結(jié)構(gòu)感知能力;級(jí)聯(lián)隨機(jī)森林具有分層結(jié)構(gòu),可以對(duì)增強(qiáng)后的特征進(jìn)行逐層學(xué)習(xí),最終對(duì)乳腺癌腫瘤數(shù)據(jù)良惡性進(jìn)行分類(lèi)。經(jīng)過(guò)對(duì)比實(shí)驗(yàn)發(fā)現(xiàn),深度森林算法較支持向量機(jī)(Supoort Vector Machine,SVM)和決策樹(shù)(Decsion Tree)算法更優(yōu)。通過(guò)深度森林進(jìn)行訓(xùn)練得到可信度和準(zhǔn)確率都較高的模型,在乳腺癌腫瘤的良惡性檢測(cè)上給出較為可靠的結(jié)果輔助影像醫(yī)師對(duì)病患進(jìn)行診斷。
集成學(xué)習(xí)[12]是訓(xùn)練若干個(gè)個(gè)體學(xué)習(xí)器,并通過(guò)特定的結(jié)合策略,最終形成一個(gè)性能較之原個(gè)體學(xué)習(xí)器更加優(yōu)越和穩(wěn)健的強(qiáng)學(xué)習(xí)器的過(guò)程。隨機(jī)森林屬于集成學(xué)習(xí)中的 Bagging(Bootstrap Aggegation)方法,包含多個(gè)決策樹(shù)分類(lèi)器,學(xué)習(xí)過(guò)程是每次從候選分類(lèi)器中選擇最優(yōu)的分類(lèi)屬性,最終輸出的類(lèi)別是由森林中決策樹(shù)輸出類(lèi)別的眾數(shù)決定。隨機(jī)森林中每個(gè)個(gè)體學(xué)習(xí)器之間都不存在強(qiáng)依賴(lài)關(guān)系,對(duì)超參數(shù)設(shè)置不敏感,并且可以判斷輸入數(shù)據(jù)特征的重要程度,所以不管是在小規(guī)模數(shù)據(jù),還是大規(guī)模數(shù)據(jù)上都具有較為良好的泛化性能,這使得隨機(jī)森林生成的模型不容易造成過(guò)擬合現(xiàn)象且可以平衡非對(duì)稱(chēng)數(shù)據(jù)集造成的預(yù)測(cè)誤差。
隨機(jī)森林算法流程:
Input: 1.訓(xùn)練集
2. 待測(cè)樣本xt?Rd
(I)對(duì)原始訓(xùn)練集S采用 Boostrap抽樣,生成訓(xùn)練集Si
理論空燃比時(shí),在電動(dòng)勢(shì)小于約0.4V的情況下AF+側(cè)端子與AF-側(cè)端子的電壓相等,因此電流不會(huì)流向任何一側(cè)。過(guò)濃時(shí),在電動(dòng)勢(shì)大于約0.4V的情況下,AF-側(cè)的電壓比較高,因此從AF-側(cè)流向AF+側(cè)的電流與電壓差成比例。過(guò)稀時(shí),在電動(dòng)勢(shì)小于約0.4V的情況下,AF+側(cè)的電壓比較高,因此從AF+側(cè)流向AF-側(cè)的電流與電壓成比例。所以空燃比傳感器的輸出電壓與空燃比的大小成正比。由圖1可知,空燃比小于14.7混合汽過(guò)濃時(shí),傳感器輸出較小的電壓(小于3.3V);空燃比大于14.7混合汽過(guò)稀時(shí),傳感器輸出較大電壓(大于3.3V)。
(II)使用Si生成一顆不減枝的樹(shù)hi:
a. 從d個(gè)特征中隨機(jī)選取M個(gè)特征
b. 在每個(gè)節(jié)點(diǎn)上從M個(gè)特征依據(jù)Gini指標(biāo)中選取最優(yōu)特征
c. 分裂直到樹(shù)長(zhǎng)到最大
End
Output:1.樹(shù)的集合{hi,i=1,2,…,N}
2. 對(duì)待測(cè)樣本xt,決策樹(shù)hi輸出hi(xi)
其中,式(1)中xi,yi為第i個(gè)數(shù)據(jù)的特征和標(biāo)簽,R為實(shí)數(shù),hi(xi),f(xi)為分類(lèi)結(jié)果,majority Vote表示多數(shù)投票,得到最終分類(lèi)結(jié)果
深度森林[11]又叫多粒度級(jí)聯(lián)森林,它首先采用了類(lèi)型滑動(dòng)窗口的方法對(duì)原始輸入進(jìn)行特征變換,增強(qiáng)其特征表達(dá)能力,然后再通過(guò)級(jí)聯(lián)的多個(gè)隨機(jī)森林層做逐層表征學(xué)習(xí)。
深度森林是由多個(gè)隨機(jī)森林構(gòu)成一個(gè)森林層,然后通過(guò)級(jí)聯(lián)的方式連接多個(gè)森林層,最終形成層間連接。其中森林中每一層的輸出類(lèi)向量都是一組對(duì)上一層輸入特征向量轉(zhuǎn)換之后的表征學(xué)習(xí),隨后將變換表征之后的處理結(jié)果提交給下一森林層,同時(shí)使用驗(yàn)證集判定這一層輸出是否滿(mǎn)足預(yù)設(shè)輸出條件,若不滿(mǎn)足則將輸出向量組合與原始訓(xùn)練向量相連接,并以連接之后的向量作為下一森林層的輸入,直至輸出向量組合的預(yù)測(cè)值滿(mǎn)足預(yù)設(shè)條件。深度森林網(wǎng)絡(luò)結(jié)構(gòu)模型如圖1所示。
圖1 深度森林網(wǎng)絡(luò)結(jié)構(gòu)模型Fig.1 Structure Model of deep forest network
在圖1中,輸入向量輸入第一個(gè)森林層之后,森林層的所有森林分別計(jì)算所有樣本的類(lèi)別概率,將得到的類(lèi)別概率組合作為輸出向量并與原始數(shù)據(jù)進(jìn)行拼接或組合,隨后將組合的數(shù)據(jù)作為下一森林層的輸入,循環(huán)直至達(dá)到預(yù)設(shè)的循環(huán)次數(shù)或者收斂條件后停止對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行處理,并最終對(duì)輸出層的向量組合求均值,并將輸出概率最大的類(lèi)別輸出為預(yù)測(cè)的樣本類(lèi)別。
本文實(shí)驗(yàn)所用的計(jì)算機(jī)硬件環(huán)境配置為Inter(R) Core(TM) i7-8750H 2.2 GHz,內(nèi)存 16 GB,實(shí)驗(yàn)所運(yùn)行的軟件環(huán)境為安裝在windows10操作系統(tǒng)下的python3.6.5
本文實(shí)驗(yàn)采用的數(shù)據(jù)集為William H. W olberg博士提供的標(biāo)準(zhǔn)乳腺癌腫瘤數(shù)據(jù),此數(shù)據(jù)集可以從UCI數(shù)據(jù)集官網(wǎng)上獲取。
乳腺癌腫瘤數(shù)據(jù)集共包括569個(gè)觀測(cè)樣本,其中每個(gè)數(shù)據(jù)樣本都有30種特征屬性,這些特征都是對(duì)乳腺癌腫瘤的各個(gè)維度特征的抽象表征,每種特征的數(shù)據(jù)類(lèi)型均為64為浮點(diǎn)數(shù)類(lèi)型,每個(gè)樣本有且僅有一個(gè)標(biāo)簽,標(biāo)簽一共分為兩大類(lèi),分別是惡性(malignant)和良性(benign)。樣本集中,212個(gè)樣本被標(biāo)注為惡性,357個(gè)樣本被標(biāo)注為良性。部分樣本特征名稱(chēng)及其解釋如表1。
表1 樣本部分特征及其解釋Tab.1 Partial characteristics of samples and their explanations
其中半徑指從中心到周界各點(diǎn)的平均距離,紋理指腫瘤灰度圖的標(biāo)準(zhǔn)差,平滑度指半徑的局部變化的程度,密實(shí)度指周長(zhǎng)的平方除面積-1,凹度指腫瘤輪廓凹陷部分的嚴(yán)重程度,凹點(diǎn)指論文凹面部分的數(shù)量。mean代表平均值,standard error代表標(biāo)準(zhǔn)差,worst代表最差的或者最大值。乳腺癌訓(xùn)練集及測(cè)試集分布如表2所示。
表2 乳腺癌訓(xùn)練集測(cè)試集分布Tab.2 Test set distribution of breast cancer training set
為了選取隨機(jī)森林最佳超參數(shù)集合,需要多次對(duì)隨機(jī)森林參數(shù)進(jìn)行調(diào)試,并從得到的超參數(shù)集合中選取最好的超參數(shù)集對(duì)模型超參數(shù)進(jìn)行初始化,使模型在測(cè)試集上擁有更高的分類(lèi)準(zhǔn)確率和泛化性能。隨機(jī)森林中著重需要配置的超參數(shù)分別為max_depth和n_estimators。其中max_depth為構(gòu)建決策樹(shù)的深度,值越大越容易過(guò)擬合,n_estimators為構(gòu)建隨機(jī)的個(gè)體決策樹(shù)的個(gè)數(shù)。隨機(jī)森林中最大迭代次數(shù)和決策樹(shù)個(gè)數(shù)對(duì)深度森林分類(lèi)曲線如圖2。
圖2 隨機(jī)森林中最大迭代次數(shù)和決策樹(shù)個(gè)數(shù)對(duì)深度森林分類(lèi)曲線Fig.2 The relationship between the maximum number of iterations and the number of decision trees in a random forest to the depth forest classification curve
由圖2不難看出,隨機(jī)森林的最大迭代深度和個(gè)體決策樹(shù)個(gè)數(shù)能較大地影響深度森林的分類(lèi)性能,所以對(duì)于最大迭代深度和個(gè)體決策樹(shù)個(gè)數(shù)的選擇需要選取使得深度森林分類(lèi)效果最好的極點(diǎn)值。網(wǎng)格搜索是一種基于窮舉的調(diào)參手段,在所有的候選參數(shù)中通過(guò)循環(huán)遍歷,嘗試每一種可能性,并從中找出表現(xiàn)最好的參數(shù)。經(jīng)網(wǎng)格搜索之后得到的最優(yōu)max_depth和n_estimators如表3。
表3 深度森林超參數(shù)配置Tab.3 Super parameter configuration of deep forest
為了更好地驗(yàn)證深度森林的模型性能,本文通過(guò)將乳腺癌腫瘤數(shù)據(jù)分別輸入已經(jīng)訓(xùn)練好的支持向量機(jī)、決策樹(shù)和深度森林,其中支持向量機(jī)和決策樹(shù)均采用模型自帶值初始化,采用準(zhǔn)確率和F1-度量評(píng)價(jià)指標(biāo)對(duì)每個(gè)模型的性能進(jìn)行評(píng)估。不同模型算法得到的乳腺癌腫瘤數(shù)據(jù)良惡性分類(lèi)對(duì)比結(jié)果如表4,三種不同模型算法得到的乳腺癌腫瘤數(shù)據(jù)就良惡性分類(lèi)評(píng)價(jià)曲線如圖3。
表4 乳腺癌腫瘤數(shù)據(jù)良惡性分類(lèi)對(duì)比結(jié)果Tab.4 Comparison results of benign andmalignant breast cancer data
圖3 乳腺癌腫瘤數(shù)據(jù)就良惡性分類(lèi)評(píng)價(jià)曲線Fig.3 Classification curve of benign and malignant breast cancer data
由表4可知三種算法的準(zhǔn)確率和f1_score的均值及最大值均大于90%,說(shuō)明對(duì)于二分類(lèi)問(wèn)題來(lái)說(shuō)三種算法都能有較好的分類(lèi)預(yù)測(cè)效果,其中深度森林擁有最好的分類(lèi)性能,最高分類(lèi)準(zhǔn)確率達(dá) 96.2%,出現(xiàn)這樣的情況是由于乳腺癌腫瘤數(shù)據(jù)集的數(shù)據(jù)不均衡問(wèn)題,支持向量機(jī)和決策樹(shù)這兩個(gè)算法不能很好地解決數(shù)據(jù)不均衡問(wèn)題,而深度森林由于其有隨機(jī)抽樣算法使其獲得了更好地分類(lèi)準(zhǔn)確率。從圖3中在乳腺癌腫瘤數(shù)據(jù)良惡性分類(lèi)曲線可以看出深度森林的分類(lèi)性能明顯好于另外兩種分類(lèi)器,且在綜合評(píng)價(jià)指標(biāo)f1_score上具有明顯優(yōu)勢(shì)。
綜合上述實(shí)驗(yàn)結(jié)果,深度森林在乳腺癌腫瘤良惡性分類(lèi)預(yù)測(cè)上的模型性能要優(yōu)于支持向量機(jī)和決策樹(shù)模型。
本文針對(duì)當(dāng)前醫(yī)療領(lǐng)域乳腺癌腫瘤分類(lèi)預(yù)測(cè)中淺層機(jī)器學(xué)習(xí)算法無(wú)法對(duì)腫瘤數(shù)據(jù)的特征屬性進(jìn)行深度挖掘和常規(guī)腫瘤數(shù)據(jù)中特征屬性較少的問(wèn)題,利用深度森林中的隨機(jī)抽樣方法對(duì)原始如數(shù)進(jìn)行特征變換以增強(qiáng)原始腫瘤數(shù)據(jù)的特征表達(dá)能力,然后通過(guò)級(jí)聯(lián)森林結(jié)構(gòu)對(duì)增強(qiáng)特征進(jìn)行逐層表征學(xué)習(xí),獲取腫瘤數(shù)據(jù)原始特征中無(wú)法表達(dá)的高維屬性,達(dá)到提高分類(lèi)乳腺癌腫瘤良惡性準(zhǔn)確率的目的,更好更高效地提高乳腺癌良惡性診斷水平。實(shí)驗(yàn)結(jié)果表明,基于深度森林的乳腺癌腫瘤良惡性分類(lèi)準(zhǔn)確率及 f_score均好于支持向量機(jī)和決策樹(shù)算法。在醫(yī)療領(lǐng)域中對(duì)乳腺癌腫瘤良惡性輔助診斷上有較大幫助。然而,該算法的預(yù)測(cè)性仍然沒(méi)有到達(dá)完全準(zhǔn)確判斷乳腺癌腫瘤良惡性分類(lèi)的結(jié)果,所以下一步將研究如何改進(jìn)深度森林算法以進(jìn)一步提高該算法的分類(lèi)預(yù)測(cè)性能。