基于最小生成樹的集成多目標(biāo)進(jìn)化自動(dòng)聚類方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于網(wǎng)絡(luò)技術(shù)領(lǐng)域,更進(jìn)一步涉及數(shù)據(jù)挖掘技術(shù)領(lǐng)域中的一種基于最小生 成樹的集成多目標(biāo)進(jìn)化自動(dòng)聚類方法。本發(fā)明通過多目標(biāo)進(jìn)化算法,可有效地對各種基因 數(shù)據(jù)集進(jìn)行聚類分析,主要用于生物醫(yī)學(xué)識(shí)別、腫瘤檢測等領(lǐng)域中存在的高維度數(shù)據(jù)的分 析。
【背景技術(shù)】
[0002] 在大規(guī)模數(shù)據(jù)分析中,傳統(tǒng)的數(shù)據(jù)分析工具只能分析出數(shù)據(jù)的簡單關(guān)系,但是不 能挖掘到數(shù)據(jù)之間潛在的關(guān)系和隱藏的信息。近年來,許多學(xué)者通過對數(shù)據(jù)深層信息的 挖掘,在人工智能、人工神經(jīng)網(wǎng)絡(luò)和智能計(jì)算等學(xué)科的基礎(chǔ)上,對數(shù)據(jù)挖掘進(jìn)行多方面的研 究,將聚類分析應(yīng)用到數(shù)據(jù)挖掘技術(shù)上,并且得到了廣泛的應(yīng)用。聚類技術(shù)是指在無監(jiān)督條 件下,對未知數(shù)據(jù)進(jìn)行類別預(yù)測的技術(shù)。常見的應(yīng)用如:數(shù)據(jù)分析、圖像分割處理、生物醫(yī)學(xué) 識(shí)別、腫瘤檢測等實(shí)際應(yīng)用。目前已經(jīng)提出了很多多目標(biāo)聚類算法,但是大部分算法并沒有 致力于處理高維數(shù)據(jù)集,而用于生物醫(yī)學(xué)識(shí)別和腫瘤檢測的基因數(shù)據(jù)集的最大特點(diǎn)就是具 有很高的維度。
[0003] 西安電子科技大學(xué)申請的專利"監(jiān)督基因表達(dá)數(shù)據(jù)分類方法"(專利申請?zhí)?201410817036. 9,公開號(hào)CN 104504305A)中公開一種監(jiān)督基因表達(dá)數(shù)據(jù)分類的方法。該 方法采用類別保留投影方法獲得訓(xùn)練樣本的鑒別特征向量,再利用訓(xùn)練樣本的鑒別特征向 量,采用回歸優(yōu)化方法獲得投影矩陣,通過投影矩陣獲得訓(xùn)練樣本特征集和測試樣本特征 集,最后用最近鄰分類器實(shí)現(xiàn)對測試樣本的分類識(shí)別。該方法存在的不足之處是,該方法必 須預(yù)先定義類或者帶類標(biāo)記的訓(xùn)練樣本,然而大部分基因數(shù)據(jù)集并不能預(yù)先知道類別數(shù), 并且由于該方法將類別保留投影方法轉(zhuǎn)化到回歸框架,加重了分類器設(shè)計(jì)的負(fù)擔(dān),從而降 低了基因表達(dá)數(shù)據(jù)分類的準(zhǔn)確性。
[0004] RC Liu 等人在其發(fā)表的論文 "An improved method for multi-objective clustering ensemble algorithm', (IEEE Congress on Evolutionary Computation. 2012.)中提出了一種基于四目標(biāo)的聚類集成方法。該方法采用遺傳算法的框 架,利用四種不同的傳統(tǒng)聚類算法產(chǎn)生初始種群,采用集成算法MCLA作為交叉算子,產(chǎn)生 新的中間種群,利用多目標(biāo)優(yōu)化算法NSGA-II的思想,從中間種群中選擇下一代種群,如果 迭代沒有達(dá)到設(shè)定次數(shù),則跳回到交叉步驟一直循環(huán),最終得到較好聚類結(jié)果的集群。該方 法雖然采用集成算法MCLA作為交叉算子,具有很強(qiáng)的搜索能力,但是,該方法仍然存在的 不足之處是,該方法采用的交叉方式在對基因數(shù)據(jù)集的處理時(shí)很容易產(chǎn)生非法的解,即所 有的數(shù)據(jù)類標(biāo)都變成了零,大大降低了該方法的準(zhǔn)確性,影響了對基因數(shù)據(jù)集的分類結(jié)果。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足,提出一種基于最小生成樹的集成多 目標(biāo)進(jìn)化自動(dòng)聚類方法,以實(shí)現(xiàn)對高維度基因數(shù)據(jù)集的聚類分析,產(chǎn)生高質(zhì)量的聚類劃分。
[0006] 實(shí)現(xiàn)本發(fā)明目的的具體步驟如下:
[0007] (1)輸入待聚類的基因數(shù)據(jù)集;
[0008] (2)初始化:
[0009] (2a)設(shè)定待聚類基因數(shù)據(jù)集的類別數(shù)區(qū)間;
[0010] (2b)采用K均值算法,分別將待聚類基因數(shù)據(jù)集的類別數(shù)區(qū)間中的每一個(gè)值作為 待聚類基因數(shù)據(jù)集的類別數(shù),對確定類別數(shù)的待聚類基因數(shù)據(jù)集進(jìn)行聚類,得到不同的K 均值基聚類種群;
[0011] (2c)采用平均距離算法,分別將待聚類基因數(shù)據(jù)集的類別數(shù)區(qū)間中的每一個(gè)值作 為待聚類基因數(shù)據(jù)集的類別數(shù),對確定類別數(shù)的待聚類基因數(shù)據(jù)集進(jìn)行聚類,得到不同的 平均距離基聚類種群;
[0012] (2d)采用最大距離算法,分別將待聚類基因數(shù)據(jù)集的類別數(shù)區(qū)間中的每一個(gè)值作 為待聚類基因數(shù)據(jù)集的類別數(shù),對確定類別數(shù)的待聚類基因數(shù)據(jù)集進(jìn)行聚類,得到不同的 最大距離基聚類種群;
[0013] (2e)采用譜聚類算法,分別將待聚類基因數(shù)據(jù)集的類別數(shù)區(qū)間中的每一個(gè)值作為 待聚類基因數(shù)據(jù)集的類別數(shù),對確定類別數(shù)的待聚類基因數(shù)據(jù)集進(jìn)行聚類,得到不同的譜 聚類基聚類種群;
[0014] (2f)將K均值基聚類種群、平均距離基聚類種群、最大距離基聚類種群、譜聚類基 聚類種群合并為父代種群;
[0015] (3)設(shè)定迭代參數(shù):
[0016] 將最大迭代次數(shù)設(shè)定為50次,初始迭代次數(shù)為1,迭代步長為1 ;
[0017] (4)計(jì)算簇間相似性:
[0018] 按照下式,計(jì)算父代種群中所有簇之間的相似性:
[0019]
[0020] 其中,ECS( ·)表示父代種群中任意兩個(gè)簇的簇間相似性,C1, (:2分別表示父代種 群中不同的兩個(gè)簇,|Cl|、Ic2 I分別表示簇C1和簇C2中所包含的數(shù)據(jù)點(diǎn)個(gè)數(shù),Σ表示求和 操作,e表示屬于符號(hào),Cl 1表示父代種群簇(^中的數(shù)據(jù)點(diǎn),(12表示父代種群簇(:2中的數(shù)據(jù) 點(diǎn),sim( ·)表示父代種群中不同的數(shù)據(jù)點(diǎn)出現(xiàn)在同一個(gè)簇中的次數(shù);
[0021] (5)生成最小生成樹:
[0022] (5a)采用普利姆算法,生成最小生成樹,最小生成樹中的每個(gè)節(jié)點(diǎn)代表父代種群 中的每個(gè)簇;
[0023] (5b)將最小生成樹中任意兩個(gè)節(jié)點(diǎn)的簇間相似性的值賦予連接這兩個(gè)節(jié)點(diǎn)邊的 權(quán)值;
[0024] (6)斷開最小生成樹:
[0025] (6a)將最小生成樹所有邊中權(quán)值最小的邊斷開,將整個(gè)最小生成樹分成c個(gè)子生 成樹,其中,c表示待聚類基因數(shù)據(jù)集的真實(shí)類別數(shù);
[0026] ^b)采用投票法,確定每個(gè)節(jié)點(diǎn)表示的簇中的數(shù)據(jù)點(diǎn)所屬的個(gè)子生成樹;
[0027] (6c)判斷最小生成樹中的所有邊是否都斷開,若是,則得到一個(gè)與父代種群規(guī)模 相同的子種群,執(zhí)行步驟(7);否則,執(zhí)行步驟(6a);
[0028] (7)合并種群:
[0029] 將與父代種群規(guī)模相同的子種群與父代種群合并為二倍種群;
[0030] (8)快速非支配排序:
[0031] (8a)搜索二倍種群中的被支配個(gè)體數(shù)量為0的個(gè)體,將其全部放入第一集合中, 并賦予該集合中每個(gè)個(gè)體相應(yīng)的非支配序;
[0032] (8b)對第一集合中個(gè)體所支配個(gè)體的子集合中的被支配個(gè)體數(shù)量為1的個(gè)體,其 放入第二集合中,賦予該集合中個(gè)體相應(yīng)的非支配序;
[0033] (8c)判斷二倍種群中的所有個(gè)體是否都被分級(jí),若是,則執(zhí)行步驟(9);否則,執(zhí) 行步驟(8b);
[0034] (9)計(jì)算擁擠度:
[0035] 計(jì)算二倍種群中每個(gè)個(gè)體的擁擠度,按照擁擠度的大小進(jìn)行降序排列,得到擁擠 度序;
[0036] (10)生成新的父代種群:
[0037] 將二倍種群中每個(gè)個(gè)體按照非支配序從小到大排列,相同的非支配序個(gè)體之間按 照擁擠度序從大到小排列,從排列好的二倍種群中選擇前一半個(gè)體組成新的父代種群;
[0038] (11)判斷迭代次數(shù)是否小于50,若是,將迭代次數(shù)加1,執(zhí)行步驟⑷;否則,執(zhí)行 步驟(12);
[0039] (12)選擇最優(yōu)個(gè)體:
[0040] 計(jì)算父代種群中每個(gè)個(gè)體的評價(jià)函數(shù)值,將父代種群中評價(jià)函數(shù)值最大的個(gè)體作 為父代種群中的最優(yōu)個(gè)體;
[0041] (13)按照下式,計(jì)算父代種群中的最優(yōu)個(gè)體的精確值:
[0042]
[0043] 其中,CR表示父代種群中最優(yōu)個(gè)體的精確值,Σ表示求和操作,R表示父代種群中 個(gè)體u所包含的數(shù)據(jù)點(diǎn)個(gè)數(shù),i表示父代種群個(gè)體u中的任意一個(gè)數(shù)據(jù)點(diǎn),C表示父代種群 中個(gè)體V所包含的數(shù)據(jù)點(diǎn)個(gè)數(shù),j表示父代種群個(gè)體V中的任意一個(gè)數(shù)據(jù)點(diǎn),u、V分別表示 父代種群中的任意兩個(gè)個(gè)體,H 1,表示同時(shí)出現(xiàn)在簇u i和簇V i中的數(shù)據(jù)點(diǎn)的個(gè)數(shù),η表示輸 入的待聚類數(shù)據(jù)集的數(shù)據(jù)點(diǎn)個(gè)數(shù),Ii1表示只出現(xiàn)在簇U1中的數(shù)據(jù)點(diǎn)個(gè)數(shù),η ,表示只出現(xiàn)在 簇Uj中的數(shù)據(jù)點(diǎn)個(gè)數(shù),u i表示父代種群中個(gè)體u中任意一個(gè)簇,V i表示父代種群中個(gè)體V 中的任意一個(gè)簇。
[0044] 本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn):
[0045] 第一,由于本發(fā)明引入普利姆算法生成最小生成樹,產(chǎn)生新的中間種群,克服了現(xiàn) 有技術(shù)中存在交叉方式在對基因數(shù)據(jù)集處理時(shí)容易產(chǎn)生非法的解的問題,使得本發(fā)明對解 空間的搜索能力大幅增強(qiáng),提高了本發(fā)明對數(shù)據(jù)聚類結(jié)果的準(zhǔn)確性。
[0046] 第二,由于本發(fā)明引入了快速非支配排序,選擇新的父代種群時(shí)不需要預(yù)先定義 種群類別數(shù),克服了現(xiàn)有技術(shù)中必須預(yù)先定