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