基于分組遺傳算法的鏈路預(yù)測方法
【專利摘要】本發(fā)明公開了一種基于分組遺傳算法的鏈路預(yù)測方法,主要解決現(xiàn)有技術(shù)預(yù)測精度低的問題。其實現(xiàn)步驟為:讀入觀測網(wǎng)絡(luò),初始化相關(guān)參數(shù);隨機產(chǎn)生分組遺傳算法的初始種群;計算種群中每個個體的目標函數(shù);對種群進行交叉和變異,生成新的種群,并替換原始種群;控制循環(huán)條件,得到不同分辨率下的社區(qū)劃分方法;計算網(wǎng)絡(luò)中未連接的邊之間的連接概率值,并計算并輸出算法的預(yù)測精度AUC的值。
【專利說明】基于分組遺傳算法的鏈路預(yù)測方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于模型評價領(lǐng)域,涉及網(wǎng)絡(luò)的鏈路預(yù)測,具體的說是一種新的基于分組遺傳算法的鏈路預(yù)測方法,可用于對網(wǎng)絡(luò)的演化模型進行評價。
【背景技術(shù)】
[0002]鏈路預(yù)測通俗的講是根據(jù)網(wǎng)絡(luò)中已知連邊的結(jié)構(gòu)信息以及這些節(jié)點的屬性來預(yù)測網(wǎng)絡(luò)中那些不存在連接的節(jié)點對之間建立連邊的可能性的大小。鏈路預(yù)測包括兩類:一類是對真實存在但是尚未被發(fā)現(xiàn)的連邊的預(yù)測;另一類是對那些現(xiàn)在不存在,但是在將來有可能存在的連邊的預(yù)測。
[0003]鏈路預(yù)測問題之所以引起眾多領(lǐng)域的研究者的廣泛關(guān)注,是因為其具有重大的實用價值。如酵母菌的新陳代謝網(wǎng)絡(luò)中80%的新陳代謝作用還沒有被我們發(fā)現(xiàn),如果我們能夠根據(jù)已知的新陳代謝作用和酵母菌的節(jié)點屬性等相關(guān)信息預(yù)測出其他的還未被發(fā)現(xiàn)的新陳代謝作用,并依據(jù)這些作用來指導(dǎo)實驗驗證這些作用,這將大大減少實驗的時間和花費,對了解整個酵母菌的性能產(chǎn)生巨大的推動作用。真實網(wǎng)絡(luò)的實驗數(shù)據(jù)中通常都含有噪聲,這些噪聲影響了網(wǎng)絡(luò)的真實連接,可能使網(wǎng)絡(luò)中產(chǎn)生一些虛假的連邊或則是丟失了一部分連邊,通過鏈路預(yù)測的方法,可以有針對性的對這些連邊進行實驗,而不需要將全部的連邊都考慮在實驗中,這樣就避免了盲目而無意義的實驗。
[0004]鏈路預(yù)測問題不僅具有重大的實際應(yīng)用價值,而且對復(fù)雜網(wǎng)絡(luò)的理論的建立和完善起到推動和借鑒的作用。連邊預(yù)測可以用來理解、揭示和比較動態(tài)網(wǎng)絡(luò)內(nèi)在的演化機制。比如,判斷提供網(wǎng)絡(luò)演化機制的模型的預(yù)測準確性。實際上在社會網(wǎng)絡(luò)的分析和傳輸過程中也會遇到數(shù)據(jù)不全或則傳輸出錯的問題,鏈路預(yù)測的方法可以在這種情況下作為準確分析社會網(wǎng)絡(luò)結(jié)構(gòu)有力的輔助工具。
[0005]因其重要的實用價值和理論研究價值,國內(nèi)外目前對復(fù)雜網(wǎng)絡(luò)的鏈路預(yù)測方向上的研究也越來越多。早期的鏈路預(yù)測是數(shù)據(jù)挖掘領(lǐng)域的一個研究分支,主要是基于概率模型和機器學(xué)習(xí)的方法來進行研究。Sarukkai于2000年首先用馬爾科夫鏈的方法對web網(wǎng)站上用戶瀏覽和訪問路徑的網(wǎng)絡(luò)進行了路徑分析和預(yù)測。隨后,Zhu等人將馬爾科夫鏈的方法擴展到了自適應(yīng)網(wǎng)站中。節(jié)點的屬性信息隨后也被應(yīng)用到鏈路預(yù)測中,并且這種預(yù)測方法取得了很好的預(yù)測效果。但是很多情況下節(jié)點的屬性信息是很難獲得的,或則說是不可能得到的。另外獲得的節(jié)點的屬性信息并不完全是真實的。相對于節(jié)點的屬性信息;來說,網(wǎng)絡(luò)的結(jié)構(gòu)或則說用戶的歷史信息是容易獲得且十分可靠的。Liben-Nowell和Kleinberg等人根據(jù)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)特性提出了相似性的方法。相似性的方法主要分為兩類,一類是基于節(jié)點的相似性的方法,另一類是基于路徑的相似性的方法?;谙嗨菩缘姆椒ǖ年P(guān)鍵在于如何定義節(jié)點之間的相似性。近年來,相似性的方法已經(jīng)取得了不錯的研究成果。
[0006]基于網(wǎng)絡(luò)拓撲結(jié)構(gòu)的最大似然估計方法也是解決鏈路預(yù)測問題中的一個重要突破。Clauset, Moore和Newman指出網(wǎng)絡(luò)節(jié)點之間的連接可以看做是某種內(nèi)在的層次結(jié)構(gòu)的反映,并提出了層次結(jié)構(gòu)模型的方法。通過實驗證明這種方法在具有明顯層次結(jié)構(gòu)的網(wǎng)絡(luò)中預(yù)測精度較高;但是,這種方法每次預(yù)測時都必須要生成很大的網(wǎng)絡(luò)樣本集,因此它的計算復(fù)雜度非常高,只適合用來處理一些規(guī)模不太大的網(wǎng)絡(luò)。此外,還有一類方法是利用隨機分塊模型來進行相關(guān)預(yù)測,它不僅可以預(yù)測出網(wǎng)絡(luò)中的缺失連邊,還可以預(yù)測出錯誤的連邊。隨機分塊模型的方法雖然取得了很好的預(yù)測效果,但是同樣由于計算復(fù)雜度的關(guān)系,使其不能夠應(yīng)用于規(guī)模較大的網(wǎng)絡(luò)。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于針對已有鏈路預(yù)測方法的不足,提出一種基于分組遺傳算法的鏈路預(yù)測方法,以提高預(yù)測的精度和速度。
[0008]為實現(xiàn)上述目的,本發(fā)明的技術(shù)方案是:一種基于分組遺傳算法的鏈路預(yù)測方法,其特征在于:包含如下步驟:
[0009](I)參數(shù)的初始化:根據(jù)需要預(yù)測的具體網(wǎng)絡(luò)確定網(wǎng)絡(luò)的節(jié)點個數(shù)N、種群大小M=IOO及種群迭代次數(shù)P=200、移除的邊的比例Pp其中P,取(0,I)中的任何一個值;
[0010](2)確定訓(xùn)練集Et和測試集EP,得到觀測矩陣A°:載入網(wǎng)絡(luò)的連邊數(shù)據(jù)集,計算出整個網(wǎng)絡(luò)的連邊數(shù)n,從網(wǎng)絡(luò)的連邊數(shù)據(jù)集中隨機抽取[nXPj0.5]條邊,其中[]表示取整數(shù),這些邊所組成的集合即為測試集Ep,網(wǎng)絡(luò)的連邊數(shù)據(jù)集除去測試集Ep之外作為訓(xùn)練集Et ;先初始 化觀測矩陣A°為一個NXN的全零矩陣,依次遍歷訓(xùn)練集Et中的所有邊,并將這些邊在觀測矩陣A°中對應(yīng)的元素改成I ;
[0011](3)用分組遺傳算法在不同分辨率λ的情況下對觀測網(wǎng)絡(luò)進行社區(qū)劃分,其中λ依次取{0.1, 0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}中的一個;
[0012](4)根據(jù)步驟(3)中最后得到的劃分結(jié)果,計算測試集Ep以及原始網(wǎng)絡(luò)中不存在連邊的節(jié)點對之間連接的可能性大小,記為R值;
[0013](5)從步驟(4)中計算R值的那些邊中,按照R值從大到小的順序排列,挑選前m個R值大對應(yīng)的邊作為我們算法預(yù)測出來的邊;
[0014](6)計算這種預(yù)測算法的準確度。
[0015]上述的步驟(3)中用分組遺傳算法在不同分辨率λ的情況下對觀測網(wǎng)絡(luò)進行社區(qū)劃分的具體步驟如下:
[0016]分組遺傳算法用于社區(qū)劃分時染色體的編碼由兩個部分組成,一部分由N個標號對應(yīng)N個節(jié)點所在的社區(qū)標號,稱為目標部分;另一部分由這個社區(qū)劃分結(jié)構(gòu)中所有的社區(qū)標號的標號從小到大排列組成,稱為小組部分;
[0017]I)隨機生成M種初始的社區(qū)劃分結(jié)構(gòu)作為初始種群的染色體,依次遍歷每一個染色體中的每一個社區(qū),若社區(qū)內(nèi)有節(jié)點與其它節(jié)點不全連接,那么將這個節(jié)點移入一個新的社區(qū)內(nèi),直到所有的社區(qū)內(nèi)的節(jié)點之間都互相連接為止;
[0018]2)計算初始種群中各個染色體的模塊度密度函數(shù)值Da,按Da值的大小對染色體進行排序,并選擇Da值最大的那個染色體作為最優(yōu)染色體:
K 2XL{V.,V.)-2{\-A)L{V.y.)
[0019]=£-—-
卜iV,
I
[0020]其中Vi表示第i個社區(qū)內(nèi)的所有節(jié)點的集合,$表示不在第i個社區(qū)內(nèi)的節(jié)點的集合,UVi, Vi)表示第i個社區(qū)內(nèi)所含邊數(shù)的2倍,表示第i個社區(qū)與其他社區(qū)的連
接邊數(shù),IviI為第i個社區(qū)內(nèi)的節(jié)點個數(shù),K表示網(wǎng)絡(luò)中所含有的社區(qū)的個數(shù);
[0021]3)根據(jù)輪盤賭的方法隨機選擇兩個染色體作為父代I和父代2 ;
[0022]4)在所選擇的父代I的染色體的小組部分隨機選擇兩個社區(qū),將這兩個社區(qū)標號內(nèi)的所有社區(qū)標號取出,將這些社區(qū)內(nèi)的節(jié)點對應(yīng)的分組情況遺傳給子代,子代中其它還未分組的節(jié)點的分組情況與這些節(jié)點在父代2中的節(jié)點的分組情況相同;
[0023]5)調(diào)整分組情況:找出社區(qū)內(nèi)節(jié)點個數(shù)小于k最小值的那些社區(qū)內(nèi)的節(jié)點,并將這些節(jié)點分別移入與其連接邊數(shù)最多的社區(qū)內(nèi)部;
[0024]6)重復(fù)步驟3)至5)直到生成M個子帶;
[0025]7)重復(fù)步驟2)至6)直到迭代P代為止;
[0026]8)保存最優(yōu)染色體的社區(qū)劃分情況作為計算出來的社區(qū)劃分情況。
[0027]上述的步驟(4)中R值由以下公式計算得到:
[0028]
【權(quán)利要求】
1.一種基于分組遺傳算法的鏈路預(yù)測方法,其特征在于:包括如下步驟: (O參數(shù)的初始化:根據(jù)需要預(yù)測的具體網(wǎng)絡(luò)確定網(wǎng)絡(luò)的節(jié)點個數(shù)N、種群大小M=IOO及種群迭代次數(shù)P=200、移除的邊的比例已,其中已取(0,I)中的任何一個值; (2)確定訓(xùn)練集Et和測試集Ep,得到觀測矩陣A°:載入網(wǎng)絡(luò)的連邊數(shù)據(jù)集,計算出整個網(wǎng)絡(luò)的連邊數(shù)n,從網(wǎng)絡(luò)的連邊數(shù)據(jù)集中隨機抽取[ηΧ^+0.5]條邊,其中[]表示取整數(shù),這些邊所組成的集合即為測試集Ep,網(wǎng)絡(luò)的連邊數(shù)據(jù)集除去測試集Ep之外作為訓(xùn)練集Et ;先初始化觀測矩陣A°為一個NXN的全零矩陣,依次遍歷訓(xùn)練集Et中的所有邊,并將這些邊在觀測矩陣A°中對應(yīng)的元素改成I ; (3)用分組遺傳算法在不同分辨率λ的情況下對觀測網(wǎng)絡(luò)進行社區(qū)劃分,其中λ依次取{0.1, 0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}中的一個; (4)根據(jù)步驟(3)中最后得到的劃分結(jié)果,計算測試集Ep以及原始網(wǎng)絡(luò)中不存在連邊的節(jié)點對之間連接的可能性大小,記為R值; (5)從步驟(4)中計算R值的那些邊中,按照R值從大到小的順序排列,挑選前m個R值大對應(yīng)的邊作為我們算法預(yù)測出來的邊; (6)計算這種預(yù)測算法的準確度。
2.根據(jù)權(quán)利要求1所述的基于分組遺傳算法的鏈路預(yù)測方法,其特征在于:所述的步驟(3)中用分組遺傳算法在不同分辨率λ的情況下對觀測網(wǎng)絡(luò)進行社區(qū)劃分的具體步驟如下: 分組遺傳算法用于社區(qū)劃分時染色體的編碼由兩個部分組成,一部分由N個標號對應(yīng)N個節(jié)點所在的社區(qū)標號,稱為目標部分;另一部分由這個社區(qū)劃分結(jié)構(gòu)中所有的社區(qū)標號的標號從小到大排列組成,稱為小組部分; O隨機生成M種初始的社區(qū)劃分結(jié)構(gòu)作為初始種群的染色體,依次遍歷每一個染色體中的每一個社區(qū),若社區(qū)內(nèi)有節(jié)點與其它節(jié)點不全連接,那么將這個節(jié)點移入一個新的社區(qū)內(nèi),直到所有的社區(qū)內(nèi)的節(jié)點之間都互相連接為止; 2)計算初始種群中各個染色體的模塊度密度函數(shù)值Da,按Da值的大小對染色體進行排序,并選擇Da值最大的那個染色體作為最優(yōu)染色體:
3.根據(jù)權(quán)利要求1所述的基于分組遺傳算法的鏈路預(yù)測方法,其特征在于:所述的步驟(4)中R值由以下公式計算得到:
4.根據(jù)權(quán)利要求1所述的基于分組遺傳算法的鏈路預(yù)測方法,其特征在于:所述的步驟(6)中的準確度由以下公示計算得到:
【文檔編號】H04L12/24GK103905246SQ201410081745
【公開日】2014年7月2日 申請日期:2014年3月6日 優(yōu)先權(quán)日:2014年3月6日
【發(fā)明者】吳建設(shè), 焦李成, 王芳, 馬晶晶, 馬文萍, 李陽陽, 于昕 申請人:西安電子科技大學(xué)