趙晚昭,謝 聰
(廣西農(nóng)業(yè)職業(yè)技術(shù)大學(xué),廣西南寧 530007)
近年來,癌癥及惡性腫瘤一直威脅著人類的生命健康,尤其是患病早期癥狀不容易被查出,導(dǎo)致錯過了最佳的治療時間,因此,為各種疾病提供一種高效、準(zhǔn)確的診斷方法,不僅可以讓患者及時接受治療,或許還可以挽救患者生命。隨著基因微陣列技術(shù)的成熟,基因表達譜可以表示人類各個組織的正常基因,當(dāng)前很多重大疾病的基因微陣列數(shù)據(jù)也已被共享,可為基因分類與識別提供大量可靠的數(shù)據(jù)。一般來說,在高維微陣列數(shù)據(jù)中,冗余的基因不僅會降低訓(xùn)練強度,而且會對學(xué)習(xí)算法的性能產(chǎn)生負(fù)面的影響。為了解決這些問題,研究人員提出了眾多基因選擇方法來選擇最佳的鑒別基因[1]。
在進行基因微陣列分類時,最重要的是對微陣列基因進行特征選擇,當(dāng)前的基因選擇方法主要分為過濾法、包裝法、混合法和嵌入法等4類[2]。通常來說,包裝法能提供更好的精度,在眾多的包裝法中,引力搜索算法(Gravity Search Algorithm,GSA)和教與學(xué)優(yōu)化(Teaching-Learning-Based Optimization,TLBO)算法在生物信息學(xué)領(lǐng)域是眾多研究的焦點[3-6]。由于這些技術(shù)在選擇的基因之間缺乏相關(guān)性,從而會增加計算負(fù)擔(dān)[7],為克服這些缺點,研究人員對許多混合進化算法進行了研究,如差分進化算法和人工蜂群算法的混合[8]、混合烏鴉搜索算法[9]、TLBO算法與GSA的結(jié)合[10]、特征選擇集成算法和自適應(yīng)蚱蜢優(yōu)化算法的結(jié)合[11],以及二元精英花授粉算法和二分粒子群算法的融合[12]。但是大多數(shù)的混合智能算法仍存在很多缺陷,如執(zhí)行時間高和陷入局部最優(yōu)等。
本研究將GSA與二元TLBOGSA結(jié)合,利用GSA進行局部搜索,通過與二元TLBO融合來克服陷入局部最優(yōu)的問題。同時,基于新型的粒子編碼方法和適應(yīng)度函數(shù),提出基于BTLBOGSA的基因微陣列數(shù)據(jù)特征選擇算法,該算法具有能提高數(shù)據(jù)集可解釋性、降低計算復(fù)雜度、控制過早收斂和迭代停滯問題等潛在優(yōu)點,可以提高收斂速度,平衡勘探開發(fā)能力之間的關(guān)系。通過將卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)用于微陣列數(shù)據(jù)分類器,提出基于BTLBOGSA與CNN的基因微陣列數(shù)據(jù)分類模型,該模型可從不同的微陣列數(shù)據(jù)集中選擇具有高度鑒別性的基因子集,相對于使用全部基因進行分類時更不容易過擬合,具有較高的分類精度。
教與學(xué)優(yōu)化(TLBO)算法是近些年比較流行的進化算法(EAs)之一[13]。TLBO算法模擬課堂教學(xué)和學(xué)習(xí)過程可分為教師教學(xué)和學(xué)生學(xué)習(xí)兩個階段。
教師教學(xué)階段是指教師通過教學(xué)以提高學(xué)生的知識水平。教學(xué)過程計算式如下:
Xi,k+1=Xi,k+ri×(Xteacher,k-Tf×Mi,k),
(1)
式中,Xi,k和Xi,k+1分別表示第i個學(xué)員在第k次和第k+1次迭代時學(xué)習(xí)的值;Xteacher,k為算法在第k次迭代時的最佳學(xué)習(xí)者;ri為[0,1]之間的隨機值;T為班級教室;Tf為教師因子,Mi,k為當(dāng)前班級平均成績。Tf的更新公式如下:
Tf=round[1+rand(0,1)]。
(2)
學(xué)生學(xué)習(xí)階段是指學(xué)生相互交流、學(xué)習(xí)知識以及豐富知識。學(xué)習(xí)階段計算式如下:
Xi,k+1=
(3)
式中,Xi,k和Xi,k+1分別表示第i個學(xué)員在第k次和第k+1次迭代時學(xué)習(xí)前和學(xué)習(xí)后的值;Xp和Xq分別為第i個學(xué)生及同一個班級內(nèi)的另外一個學(xué)生,且i≠j;ri為[0,1]之間的隨機值;f(g)為要優(yōu)化的目標(biāo)函數(shù)。
引力搜索算法(GSA)是伊朗學(xué)者Esmat于2009年提出的一種新型群智能優(yōu)化算法[14]。GSA中第i個粒子的質(zhì)量Mi(t)的計算式為
(4)
(5)
式中,mi(t)和mj(t)分別為第i和j個粒子相對于迭代中最好和最差適應(yīng)度的占比,用于粒子質(zhì)量的計算;N為粒子總數(shù);fiti(t)為第i個粒子在第t次迭代的適應(yīng)度;best(t)、worst(t)分別為迭代時所有粒子中最好和最差的適應(yīng)度,且根據(jù)優(yōu)化目標(biāo)的不同分為求解最大值和最小值問題,具體如下:
(6)
(7)
(8)
(9)
式中,G0為初始引力;T為最大迭代次數(shù);α為衰減系數(shù)。
(10)
特征選擇的主要目標(biāo)是從原始特征空間中選擇具有最小冗余和最大鑒別能力的相關(guān)特征。通過減少不相關(guān)和無意義的特征,縮減數(shù)據(jù)維數(shù),可以降低分類算法所需的數(shù)據(jù)量及執(zhí)行時間,從而提高分類器的性能。元啟發(fā)式技術(shù)因其全局搜索能力而聞名,在尋找給定問題的最優(yōu)基因子集時,已有多種元啟發(fā)式算法,如遺傳算法、引力搜索算法、教與學(xué)優(yōu)化算法、差分變異算法和粒子群優(yōu)化算法,用于優(yōu)化特征選擇問題[15,16]。TLBO算法和GSA是計算智能領(lǐng)域中兩種著名的元啟發(fā)式方法。在當(dāng)前的研究中,尚未有關(guān)于TLBO算法和GSA在基因微陣列高維數(shù)據(jù)集上的組合應(yīng)用。本文將TLBO算法和GSA結(jié)合起來進行基因微陣列高維數(shù)據(jù)的特征提取。
TLBOGSA已被用于解決復(fù)雜的連續(xù)型全局優(yōu)化問題,由于個體在連續(xù)型搜索空間中移動,所以位置向量為連續(xù)型變量[17]。在特征選擇問題上,個體需在二元搜索空間中移動,因此提出了TLBOGSA的二元變體,稱為BTLBOGSA。在BTLBOGSA中,教師教學(xué)和學(xué)生學(xué)習(xí)兩個階段的粒子速度更新公式分別為
(11)
(12)
在BTLBOGSA中,相關(guān)的位置向量用二進制表示,但速度向量仍是浮點型。速度向量的用途主要是為了尋找學(xué)習(xí)者在一個位置上變化的概率,即從0變?yōu)?或者1變?yōu)?的概率。通常情況下,為將連續(xù)搜索空間映射到離散搜索空間,需要使用特有的轉(zhuǎn)換函數(shù),最常用的函數(shù)是sigmoid函數(shù)。使用sigmoid函數(shù)的缺點是正向速度和負(fù)向速度間的差異不明顯,導(dǎo)致原先的位置向量需要更大的運動速度才能更新。為了克服這個問題,提出了一種新的速度向量轉(zhuǎn)換函數(shù),具體如下:
(13)
(14)
在基因微陣列數(shù)據(jù)分類中,僅由適應(yīng)度函數(shù)指定的最優(yōu)特征子集可能具有潛在的冗余,為提高基因微陣列數(shù)據(jù)分類精度和最小化特征數(shù)量,研究了一種新的適應(yīng)度函數(shù),具體如下:
(15)
式中,fitness(x)為特征子集x的分類能力;γ為分類器的分類精度;?為染色體的長度;β為候選特征子集中特征長度的上界;α為0到1之間的常數(shù)。
基于TLBO算法和GSA進行基因微陣列高維數(shù)據(jù)的特征選擇,在此基礎(chǔ)上提出了基于BTLBOGSA的基因微陣列數(shù)據(jù)特征選擇方法,具體實現(xiàn)如下:
步驟1:初始化種群大小、維度D及初始的特征子集Z等;
步驟2:設(shè)置算法初始運行次數(shù)t=1,最大運行次數(shù)為Tmax;
步驟3:計算種群中每個學(xué)習(xí)者的適應(yīng)度值,并記錄最佳學(xué)習(xí)者;
步驟4:根據(jù)公式(9)計算當(dāng)前迭代次數(shù)時的引力常量G(t);
步驟5:根據(jù)公式(6)(7)更新當(dāng)前迭代次數(shù)時的最佳適應(yīng)度值best(t)和最差適應(yīng)度值worst(t);
步驟6:根據(jù)公式(4)更新當(dāng)前迭代次數(shù)時每個學(xué)習(xí)者的Mi(t);
步驟9:根據(jù)公式(13)計算當(dāng)前迭代次數(shù)時所有學(xué)習(xí)者位置向量改變的可能性;
步驟10:根據(jù)公式(14)計算當(dāng)前迭代次數(shù)時所有學(xué)習(xí)者的位置向量Xi,k;
步驟11:根據(jù)公式(11)、(12)計算當(dāng)前迭代次數(shù)時所有學(xué)習(xí)者的速度向量;
步驟12:根據(jù)公式(15)計算當(dāng)前迭代次數(shù)時所有學(xué)習(xí)者的適應(yīng)度值;
步驟13:更新所有學(xué)習(xí)者的位置向量及特征子集結(jié)果Z;
步驟14:保存具有最高適應(yīng)度值的特征子集;
步驟15:跳轉(zhuǎn)到步驟3,直到達到設(shè)置的運行次數(shù),結(jié)束算法運行。
基于BTLBOGSA模型可實現(xiàn)基因微陣列數(shù)據(jù)的特征維度縮減,在此基礎(chǔ)上提出了基于BTLBOGSA與CNN[18]的基因微陣列數(shù)據(jù)分類模型。BTLBOGSA-CNN模型的實現(xiàn)步驟如圖1所示。
圖1 BTLBOGSA-CNN模型流程圖Fig.1 Flow chart of BTLBOGSA-CNN model
步驟1:數(shù)據(jù)預(yù)處理;
步驟2:將數(shù)據(jù)集按照7∶3的比例劃分為訓(xùn)練集和測試集;
步驟3:利用BTLBOGSA進行訓(xùn)練集數(shù)據(jù)的特征選擇,實現(xiàn)數(shù)據(jù)特征維度縮減;
步驟4:利用CNN模型進行訓(xùn)練集數(shù)據(jù)分類;
步驟5:利用訓(xùn)練好的模型進行測試集數(shù)據(jù)分類;
步驟6:保存分類結(jié)果。
在實驗中采用的開發(fā)語言為Python3.8.2,操作系統(tǒng)為Ubuntu 18.04.5(64位),CPU為8核2.90 GHz,GPU為GTX 1080Ti,內(nèi)存為16 GB,硬盤為500 GB。為了評估BTLBOGSA-CNN模型的性能,采用基因微陣列數(shù)據(jù)分類中常用的敏感性Sensitivity(Se)、特異性Specificity(Sp)、馬修斯相關(guān)系數(shù)MCC和F-score(Fmes)值4個指標(biāo)作為評估指標(biāo)。這些指標(biāo)的計算方法如下:
(16)
(17)
(18)
MCC=
(19)
式中,TP、TN、FP和FN在獨立的數(shù)據(jù)集中分別為真陽性、真陰性、假陽性和假陰性。
使用Leukaemia-1、Colon-cancer、DLBCL、Leukaemia-2和Prostate-tumour 5種基因表達數(shù)據(jù)集對提出的方法進行驗證。表1總結(jié)了關(guān)于數(shù)據(jù)集的一些基本信息,包括特征數(shù)量、基因數(shù)和類別等。
表1 數(shù)據(jù)集信息描述Table 1 Information description of dataset
本文使用網(wǎng)格搜索法對BTLBOGSA-CNN模型進行實驗,取具有最好分類效果的模型參數(shù)作為與其他模型對比時的參數(shù)。具體參數(shù)設(shè)置如表2所示。
表2 模型參數(shù)設(shè)置Table 2 Setting of model parameters
為充分驗證BTLBOGSA-CNN模型的性能,首先將BTLBOGSA與TLBO算法、GSA結(jié)合分別對5個基因微陣列數(shù)據(jù)集進行數(shù)據(jù)特征選擇,驗證基于BTLBOGSA進行特征選擇的有效性;然后將BTLBOGSA-CNN、CNN、TLBO-CNN和GSA-CNN進行基因微陣列數(shù)據(jù)集的分類,驗證BTLBOGSA與CNN結(jié)合在一起的有效性;最后將BTLBOGSA-CNN與CMIM[19]、JMI[20]、mRMR[21]、ITAFSVM[22]、TLBOGSA-SVM等其他已有分類模型進行對比,驗證BTLBOGSA-CNN模型相對于已有模型的有效性。
4.4.1 BTLBOGSA、TLBO算法和GSA的特征選擇
利用BTLBOGSA、TLBO算法和GSA對5個基因微陣列數(shù)據(jù)集進行數(shù)據(jù)特征選擇,特征選擇結(jié)果如圖2所示。在5個數(shù)據(jù)集上,基于BTLBOGSA進行基因微陣列數(shù)據(jù)特征選擇的有效特征數(shù)均少于TLBO、GSA算法,有效降低了數(shù)據(jù)特征維度,表明基于BTLBOGSA的基因微陣列數(shù)據(jù)特征選擇算法具有更好的降維效果。
圖2 3種算法的特征選擇結(jié)果Fig.2 Feature selection results of three algorithms
4.4.2 BTLBOGSA-CNN、CNN、TLBO-CNN和GSA-CNN的分類
分別利用BTLBOGSA-CNN、CNN、TLBO-CNN和GSA-CNN對5個基因微陣列數(shù)據(jù)集進行數(shù)據(jù)分類,結(jié)果如圖3所示。在數(shù)據(jù)集DLBCL上,BTLBOGSA-CNN模型相對于其余3個模型分類結(jié)果的Sensitivity(Se)值最高提升8.25%,在其余4種數(shù)據(jù)集上最低提升0.23%。對于任意數(shù)據(jù)集,BTLBOGSA-CNN模型均具有最好的表現(xiàn)。BTLBOGSA-CNN相對于CNN具有更好的分類效果,主要是因為在利用CNN分類前使用BTLBOGSA對數(shù)據(jù)特征進行提取,得到具有更優(yōu)分類效果的特征集合;BTLBOGSA-CNN相對于TLBO-CNN、GSA-CNN具有更好的分類效果,則主要是因為BTLBOGSA將TLBO和GSA的優(yōu)點結(jié)合起來,采用了新型的編碼策略,使得其能夠?qū)ふ业礁蟹诸愋Ч奶卣骷?,從而使得利用CNN對數(shù)據(jù)進行分類時具有更好的分類精度。
圖3 4種模型分類結(jié)果Fig.3 Classification results of four models
4.4.3 BTLBOGSA-CNN與其他已有分類模型對比分析
利用BTLBOGSA-CNN與其他5種已有算法模型對5個基因微陣列數(shù)據(jù)集進行數(shù)據(jù)分類,結(jié)果如圖4所示。以數(shù)據(jù)集Leukaemia-1為例,BTLBOGSA-CNN模型相對于其余5種模型分類結(jié)果的Sensitivity(Se)值至少提高0.22%,Specificity(Sp)值至少提高0.52%,F(xiàn)-score(Fmes)值至少提高0.34%,MCC值至少提高0.11%。在5個數(shù)據(jù)集上,BTLBOGSA-CNN相對于其余模型均具有更好的分類效果,主要是因為BTLBOGSA-CNN模型相對于其他算法,一方面將TLBO與GSA算法結(jié)合起來,充分發(fā)揮了兩者的優(yōu)勢,通過基因微陣列數(shù)據(jù)特征的有效提取,實現(xiàn)微陣列數(shù)據(jù)維度的縮減;另一方面充分發(fā)揮卷積神經(jīng)網(wǎng)絡(luò)CNN的優(yōu)勢,利用其進行特征提取后,實現(xiàn)微陣列數(shù)據(jù)的高精度分類。
圖4 6種模型分類結(jié)果Fig.4 Classification results of six model
針對當(dāng)前基因微陣列數(shù)據(jù)處理面臨的數(shù)據(jù)維度高、分類精度低的問題,構(gòu)建了基于BTLBOGSA與CNN的基因微陣列數(shù)據(jù)分類模型(BTLBOGSA-CNN)。該模型基于BTLBOGSA進行基因微陣列數(shù)據(jù)的特征選擇,實現(xiàn)基因微陣列數(shù)據(jù)維度的縮減,并利用CNN實現(xiàn)基因微陣列數(shù)據(jù)的分類。在實驗中,將BTLBOGSA-CNN與其他分類模型進行對比,結(jié)果表明BTLBOGSA-CNN相對于已有模型可以更好地進行基因表達譜數(shù)據(jù)分類,具有更高的分類精度。但是,由于TLBO算法與GSA的局限性,BTLBOGSA-CNN模型無法對特征規(guī)模過大的基因數(shù)據(jù)集進行有效分析。在后續(xù)的研究中,將著重分析基因特征之間的關(guān)聯(lián)性,設(shè)計出更有效的特征選擇算法,以便于實現(xiàn)對癌癥及惡性腫瘤等疾病的有效預(yù)測。