一種基于雙階遺傳計(jì)算的基因表達(dá)數(shù)據(jù)的雙聚類算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)挖掘處理領(lǐng)域,特別涉及一種基于雙階遺傳計(jì)算的基因表達(dá)數(shù)據(jù) 的雙聚類算法。
【背景技術(shù)】
[0002] DNA微陣列技術(shù)的出現(xiàn)和發(fā)展使得人們可以同時(shí)檢測(cè)數(shù)以千計(jì)的基因并測(cè)量其轉(zhuǎn) 錄mRNA的表達(dá)水平。通過在多個(gè)實(shí)驗(yàn)條件(如不同的實(shí)驗(yàn)環(huán)境,不同的時(shí)間點(diǎn),不同的組 織樣本)下反復(fù)地實(shí)驗(yàn),可以搜集到上百個(gè)實(shí)驗(yàn)的基因表達(dá)數(shù)據(jù)。基因表達(dá)數(shù)據(jù)矩陣的 行代表一個(gè)基因在不同環(huán)境條件下或不同時(shí)間點(diǎn)的表達(dá),列代表不同條件或樣本下(如組 織、實(shí)驗(yàn)條件、處理因素等)所有基因的表達(dá)情況,矩陣中的數(shù)據(jù)表示特定的基因在特定的 樣本中的表達(dá)水平。從獲取基因表達(dá)數(shù)據(jù)的具體過程來分析,可以得出基因表達(dá)數(shù)據(jù)有 (1)數(shù)據(jù)量巨大;(2)高維性;(3)高噪聲;(4)高冗余等特點(diǎn),這對(duì)數(shù)據(jù)分析算法的研究提 出了更高要求和挑戰(zhàn)。怎樣對(duì)這些海量的基因表達(dá)數(shù)據(jù)進(jìn)行分析并發(fā)掘其中隱藏的信息, 是當(dāng)今生物信息學(xué)的一個(gè)研究熱點(diǎn),也是數(shù)據(jù)挖掘領(lǐng)域中亟待解決的問題。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn)與不足,提供一種基于雙階遺傳計(jì)算的基 因表達(dá)數(shù)據(jù)的雙聚類算法。
[0004] 本發(fā)明的目的通過以下的技術(shù)方案實(shí)現(xiàn):
[0005] -種基于雙階遺傳計(jì)算的基因表達(dá)數(shù)據(jù)的雙聚類算法,包含以下順序的步驟:
[0006] 1)設(shè)基因表達(dá)數(shù)據(jù)矩陣為M,行數(shù)為m,列數(shù)為n,即基因表達(dá)數(shù)據(jù)矩陣的大小為 mXn,將原始的數(shù)據(jù)矩陣M的每一行減去第k行,得到處理之后的矩陣M(k),k= 1,2,…,n;
[0007] 2)對(duì)處理之后的矩陣M(k)中除了第k列之外的每一列,使用距離閾值為cof?的層 次聚類,得到每一列的雙聚類種子,然后將所有得到的雙聚類種子全部放入一個(gè)名為Bic_ Set的集合;
[0008] 3)從Bic_Set的集合中選取一個(gè)雙聚類種子,對(duì)未包含其中的行列進(jìn)行編碼;將 未包含的行列作為搜索空間,每個(gè)行和列作為一個(gè)個(gè)體,隨機(jī)選擇隊(duì)行和N /I」,令N 1 = 隊(duì)+%,即隨機(jī)選擇&個(gè)個(gè)體,構(gòu)成了初始化種群P1 ;將選中的行和列的位置記為1,沒有選 中的行和列的位置記為〇,則得到種群P1的編碼;
[0009] 4)將初始化的P1種群的&個(gè)個(gè)體(行或列)分別獨(dú)立的加進(jìn)雙聚類種子中,得 到N 2個(gè)已擴(kuò)大的雙聚類,其中t = N2,每個(gè)雙聚類作為一個(gè)個(gè)體,由N2個(gè)個(gè)體構(gòu)成初始種 群P2,然后對(duì)每個(gè)雙聚類進(jìn)行二進(jìn)制編碼,編碼的長(zhǎng)度為m+n,前m位用于行編碼,后n位用 于列編碼,將雙聚類中包含的行和列對(duì)應(yīng)的位置置為1;經(jīng)過以上步驟就得到種群P2中雙 聚類的編碼;至此,我們就得到了初始化的種群P1和初始化的種群P2 ;
[0010] 5)接著使用適應(yīng)度函數(shù)Fitnessl(P)評(píng)價(jià)種群P1中每個(gè)個(gè)體的適應(yīng)度,設(shè)變異概 率為m ;從&個(gè)個(gè)體中選擇(1-m)*^個(gè)適應(yīng)度高的個(gè)體,將其遺傳到下一代種群中,然后將 個(gè)適應(yīng)度低的個(gè)體進(jìn)行變異,得到新的m*N i個(gè)體,即重新隨機(jī)選取m*N i個(gè)新的行或者 列;然后將變異得到的新的個(gè)體也加入下一代種群中,由此得到種群P1中新的&個(gè)個(gè)體, 其中適應(yīng)度函數(shù)為 Fitnessl (p) = Bicluster. Msr-Bicluster. Msr (p),Bicluster. Msr 是 種群PI中第P個(gè)個(gè)體對(duì)應(yīng)產(chǎn)生的種群p2中的雙聚類的平均平方殘基,Bicluster. Msr (p) 是去掉第P行或者第P列之后的雙聚類的平均平方殘基;至此,這一代種群P1的遺傳進(jìn)化 完成;
[0011] 6)然后使用適應(yīng)度函數(shù)Fitness2 (Bicluster)評(píng)價(jià)種群P2中的N2個(gè)個(gè)體的適應(yīng) 度,從中選取適應(yīng)度高的g個(gè)個(gè)體遺傳到下一代,將種群P2中其余的適應(yīng)度低的個(gè)體淘汰, 其中g(shù)〈N 2;其中適應(yīng)度函數(shù)為
[0012]
【主權(quán)項(xiàng)】
1. 一種基于雙階遺傳計(jì)算的基因表達(dá)數(shù)據(jù)的雙聚類算法,其特征在于,包含以下順序 的步驟: 1) 設(shè)基因表達(dá)數(shù)據(jù)矩陣為M,行數(shù)為m,列數(shù)為n,即基因表達(dá)數(shù)據(jù)矩陣的大小為mXn, 將原始的數(shù)據(jù)矩陣M的每一行減去第k行,得到處理之后的矩陣M(k),k= 1,2,…,n; 2) 對(duì)處理之后的矩陣M(k)中除了第k列之外的每一列,使用距離閾值為cof的層次 聚類,得到每一列的雙聚類種子,然后將所有得到的雙聚類種子全部放入一個(gè)名為Bic_Set 的集合; 3) 從Bic_Set的集合中選取一個(gè)雙聚類種子,對(duì)未包含其中的行列進(jìn)行編碼;將未包 含的行列作為搜索空間,每個(gè)行和列作為一個(gè)個(gè)體,隨機(jī)選擇隊(duì)行和N/I」,令Ni=N,+%,即 隨機(jī)選擇&個(gè)個(gè)體,構(gòu)成了初始化種群P1 ;將選中的行和列的位置記為1,沒有選中的行和 列的位置記為0,則得到種群P1的編碼; 4) 將初始化的P1種群的&個(gè)個(gè)體分別獨(dú)立的加進(jìn)雙聚類種子中,得到N2個(gè)已擴(kuò)大的 雙聚類,其中N2,每個(gè)雙聚類作為一個(gè)個(gè)體,由N2個(gè)個(gè)體構(gòu)成初始種群P2,然后對(duì)每個(gè) 雙聚類進(jìn)行二進(jìn)制編碼,編碼的長(zhǎng)度為m+n,前m位用于行編碼,后n位用于列編碼,將雙聚 類中包含的行和列對(duì)應(yīng)的位置置為1 ;經(jīng)過以上步驟就得到種群P2中雙聚類的編碼;至此, 我們就得到了初始化的種群P1和初始化的種群P2 ; 5) 接著使用適應(yīng)度函數(shù)Fitnessl(p)評(píng)價(jià)種群P1中每個(gè)個(gè)體的適應(yīng)度,設(shè)變異概率為 m;從&個(gè)個(gè)體中選擇(1-mhNi個(gè)適應(yīng)度高的個(gè)體,將其遺傳到下一代種群中,然后將111*1 個(gè)適應(yīng)度低的個(gè)體進(jìn)行變異,得到新的m*%個(gè)體,即重新隨機(jī)選取個(gè)新的行或者列;然 后將變異得到的新的個(gè)體也加入下一代種群中,由此得到種群P1中新的K個(gè)個(gè)體,其中適 應(yīng)度函數(shù)為Fitnessl(p) =Bicluster.Msr-Bicluster.Msr(p),Bicluster.Msr是種群P1 中第P個(gè)個(gè)體對(duì)應(yīng)產(chǎn)生的種群p2中的雙聚類的平均平方殘基,Bicluster.Msr(p)是去掉 第P行或者第P列之后的雙聚類的平均平方殘基;至此,這一代種群P1的遺傳進(jìn)化完成; 6) 然后使用適應(yīng)度函數(shù)Fitness2(Bicluster)評(píng)價(jià)種群P2中的N2個(gè)個(gè)體的適應(yīng)度, 從中選取適應(yīng)度高的g個(gè)個(gè)體遺傳到下一代,將種群P2中其余的適應(yīng)度低的個(gè)體淘汰,其 中g(shù)〈N2;其中適應(yīng)度函數(shù)為
式中,Bicluster.Hscore是雙聚類的平均平方殘基,Bicluster.Volume是雙聚類的大 ??; 7) 然后將下一代種群P1的&個(gè)體隨機(jī)的加入到由步驟6)中由種群P2得到的適應(yīng)度 較高的g個(gè)個(gè)體中,即將種群P1中的每個(gè)個(gè)體所對(duì)應(yīng)的行和列分別獨(dú)立地加入g個(gè)雙聚類 中,得到N2個(gè)包含較優(yōu)且已擴(kuò)大的雙聚類個(gè)體的下一代種群P2 ; 8) 之后繼續(xù)對(duì)種群P1使用遺傳算法,產(chǎn)生下一代種群P1中的個(gè)體,將種群P1的新一 代的K個(gè)個(gè)體隨機(jī)的加入到由種群P2得到的適應(yīng)度較高的g個(gè)個(gè)體中,又產(chǎn)生了下一代 種群P2 ;不斷重復(fù)步驟5)、6)、7),直到達(dá)到預(yù)先設(shè)定的最大的進(jìn)化次數(shù)或種群P2中的個(gè)體 大部分相同,最后從種群P2中挑選出最優(yōu)的雙聚類。
2. 根據(jù)權(quán)利要求1所述的基于雙階遺傳計(jì)算的基因表達(dá)數(shù)據(jù)的雙聚類算法,其特征在 于:步驟2)中,所述的每個(gè)雙聚類種子都對(duì)應(yīng)著一個(gè)處理任務(wù),對(duì)每個(gè)處理任務(wù)進(jìn)行并行 化處理。
3. 根據(jù)權(quán)利要求1所述的基于雙階遺傳計(jì)算的基因表達(dá)數(shù)據(jù)的雙聚類算法,其特征在 于:步驟5)中,所述的使用適應(yīng)度函數(shù)Fitnessl(p)來評(píng)價(jià)種群P1中個(gè)體的適應(yīng)度,其實(shí) 就是計(jì)算種群P1中第P個(gè)個(gè)體對(duì)種群p2中的對(duì)應(yīng)的雙聚類的貢獻(xiàn)程度,通過Fitnessl(p) 計(jì)算得到值越小,說明加入第P行或者第P列使得當(dāng)前雙聚類的平均平方殘基(MSR)值越 小,即該行或者列對(duì)雙聚類質(zhì)量的影響越好。
4. 根據(jù)權(quán)利要求1所述的基于雙階遺傳計(jì)算的基因表達(dá)數(shù)據(jù)的雙聚類算法,其特征在 于:步驟7)中,所述的將種群P1的新一代的&個(gè)個(gè)體隨機(jī)的加入由種群P2得到的適應(yīng)度 較高的g個(gè)個(gè)體中,具體通過使用一種輪盤賭規(guī)則來實(shí)現(xiàn):計(jì)算出g個(gè)個(gè)體適應(yīng)度的總和; 然后計(jì)算出g個(gè)個(gè)體相對(duì)適應(yīng)度的大小,即每個(gè)個(gè)體的適應(yīng)度占適應(yīng)度總和的比率Ri,i= 1,2,…,g;然后將P1中的&個(gè)個(gè)體分別乘以相對(duì)比率Rp得到種群P1中的個(gè)體隨機(jī)加入 到種群P2中g(shù)個(gè)個(gè)體的個(gè)數(shù)&*氏。
【專利摘要】本發(fā)明公開了一種基于雙階遺傳計(jì)算的基因表達(dá)數(shù)據(jù)的雙聚類算法,將矩陣M中的每一列減去第k列得到矩陣M(k),k=1,2,…,n;對(duì)M(k)的每一列進(jìn)行層次聚類,得到雙聚類種子的集合;通過遺傳計(jì)算獲得對(duì)應(yīng)的雙聚類。本發(fā)明所述的算法,可解決傳統(tǒng)基于遺傳計(jì)算的雙聚類算法只能針對(duì)雙聚類進(jìn)行選擇的缺點(diǎn),通過同時(shí)對(duì)行列進(jìn)行優(yōu)化,可提高搜索效率,并獲得更優(yōu)的雙聚類分析效果。
【IPC分類】G06F17-30, G06F19-20
【公開號(hào)】CN104573004
【申請(qǐng)?zhí)枴緾N201510008985
【發(fā)明人】黃慶華, 楊杰, 黃仙海
【申請(qǐng)人】華南理工大學(xué)
【公開日】2015年4月29日
【申請(qǐng)日】2015年1月6日