本發(fā)明涉及基因特征提取技術(shù)領(lǐng)域,尤其是一種基因特征提取方法。
背景技術(shù):
精準醫(yī)療的時代已經(jīng)逐漸到來,針對癌癥的準確診斷與精準治療首當其沖。在中國,每分鐘有6人被診斷為惡性腫瘤,中國居民一生罹患癌癥的概率為22%,癌癥已經(jīng)成為中國居民首要死因,預防和治療癌癥是各學科科學家關(guān)注的焦點。隨著基因測序費用的降低,通過對正常人員與患癌人員的基因表達數(shù)據(jù)測序與比對,可以得到患癌風險評估報告,這也是目前較先進的早期發(fā)現(xiàn)癌癥的手段。同時,也通過對患癌病人跟蹤檢測基因表達數(shù)據(jù)從而分析其治療進程和效果。因此,通過分析基因數(shù)據(jù)從而實現(xiàn)對癌癥的患病風險和癌癥精準治療提供可靠依據(jù)。
基因數(shù)據(jù)集分類的最大難點在于高維度和小樣本之間的不平衡問題。同時高噪聲、高變異、分布不均衡也是造成分類器處理基因表達數(shù)據(jù)性能不佳的主要原因。如何更進一步提取特征信息,降低計算復雜度是基因分類的基礎(chǔ)工作。
近幾年涌現(xiàn)出大量通過將原始數(shù)據(jù)投影到低維新空間的映射來構(gòu)造和計算嵌入子空間的方法,大致分為以下幾類:
(a)基于因子分量分析的基因特征提取方法。常用的方法有主分量分析(pca),因子分析(fa),獨立分量分析(ica),線性判別分析(lda)、偏最小二乘(pls)等。其中pca是一種分析事物主要矛盾的統(tǒng)計方法,本質(zhì)上是基于目標統(tǒng)計特性對樣本進行最優(yōu)正交變換,多用于降維、可視化、去噪、減小計算等。但pca的原理是基于樣本集總體散度最大化原則,這同時會導致類內(nèi)散度的增加,加劇類別劃分難度。li等人提出首先相對寬松地剔除噪聲基因,適當增加被選基因數(shù)量,進而利用二維主元分析法(2d-pca)技術(shù)進行二次基因特征提取,并采用svm分類。而taguchi等利用pca面向als進行特征提取,將特征而不是樣本嵌入到低維空間,從而證實了29個關(guān)鍵候選基因。
(b)基于傅里葉與小波包變化的基因特征提取方法?;虮磉_譜數(shù)據(jù)可以理解為一組信號或一組時間序列,從而可以采用諸多信號處理方法用來處理,如離散余弦變換、傅里葉變換和小波包變換等。郭志鵬等人提出基于分數(shù)階傅立葉變換的腫瘤基因表達譜分類的方法,通過分數(shù)階傅立葉變換提取基因表達譜數(shù)據(jù)的全局特征,并選擇最優(yōu)階次,結(jié)合支持向量機實現(xiàn)了對腫瘤及腫瘤亞型的分類。
(c)基于流形學習的基因表達譜特征提取方法。流形學習算法是一種用來維數(shù)約減的非線性方法,并且因為其在探測嵌入在高維空間中低維流形的能力和靈活性而被廣泛應用。具有代表性的流形學習算法包括等距映射(isometricmapping,isomap)、局部線性嵌入方法(locallylinearembedding,lle)、laplacian特征映射(laplacianeigenmap,le)。其中,lle運用線性系數(shù),來表達局部幾何,該系數(shù)能夠重建一個給定的樣本點利用其近鄰點,然后尋找一個低維空間,在該空間中這些線性系數(shù)仍然可以用來重建相應的點;isomap作為mds的變種,能夠保存點對之間的全局的測地線距離。gengx等提出了另一種基于isomap的監(jiān)督算法sisomap,該方法同樣是修改了isomap算法的第一步,用已知的樣本所屬類別信息重新定義了樣本間的距離。
除了上述方法,常用的降維方法還有信噪比(snr)、遺傳算法等。snr多用于二分類問題,針對兩類樣本計算出每個維度相應的樣本表達差值,差值越大,則該基因維度所包含的分類信息越多。通過snr值對各維度基因進行排序,從中篩選出特征基因。遺傳算法是一種基于群智能的搜索啟發(fā)式算法,通過模擬自然種群繁殖過程進行隨機尋優(yōu)。針對基因數(shù)據(jù),利用樣本信息熵計算出各特征的可分度,以此作為遺傳算法的適應度函數(shù),再采用特定的遺傳操作如交叉、突變、選擇等實現(xiàn)優(yōu)化,從而選取較優(yōu)特征基因子集。
技術(shù)實現(xiàn)要素:
為了克服已有基因特征提取方法的降維速度較慢、無法最大程度保留基因特征的不足,本發(fā)明提供一種最大程度保留基因特征并實現(xiàn)快速降維的基于流形學習與閉環(huán)深度卷積雙網(wǎng)絡模型的基因特征提取方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
一種基于流形學習與閉環(huán)深度卷積雙網(wǎng)絡模型的基因特征提取方法,所述提取方法包括以下步驟:
第一步,基于流形學習的癌癥關(guān)聯(lián)基因特征粗提取,過程如下:
1.1運用自適應密度聚類算法對基因表達數(shù)據(jù)做初始聚類處理,實現(xiàn)聚類中心的自動確定,對于聚類完成的每個類在類內(nèi)降維為線性模型;
1.2建立局部線性模型間的最小穿越樹mst,將每個小線性模型根據(jù)它的聚類中心構(gòu)成一個樹的框架,采用其聚類中心作為線性模型代表,將所有聚類中心建立一個mst樹,不斷迭代相鄰兩個線性模型映射到同一線性模型構(gòu)建遍歷的骨架;
1.3遍歷流形的全局mst,沿著mst的框架將一個線性模型映射到另一個線性模型上,把已遍歷過的映射合并為整塊的線性模型映射到新的線性模型的方向上,最終流形形成在高維空間中的低維表示;
1.4通過在全局超線性模型上運行獨立分量分析ica,再對高維空間的低維線性模型降維,將低維線性模型在低維空間中顯示;
第二步,基于閉環(huán)深度卷積雙網(wǎng)絡結(jié)構(gòu)的基因特征精細提取,過程如下:
采用正向卷積神經(jīng)網(wǎng)絡和反向卷積神經(jīng)網(wǎng)絡相結(jié)合的雙網(wǎng)絡結(jié)構(gòu),利用卷積神經(jīng)網(wǎng)絡的特征提取能力對基因表達數(shù)據(jù)集進行深度抽象,最終投影出關(guān)鍵特征;反向卷積神經(jīng)網(wǎng)絡實現(xiàn)關(guān)鍵特征的逆投影。
進一步,所述第二步中,將網(wǎng)絡內(nèi)部的線性過濾核替換為rbf核函數(shù),通過設置rbf的超參數(shù)實現(xiàn)對cnn卷積運算的調(diào)控。
再進一步,所述第一步中,對于高維樣本基因數(shù)據(jù)m,m含有p個檢測對象,每一個對象p為一個人所檢測的n維基因序列,目標是找到n維流形中流形為m的n維內(nèi)在結(jié)構(gòu)的樣本,n<<n。首先,對流形m中的數(shù)據(jù)對象運用自適應密度聚類算法進行聚類,按基因序列近似程度對所有樣本劃分。其次,建立局部線性模型間的最小穿越樹mst,將拓撲結(jié)構(gòu)中有序排列的這些線性模型用高維空間數(shù)據(jù)構(gòu)造一個低維的全局流形,通過構(gòu)造一個最小跨越樹穿越超平面中心實現(xiàn)。
基因特征粗提取的過程如下:
(a)計算n×n的矩陣d(i,j)=d(xi,xj),其中d是xi、xj間距離;
(b)構(gòu)造mst的矩陣s={dnew},s是通過減去連邊值
(c)若已對所有節(jié)點組合可能判斷成環(huán),輸出矩陣s,此時,聚類中心a可以看成mst的一個節(jié)點a,而節(jié)點之間的連線則為mst的樹枝;再次,遍歷流形的全局mst,即通過沿著超線性模型的mst遍歷,并合并該超線性模型。
所述步驟(c)中,遍歷的是聚類中心構(gòu)成的mst節(jié)點,映射時應對節(jié)點所在的線性模型的每一個數(shù)據(jù)點進行操作。
所述步驟(c)中,在遍歷過程中存在前向映射和返回映射,所述前向映射過程為:當從一個線性模型ppre到另一個線性模型pnew時,若新的線性模型pnew還沒被遍歷過,將之前訪問ppre的映射到這個線性模型的平面pnew;所述返回映射過程為:若一個線性模型已經(jīng)訪問過,我們要把已經(jīng)過映射到當前pnew所在平面的所有線性模型旋轉(zhuǎn)回到ppre原始所在的平面。
所述第二步中,基因特征精細提取包括如下步驟:
2.1設計閉環(huán)雙深度卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)
設置正則化系數(shù)λ、訓練次數(shù)e、迭代數(shù)t和學習率r,選擇卷積層和池化層層數(shù),將卷積層中采用rbf核,參照公式(1):
其中,i,j表示特征投影中的像素位置目錄,k表示卷積核層數(shù);
構(gòu)建反卷積網(wǎng)絡將cnn處理后的特征矩陣逆投影到原始空間,定義由y到z的過程為正向傳播過程,z到y(tǒng)’的過程為反饋過程;其中d為反卷積層采用卷積層濾波核的轉(zhuǎn)置矩陣作為參數(shù),u為反池化層;將cnn投影結(jié)果還原到原空間,將卷積層rbf核的轉(zhuǎn)置矩陣作為反卷積層的初始參數(shù),并采用逐對訓練方法訓練反卷積神經(jīng)網(wǎng)絡;反池化層與池化層是個互逆的過程,在每次最大池化時,記錄下最大值所在的相對坐標以及除最大值外的局部平均值;然后在反池化時,將特征逆投影到原始矩陣,而矩陣的其他位填充記錄下的平均值;
2.2閉環(huán)雙深度卷積神經(jīng)網(wǎng)絡初始化
采用正態(tài)分布逐層初始化特征投影z和卷積核矩陣w,z~n(0,1),w~n(0,1),輸入流形學習降維后的基因數(shù)據(jù)集,對每個樣本進行統(tǒng)一切割形成新的矩陣,并利用進行標準化處理:
2.3閉環(huán)雙深度卷積神經(jīng)網(wǎng)絡訓練
構(gòu)建損失函數(shù),在參數(shù)訓練過程中,按照公式(3)構(gòu)建損失函數(shù),加入特征投影作為懲罰項,最后用梯度下降法學習參數(shù);
loss=||y-y'||2+λ||z||2(3)
其中y和y'分別表示輸入和重構(gòu)輸入,z表示輸出特征;
計算z的反向投影結(jié)果y',將重構(gòu)誤差e=||y-y'||正向傳播回投影層,輸出g=r(e),修正z,z=z-r*g,池化過程:記錄最大值所在坐標和局部平均值(p,s,ave)=p(z);反池化過程:將池化的結(jié)果(p,s,ave)反池化操作,更新z,
z=u(p,s,ave);當z訓練完成時,固定特征投影z,訓練卷積核參數(shù)矩陣w,訓練結(jié)束后輸出特征投影以及池化坐標。
本發(fā)明的技術(shù)構(gòu)思為:相比淺層機器學習算法,卷積神經(jīng)網(wǎng)絡能自動學習過濾核并抽象出數(shù)據(jù)的潛在特征。憑借其卓越的特征提取能力,cnn已經(jīng)被大規(guī)模用于圖像處理和分類領(lǐng)域,在基因表達數(shù)據(jù)的特征提取方面尚無太多應用。傳統(tǒng)cnn采用線性卷積核,線性模型的局限在于抽象能力低,無法完全提取出數(shù)據(jù)的局部特征。lin等提出nin模型,在傳統(tǒng)過濾核的基礎(chǔ)上添加了雙層神經(jīng)網(wǎng)絡,從而將線性映射轉(zhuǎn)化為非線性,提高了信息局部抽象能力。但因為采用relu激活函數(shù),在訓練過程中置0區(qū)域的神經(jīng)元將會阻礙梯度的傳導。針對這個問題,chang等人在nin模型的基礎(chǔ)上提出mnin(maxoutnetworkinnetwork)模型,利用maxout強大的擬合能力來取代relu,同時利用批標準化對每層過濾核的輸出進行標準化,降低了飽和程度。
人體的基因表達包含有約22000個基因,如何從中提取出某種癌癥強關(guān)聯(lián)的基因特征?把原始的高維基因表達數(shù)據(jù)的“維度災難”通過一種有效的降維方法投映到低維的空間,從而提取我們所需要的與癌癥相關(guān)的低維特征信息。本發(fā)明擬采用基因特征粗提取與精細捕捉相結(jié)合的方法進行提取,框架示意圖如圖1所示。
本發(fā)明的有益效果主要表現(xiàn)在:最大程度保留基因特征并實現(xiàn)快速降維。
附圖說明
圖1是高緯基因表達譜特征提取框架圖。
圖2是閉環(huán)雙卷積深度網(wǎng)絡模型結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖對本發(fā)明作進一步描述。
參照圖1和圖2,一種基于流形學習與閉環(huán)深度卷積雙網(wǎng)絡模型的基因特征提取方法,包括基于流形學習的癌癥關(guān)聯(lián)基因特征粗提取、基于閉環(huán)深度卷積雙網(wǎng)絡結(jié)構(gòu)的基因特征向量精細捕捉,在最大程度保留癌癥關(guān)聯(lián)基因特征的前提下實現(xiàn)快速降維。
基因特征粗提取采用基于流形學習的特征提取方法?;驍?shù)據(jù)特征是采樣于一個高維的外圍歐式空間的一個低維子流形的假設,流形存在一定的低維內(nèi)在結(jié)構(gòu)。但普通的降維方法存在對流形產(chǎn)生扭曲、展開后結(jié)構(gòu)發(fā)生“畸形”、正確率較低、可信度較差等不足,因此本發(fā)明設計了一種基于自適應密度聚類的非線性流形學習降維方法進行基因表達數(shù)據(jù)的降維,將流形近似為一系列的線性模型,利用平行映射將局部線性模型合并得到一個全局穩(wěn)定且局部變換的流形。方法包括四個主要步驟:(a)運用一種自適應密度聚類算法對基因表達數(shù)據(jù)做初始聚類處理,實現(xiàn)聚類中心的自動確定,對于聚類完成的每個類在類內(nèi)降維為線性模型,其中ica對每個聚類降維的步驟實際上是將每個類先由高維降至低維,形成線性模型。(b)建立局部線性模型間的最小穿越樹mst,將每個小線性模型根據(jù)它的聚類中心構(gòu)成一個樹的框架,采用其聚類中心作為線性模型代表,將所有聚類中心建立一個mst樹,不斷迭代相鄰兩個線性模型映射到同一線性模型構(gòu)建遍歷的骨架。(c)遍歷流形的全局mst,設計一種快速遍歷含有兩個以上子樹的mst的方法,即沿著mst的框架將一個線性模型映射到另一個線性模型上,把已遍歷過的映射合并為整塊的線性模型映射到新的線性模型的方向上,最終流形形成在高維空間中的低維表示。(d)通過在全局超線性模型上運行ica再對高維空間的低維線性模型降維,將低維線性模型在低維空間中顯示,也就真正實現(xiàn)了對基因表達數(shù)據(jù)從高維到低維的降維。
設計一種閉環(huán)深度卷積雙網(wǎng)絡模型,實現(xiàn)基因特征精細提取。通過正向卷積神經(jīng)網(wǎng)絡(convolutionalneuralnetwork,cnn)和反向卷積神經(jīng)網(wǎng)絡
(deconvolutionneuralnetwork,dcnn)相結(jié)合的雙網(wǎng)絡結(jié)構(gòu),實現(xiàn)高維基因數(shù)據(jù)特征精細提取。利用卷積神經(jīng)網(wǎng)絡的特征提取能力對基因表達數(shù)據(jù)集進行深度抽象,最終投影出關(guān)鍵特征;反向卷積神經(jīng)網(wǎng)絡實現(xiàn)關(guān)鍵特征的逆投影。一方面對模型訓練起反饋作用,另一方面更有助于深入了解基因特征與提取結(jié)果的聯(lián)系。為了提高卷積神經(jīng)網(wǎng)絡的局部抽象能力,將網(wǎng)絡內(nèi)部的線性過濾核替換為rbf核函數(shù),通過設置rbf的超參數(shù)實現(xiàn)對cnn卷積運算的調(diào)控。相比開環(huán)系統(tǒng),閉環(huán)雙網(wǎng)絡結(jié)構(gòu)可以通過反饋機制微調(diào)系統(tǒng)內(nèi)部參數(shù),同時抑制噪聲干擾。訓練完成后,也可以將反饋部分用于特征投影的可視化,方便研究人員了解基因表達譜與提取特征的聯(lián)系。
為實現(xiàn)基于流形學習的基因特征粗提取,提出了一種于自適應密度聚類的非線性流形學習降維方法。對于高維樣本基因數(shù)據(jù)m,m含有p個檢測對象,每一個對象p為一個人所檢測的n維基因序列,目標是找到n維流形中流形為m的n維內(nèi)在結(jié)構(gòu)的樣本,n<<n。首先,對流形m中的數(shù)據(jù)對象運用自適應密度聚類算法進行聚類,按基因序列近似程度對所有樣本劃分。其次,建立局部線性模型間的最小穿越樹mst,將拓撲結(jié)構(gòu)中有序排列的這些線性模型用高維空間數(shù)據(jù)構(gòu)造一個低維的全局流形,通過構(gòu)造一個最小跨越樹穿越超平面中心實即:(a)計算n×n的矩陣d(i,j)=d(xi,xj),其中d是xi、xj間距離;(b)構(gòu)造mst的矩陣s={dnew},s是通過減去連邊值
設計一種基于閉環(huán)雙深度卷積神經(jīng)網(wǎng)絡模型的基因特征精細提取方法。包含關(guān)鍵內(nèi)容:深度卷積神經(jīng)網(wǎng)絡模型構(gòu)建、初始化與訓練。
閉環(huán)雙深度卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)設計:設置正則化系數(shù)λ、訓練次數(shù)e、迭代數(shù)t和學習率r,選擇卷積層和池化層層數(shù)。為了提高cnn的局部抽象能力,將卷積層中的線性過濾核替換為rbf核。采用類似于支持向量機中非線性轉(zhuǎn)換的思路,通過把原始數(shù)據(jù)和線性權(quán)重向高維度投影,使數(shù)據(jù)向線性模型轉(zhuǎn)化,再進行加權(quán),最后利用rbf核函數(shù)求出加權(quán)和,如公式(1)。一方面rbf輸出結(jié)果局限于[0,1],省略了激活函數(shù)非線性映射和歸一化的過程,大大簡化了計算,另一方面,可以通過調(diào)節(jié)rbf函數(shù)的參數(shù)來調(diào)控卷積運算,相比nin模型,不需要額外對卷積核神經(jīng)網(wǎng)絡進行訓練。
其中i,j表示特征投影中的像素位置目錄,k表示卷積核層數(shù)。
為了形成反饋回路,本發(fā)明構(gòu)建反卷積網(wǎng)絡將cnn處理后的特征矩陣逆投影到原始空間,從而進一步微調(diào)網(wǎng)絡結(jié)構(gòu)參數(shù)。如圖2,定義由y到z的過程為正向傳播過程,z到y(tǒng)’的過程為反饋過程。其中d為反卷積層(deconvolution)采用卷積層濾波核的轉(zhuǎn)置矩陣作為參數(shù),u為反池化層(unpooling)。將cnn投影結(jié)果還原到原空間,目的在于觀察特征投影對原樣本數(shù)據(jù)的哪些部分敏感。將卷積層rbf核的轉(zhuǎn)置矩陣作為反卷積層的初始參數(shù),并采用逐對訓練方法訓練反卷積神經(jīng)網(wǎng)絡。反池化層與池化層是個互逆的過程。在每次最大池化時,記錄下最大值所在的相對坐標以及除最大值外的局部平均值。然后在反池化時,將特征逆投影到原始矩陣,而矩陣的其他位填充記錄下的平均值。相比用0填充,可以更好地還原池化前的數(shù)據(jù)分布。
閉環(huán)雙深度卷積神經(jīng)網(wǎng)絡初始化。采用正態(tài)分布逐層初始化特征投影z和卷積核矩陣w,z~n(0,1),w~n(0,1)。輸入流形學習降維后的基因數(shù)據(jù)集,對每個樣本進行統(tǒng)一切割形成新的矩陣,并利用batchnormalization進行標準化處理。
閉環(huán)雙深度卷積神經(jīng)網(wǎng)絡訓練。構(gòu)建損失函數(shù),在參數(shù)訓練過程中,按照公式(3)構(gòu)建損失函數(shù),為了避免過擬合,加入特征投影作為懲罰項,最后用梯度下降法(sgd)學習參數(shù)。
loss=||y-y'||2+λ||z||2(3)
其中y和y'分別表示輸入和重構(gòu)輸入,z表示輸出特征。
計算z的反向投影結(jié)果y',將重構(gòu)誤差e=||y-y'||正向傳播回投影層,輸出g=r(e),修正z,z=z-r*g,池化過程:記錄最大值所在坐標和局部平均值(p,s,ave)=p(z);反池化過程:將池化的結(jié)果(p,s,ave)反池化操作,更新z,z=u(p,s,ave);當z訓練完成時,固定特征投影z,訓練卷積核參數(shù)矩陣w,訓練結(jié)束后輸出特征投影以及池化坐標。