王 冬,曲 媛,劉玉航,朱習(xí)軍
(青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,山東 青島 266061)
在醫(yī)學(xué)上,乳腺癌診斷的常見方法有影像學(xué)檢查和病理檢查[1-3]。通過對該疾病的研究得知,越早發(fā)現(xiàn)治療效果越佳。然而,鑒于診斷結(jié)果可能受到醫(yī)生主觀因素干擾,會產(chǎn)生誤診等偏差,影響患者采取合理方案進(jìn)行進(jìn)一步治療,醫(yī)療工作面臨著重要挑戰(zhàn)。
許多學(xué)者針對乳腺癌分類問題開展相關(guān)研究。Ledley第一次在醫(yī)療領(lǐng)域中應(yīng)用了數(shù)學(xué)建模,并將計算機相關(guān)算法用于醫(yī)療輔助[4]。隨著機器學(xué)習(xí)的發(fā)展,逐漸將機器學(xué)習(xí)與醫(yī)療結(jié)合,更多學(xué)者將機器學(xué)習(xí)技術(shù)應(yīng)用在乳腺癌檢測等諸多醫(yī)學(xué)領(lǐng)域[5]。齊慧穎等[6]通過對TCGA數(shù)據(jù)庫中4種組學(xué)數(shù)據(jù)融合,使用隨機森林方法建立預(yù)測模型,最佳準(zhǔn)確率為97.22%,驗證了融合多種組學(xué)數(shù)據(jù)構(gòu)建的模型是有效提高預(yù)測性能的方法。李喆等[7]通過對幾種經(jīng)典機器學(xué)籍分類器在乳腺腫瘤分類檢測中的比較,并從準(zhǔn)確率等方面對其進(jìn)行評估比較,驗證線性判別分析和極限學(xué)習(xí)機兩種分類器性能優(yōu)良。Wakankar等[8]用熱成像技術(shù)對乳腺癌進(jìn)行診斷。劉巧利等[9]提出改進(jìn)的DenseNet網(wǎng)絡(luò)對乳腺癌的診斷,基于數(shù)據(jù)增強、遷移學(xué)習(xí)建立診斷模型,識別率達(dá)到99.2%。機器學(xué)習(xí)在醫(yī)療行業(yè)的應(yīng)用,顯示了其算法的優(yōu)越性,使醫(yī)療上獲得了可觀的進(jìn)展[10]。
本文將隨機森林(random forest,RF)與人工魚群(artificial fish,AF)相結(jié)合,實現(xiàn)乳腺癌的良、惡性分類。采用smote過采樣解決數(shù)據(jù)不均衡問題,采用pearson和隨機森林進(jìn)行特征選擇。通過實驗,從準(zhǔn)確度、F1值等方面對算法性能進(jìn)行比較驗證結(jié)果,為乳腺癌的治療和研究提供參考。
原始數(shù)據(jù)集來自威斯康辛州的乳腺癌公開數(shù)據(jù),所有特征值都是使用乳腺腫塊細(xì)針穿刺所得的圖像數(shù)字化結(jié)果,該結(jié)果顯示了腫瘤診斷和細(xì)胞核各特征的取值。數(shù)據(jù)集按照平均值、標(biāo)準(zhǔn)差、最大值3個方面將細(xì)胞核分為3組。其中,每組包含10個特征,總計30個特征。例如,1號代表平均半徑,4號代表平均面積。其中,標(biāo)簽diagnosis代表腫瘤狀態(tài),該標(biāo)簽下存在惡性樣本212個,良性樣本357個,共569個數(shù)據(jù)。使用LabelEncoder標(biāo)簽對其進(jìn)行數(shù)值化,編碼為0、1,以方便進(jìn)行模型訓(xùn)練。數(shù)據(jù)集具體字段含義見表1。
表1 數(shù)據(jù)集特征含義簡介
由于數(shù)據(jù)的完整性、可用性良莠不齊,這樣的數(shù)據(jù)處理起來效率不高,得到的模型運算結(jié)果也不好,因此對數(shù)據(jù)進(jìn)行預(yù)處理尤為重要[11]。本文對數(shù)據(jù)預(yù)處理分為兩方面:均衡化處理和標(biāo)準(zhǔn)化處理。由于數(shù)據(jù)集是比較完整的常用數(shù)據(jù)集,無數(shù)據(jù)缺失,直接略過數(shù)據(jù)填補步驟。
1.2.1 數(shù)據(jù)均衡化
由于數(shù)據(jù)集通常會存在正負(fù)樣本數(shù)量不平衡的情況,分類算法會更偏向多數(shù)類,從而使得模型對少數(shù)類樣本的識別率降低,難以得到較有效的模型。這是由于樣本與類別中心點的距離的不同,代表的特征相關(guān)度也不同,隨著距離的增加,代表性逐漸降低。針對上述問題,提出采用優(yōu)化smote加權(quán)過采樣對數(shù)據(jù)進(jìn)行均衡處理,先計算每個少數(shù)類樣本歐式距離,以分配不同權(quán)重,再根據(jù)權(quán)重生成新樣本。最后將其與隨機過采樣、隨機欠采樣進(jìn)行比較。
smote加權(quán)過采樣步驟如下:
(1)計算數(shù)據(jù)中數(shù)量較少的類別里,每個樣本x到其它樣本的歐氏距離
(1)
(2)計算樣本x到其它樣本的距離之和Di,并將其進(jìn)行歸一化處理,得到的數(shù)值越大,表示樣本離邊界越近,數(shù)值越小,樣本越靠近中心點。
(3)計算每個樣本x的權(quán)重,根據(jù)樣本權(quán)重,設(shè)置采樣倍率n;
(4)按照式(2)產(chǎn)生新樣本,其中rand()表示的是取0和1之間的隨機數(shù)
xnew=x+rand()*|x-xn|
(2)
1.2.2 數(shù)據(jù)標(biāo)準(zhǔn)化
由于數(shù)據(jù)存在不同量綱與數(shù)量級,大小相差明顯。若直接對原始數(shù)值進(jìn)行分析而不加以處理,模型就會對數(shù)值較大的指標(biāo)突出顯示。導(dǎo)致產(chǎn)生的結(jié)果存在相對誤差。為保證結(jié)果的有效性、可靠性,本文采用sklearn庫中的preprocessing.scale()函數(shù),對采樣后數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。
將該函數(shù)訓(xùn)練集、測試集進(jìn)行處理,求出均值(x_train_mean)和方差(x_train_std),在均值附近縮放至單位方差(mean為均值,std為方差)。采用公式如下
(3)
樣本在進(jìn)行處理后,都變?yōu)榫凳?,方差是1的數(shù)據(jù)。其中axis默認(rèn)為0,表示對各個特征進(jìn)行標(biāo)準(zhǔn)化。
數(shù)據(jù)集中包含連續(xù)型和離散型特征,總體樣本均呈現(xiàn)混合高斯分布。從數(shù)據(jù)挖掘方面進(jìn)行分析,若想得到較高價值的乳腺癌分類結(jié)果,要從高維不平衡數(shù)據(jù)集的二分類問題出發(fā),信息重疊、高維不平衡現(xiàn)象在所難免[12]。特征選擇是用最少的特征盡最大可能表達(dá)現(xiàn)有數(shù)據(jù),又稱作降維。通過這種方法,能夠較為高效地降低數(shù)據(jù)過擬合比例,增強模型的泛化能力。由于本數(shù)據(jù)集特征較多,特征選擇能夠有效提升算法性能。
本文將隨機森林與皮爾森相關(guān)性分析相結(jié)合,隨機森林自身擁有的特征重要性評估方法,可以在一定程度上進(jìn)行特征降維,并且提高模型精度,但是無法剔除冗余特征,而皮爾森相關(guān)性分析可以與該方法進(jìn)行結(jié)合,彌補其存在的不足。
pearson相關(guān)系數(shù)是衡量兩個屬性的相似度主要方法,定義為協(xié)方差與標(biāo)準(zhǔn)差相除,通過對相關(guān)系數(shù)的大小計算,以得到特征之間的相關(guān)性。主要用于消除非目標(biāo)特征之間的多重共線性。如果兩組特征具備較高的線性值,證明其中一組屬于冗余特征,可以刪除。對于兩個服從正態(tài)分布的連續(xù)型隨機變量x、y,其公式如下所示
(4)
式中:cov(X,Y) 代表向量X和向量Y的協(xié)方差,輸入取值范圍(-1,1),數(shù)值大于0,表示屬性正相關(guān),小于0,表示屬性負(fù)相關(guān),絕對值越接近于1,表示相關(guān)性最大。
在本文中,將預(yù)處理后的數(shù)據(jù),采用pearson-RF方法進(jìn)行混合選擇,最終實現(xiàn)最大化消除冗余特征的目的。其具體方法如下:
(1)提取預(yù)處理后的數(shù)據(jù)集,將其組成有m個特征的訓(xùn)練集Si(i=1,2,…n), 設(shè)定閾值為[-1,1]。
(2)使用皮爾森相關(guān)性分析處理訓(xùn)練集Si,按照數(shù)值大小排序,去除冗余特征。
(3)將訓(xùn)練集Si,使用隨機森林算法進(jìn)行處理,按照降序,生成Ai。
(4)將不同的p個特征,用于特征建模,獲得最優(yōu)特征子集Bi。
(5)將訓(xùn)練集上所得特征按權(quán)值進(jìn)行加權(quán)計算,其中若Bi中不包含Ai,權(quán)值取0,生成特征子集B0。
(6)對特征進(jìn)行投票處理,使用頻數(shù)最多的特征相應(yīng)的取值作為最優(yōu)特征子集。
圖1 模型構(gòu)建流程
人工魚群算法[13]是由魚群覓食行為啟發(fā)得到的一種尋優(yōu)算法,具有全局尋優(yōu)能力強、速度快等特點。在現(xiàn)實世界中,魚群可以根據(jù)需要尾隨或自行找到營養(yǎng)多的地點生存,人工魚就是在這基礎(chǔ)上進(jìn)行發(fā)展,成為一種抽象的魚的實體。在其內(nèi)部封裝了一系列的行為與算法,可根據(jù)需要做出相應(yīng)的改變,來模仿魚群覓食、尾隨等行為,從而達(dá)到實現(xiàn)最優(yōu)的目的。定義人工魚個體為S=(s1,s2,…sn), 目標(biāo)定義為Y,速度定義為V=(v1,v2,…vn)。
以下是魚的幾種典型行為:
(1)覓食行為pray:設(shè)置人工魚初始狀態(tài)Si,若計算后在視野范圍內(nèi)發(fā)現(xiàn)更優(yōu)狀態(tài)Sj,則向新選擇移動一步,否則繼續(xù)尋找其它狀態(tài),直至達(dá)到最大迭代次數(shù),則轉(zhuǎn)為執(zhí)行隨機行為。更新方式如下
(5)
(2)聚群行為swarm:人工魚Si搜索視野內(nèi)魚的數(shù)目和位置,進(jìn)行集體覓食。若中心位Sc較優(yōu)且不擁擠,則朝該方向移動一步,否則執(zhí)行覓食行為。其規(guī)則如下:①避免與臨近魚過于擁擠;②與臨近魚的平均方向一致;③朝臨近個體的中心移動。更新方式如下
(6)
(3)追尾行為follow:人工魚Si發(fā)現(xiàn)Sj處食物較多,且不擁擠,則朝該處移動一步,否則執(zhí)行覓食行為。更新方式如式(5)。
(4)隨機行為bulletin:人工魚Si在視野內(nèi)隨機游動,是覓食行為的一種缺省狀態(tài),使人工魚達(dá)到新狀態(tài)。更新方式如覓食行為。
其具體步驟如下:
(1)初始化設(shè)置。種群規(guī)模設(shè)為N,初始位置為x,視野為visual,步長為step。
(2)計算初始魚群適應(yīng)值,取最優(yōu)狀態(tài)及取值賦給公告牌。
(3)對每個個體進(jìn)行評價,對其要執(zhí)行行為進(jìn)行選擇并執(zhí)行,生成新魚群。
(4)評價所有個體,若有優(yōu)于公告牌的,則取代更新個體。
(5)當(dāng)公告牌上的取值為最優(yōu),迭代次數(shù)達(dá)到預(yù)設(shè)數(shù)值或多次所得均方差小于允許誤差,結(jié)束算法。
隨機森林有訓(xùn)練速度快等優(yōu)點,但隨著隨機森林在分類問題上的應(yīng)用,發(fā)現(xiàn)它無法對自身的參數(shù)進(jìn)行優(yōu)化。通常情況下,是通過n折交叉驗證對參數(shù)進(jìn)行優(yōu)化,計算誤差以取得最優(yōu)值。然而基于傳統(tǒng)的網(wǎng)格搜索比較耗時。因此,本文通過人工魚群算法實現(xiàn)參數(shù)優(yōu)化,構(gòu)建模型框架如圖2所示。
圖2 優(yōu)化算法流程
不難發(fā)現(xiàn)對其分類性能的決定性較大的參數(shù)有決策樹的數(shù)量(n_estimators)、樹最大深度(max_depth)等,其中n_estimators默認(rèn)取100,max_depth默認(rèn)取none。該算法中,假設(shè)每條人工魚由兩個維度向量組成,分別為(n_estimators,max_depth),記作(n,m)。
操作步驟如下:
步驟2 初始化魚群,每條人工魚由兩個維度組成,設(shè)置為(n,m),構(gòu)造均勻分布總?cè)?,并設(shè)定規(guī)模數(shù)、自適應(yīng)視野范圍、自適應(yīng)步長、最大迭代次數(shù)、擁擠度因子等。
步驟3 通過隨機森林方法,計算每條人工魚的當(dāng)下所處環(huán)境的食物濃度與位置,將最高時對應(yīng)的參數(shù)數(shù)值保留在公告板上,并記錄對應(yīng)值。
步驟4 根據(jù)人工魚的4種不同行為(聚類行為、追尾行為、覓食行為、隨機行為)進(jìn)行尋優(yōu),通過比較,更新人工魚的位置、速度,生成全新的魚群。
步驟5 判斷是否達(dá)到魚群最大數(shù)量和最大迭代次數(shù),若達(dá)到了設(shè)定閾值,則本輪優(yōu)化結(jié)束,否則,算法跳轉(zhuǎn)到步驟4,重復(fù)執(zhí)行上述步驟。
步驟6 確定新人工魚位置,輸出最終搜索到全局最優(yōu)解為最佳參數(shù)。
實驗數(shù)據(jù)來源于威斯康辛數(shù)據(jù)集,通過數(shù)據(jù)預(yù)處理、特征選擇,采用優(yōu)化的隨機森林模型對乳腺癌數(shù)據(jù)進(jìn)行分類。相關(guān)實驗基于window10系統(tǒng),CPU為Intel 1.8 GHz,采用python開源第三方庫scikit-learn,在Anaconda5.1.0集成環(huán)境中運行。本文使用人工魚群算法對n_estimators與max_depth兩個參數(shù)進(jìn)行優(yōu)化。本文設(shè)種群規(guī)模為10,覓食最大次數(shù)為10,移動步長為0.1,擁擠度因子為0.618。
4.1.1 數(shù)據(jù)預(yù)處理
表2 數(shù)據(jù)劃分
對數(shù)據(jù)集的不同特征進(jìn)行特征分析,總體樣本均呈現(xiàn)混合高斯分布。根據(jù)上文所述方法,將數(shù)據(jù)標(biāo)準(zhǔn)化,以乳腺癌數(shù)據(jù)中部分特征為例,將數(shù)據(jù)處理前后結(jié)果以圖3、圖4可視化。
圖3 標(biāo)準(zhǔn)化處理前特征可視化
圖4 標(biāo)準(zhǔn)化處理后特征可視化
從圖中可以看出,橫坐標(biāo)代表數(shù)據(jù)的不同特征在數(shù)據(jù)集中的分布范圍,由于不同特征的數(shù)據(jù)性質(zhì)不同,數(shù)據(jù)量綱也不同,因此差距較大。標(biāo)準(zhǔn)化處理前標(biāo)準(zhǔn)差集中在較小范圍內(nèi),數(shù)值也相對較小,均值分布廣泛且數(shù)值大。在標(biāo)準(zhǔn)化處理后,消除了特征間不同量綱的差異,讓特征分布處于相同的區(qū)間,保證了模型分類結(jié)果的可靠性。
4.1.2 特征選擇
通常情況下,特征越多分類效果就越高。但是過多的特征會嚴(yán)重降低模型的學(xué)習(xí)效率,增加運算量和運算時間。因此,本文對相關(guān)數(shù)據(jù)進(jìn)行特征選擇,隨機森林按照數(shù)值大小表現(xiàn)出重要性程度,計算出的特征重要性如圖5所示。
圖5 特征重要性排序
通過特征分析可知,特征重要性排名前三的特征分別為凹度最大值(concave_worst),值為0.3364;凹度平均值(concave_mean),其值為0.2624;周長最大值(perimeter_worst),其值為0.1913。
通過皮爾森相關(guān)系數(shù)排名、隨機森林特征重要性排名進(jìn)行結(jié)果比較,對特征進(jìn)行分析可知,面積、周長、半徑能夠較為直接衡量細(xì)胞核的相關(guān)特征,與此同時,凹點、凹度也屬于最重要的特征值,有較強的區(qū)分度。特征值的3類統(tǒng)計數(shù)據(jù)中,平均值在一定程度上,反映出的是更加一般的情況,具有更強的可用性。
評估指標(biāo)主要包括:準(zhǔn)確率、召回率、F1評分等,具體評估性能介紹見表3。
表3 評估指標(biāo)
通過對現(xiàn)有數(shù)據(jù)進(jìn)行預(yù)處理與特征選擇操作,將數(shù)據(jù)特征從32減少到10個。對處理后的數(shù)據(jù)輸入進(jìn)優(yōu)化的模型,相關(guān)優(yōu)化過程(部分)數(shù)據(jù)見表4。
表4 結(jié)果分析
由上表可知,當(dāng)max_depth和n_estimators取不同值時,準(zhǔn)確率也會隨之進(jìn)行改變。調(diào)整兩個參數(shù)的取值,得到的準(zhǔn)確率折線圖如圖6所示。
圖6 隨機森林參數(shù)與準(zhǔn)確率相關(guān)性
圖6中橫坐標(biāo)是n_estimators的取值,縱坐標(biāo)是分類準(zhǔn)確率。不同折線代表max_depth的不同取值。從圖中可知,參數(shù)取值的不同,對應(yīng)的準(zhǔn)確率的變化也是處于波動狀態(tài),其中,當(dāng)n_estimators取值為18,max_depth取值為9時,改優(yōu)化的分類模型獲得最高準(zhǔn)確率達(dá)到97.5%,驗證了該模型的可行性。
為了更好說明人工魚群優(yōu)化的隨機森林算法模型具有優(yōu)越性,探究不同算法對分類性能的影響,分別選擇該算法與隨機森林、支持向量機、邏輯回歸在相同數(shù)據(jù)集上的結(jié)果進(jìn)行對比,從準(zhǔn)確率、F1值等方面對算法進(jìn)行評估,比較結(jié)果見表5。
表5 結(jié)果分析
準(zhǔn)確率是檢驗算法分類結(jié)果準(zhǔn)確性的指標(biāo),其準(zhǔn)確率越高說明算法越好;由上表可知,在相同的數(shù)據(jù)集下,單獨使用隨機森林時,準(zhǔn)確率只有92.5%,支持向量機與邏輯回歸的準(zhǔn)確率分別為91.4%和95.3%。而本文優(yōu)化的模型,對乳腺癌的識別準(zhǔn)確率高于其它方法,達(dá)到了97.5%。F1值綜合了精確率與靈敏度的大小。從上表可知,在F1值方面,本文所提出的模型以97%遠(yuǎn)超出其它模型,比隨機森林高0.42,比支持向量機高0.62,比邏輯回歸高0.25。在召回率方面,本文提出的算法達(dá)到95.2%,比隨機森林高2%,比支持向量機高5%,比邏輯回歸高1%。本文認(rèn)為,通過對準(zhǔn)確率、F1值、召回率等的對比,本文所提出模型都得到提高,因此,可以認(rèn)為該模型對輔助醫(yī)生診斷乳腺癌具有較強的意義。
隨機森林參數(shù)較復(fù)雜、模型訓(xùn)練較慢,針對上述問題,本文提出人工魚群優(yōu)化的隨機森林模型。該模型能夠提升準(zhǔn)確率與效率。實驗以乳腺腫瘤細(xì)胞核的各項數(shù)據(jù)為基礎(chǔ),通過對數(shù)據(jù)集進(jìn)行均衡化、標(biāo)準(zhǔn)化等預(yù)處理,對相關(guān)數(shù)據(jù)特征進(jìn)行特征選擇以降低模型復(fù)雜度。通過對模型優(yōu)化,本次實驗針對隨機森林參數(shù)優(yōu)化提供了切實可行的方法,也對未來輔助醫(yī)生進(jìn)行乳腺癌相關(guān)疾病篩查和治療,更早發(fā)現(xiàn)病人病情,有較重要的意義。