本發(fā)明屬于網(wǎng)絡(luò)科學(xué)和鏈路預(yù)測技術(shù)領(lǐng)域,尤其涉及一種基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法。
背景技術(shù):
鏈路預(yù)測是將復(fù)雜網(wǎng)路與信息科學(xué)聯(lián)系起來的重要橋梁之一,有重要的實(shí)際應(yīng)用價(jià)值。鏈路預(yù)測是指通過已知網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)等信息預(yù)測網(wǎng)絡(luò)中尚未鏈接的兩個(gè)節(jié)點(diǎn)之間產(chǎn)生鏈接的可能性。鏈接包括未知和未來鏈接兩種,未知鏈接指的是目前的網(wǎng)絡(luò)中本來存在但是由于某種原因缺失的鏈接,未來鏈接指的是目前的網(wǎng)絡(luò)中沒有但是在將來有可能出現(xiàn)的鏈接。目前,基于局部拓?fù)湫畔⒌逆溌奉A(yù)測算法由于算法復(fù)雜度低,計(jì)算簡便,已經(jīng)成為主流的方法。例如現(xiàn)有的共同鄰居算法(cn)、adamic-adar算法(aa)、資源分配算法(ra),這些算法都是基于局部拓?fù)湫畔⑦M(jìn)行鏈路預(yù)測的,但是它們沒有考慮到社團(tuán)結(jié)構(gòu)對(duì)鏈路預(yù)測的影響,因此預(yù)測的準(zhǔn)確度不高?,F(xiàn)在已有一些研究者把社團(tuán)結(jié)構(gòu)加入到鏈路預(yù)測中,他們認(rèn)為處在同一個(gè)社團(tuán)的節(jié)點(diǎn)相似性比較高,處在不同社團(tuán)的節(jié)點(diǎn)相似性相對(duì)低。然而,他們只考慮了社團(tuán)內(nèi)部的節(jié)點(diǎn)之間的關(guān)系,而忽略了社團(tuán)之間的相似性,且這些方法都是在共同鄰居存在的前提下定義的,當(dāng)處于不同社團(tuán)的兩個(gè)節(jié)點(diǎn)之間沒有共同鄰居時(shí),則認(rèn)為這兩個(gè)節(jié)點(diǎn)的相似性為0,因此這些算法的預(yù)測準(zhǔn)確性比較低。
綜上所述,現(xiàn)有技術(shù)存在的問題是:目前基于局部拓?fù)湫畔⒌逆溌奉A(yù)測方法預(yù)測準(zhǔn)確度不高。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)存在的問題,本發(fā)明提供了一種基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法。
本發(fā)明是這樣實(shí)現(xiàn)的,一種基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法,所述基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法利用節(jié)點(diǎn)之間局部拓?fù)湫畔⒂?jì)算節(jié)點(diǎn)之間的相似性值。當(dāng)兩個(gè)節(jié)點(diǎn)處于同一個(gè)社團(tuán)時(shí),社團(tuán)相關(guān)性為最大值,當(dāng)兩個(gè)節(jié)點(diǎn)處于不同社團(tuán)時(shí),在考慮局部拓?fù)湫畔⒌幕A(chǔ)上,將節(jié)點(diǎn)之間的相似性轉(zhuǎn)化為兩個(gè)社團(tuán)之間的相關(guān)性,然后計(jì)算兩個(gè)社團(tuán)之間的相關(guān)性值。最后綜合考慮局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的影響進(jìn)行鏈路預(yù)測;
所述基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法在無權(quán)無向的復(fù)雜網(wǎng)絡(luò)中進(jìn)行;用a表示鄰接矩陣,如果節(jié)點(diǎn)i和節(jié)點(diǎn)j有聯(lián)系,那么a的第i行第j列上的值為aij=1,否則aij=0;節(jié)點(diǎn)的度被定義為網(wǎng)絡(luò)中所有與該節(jié)點(diǎn)直接相連的節(jié)點(diǎn)的個(gè)數(shù),節(jié)點(diǎn)i的度通常被記為ki,可以用公式
進(jìn)一步,所述基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法包括以下步驟:
步驟一,建立網(wǎng)絡(luò)模型g(v,e),v={v1,v2,...vn}為網(wǎng)絡(luò)中的節(jié)點(diǎn)集合,e={(vx,vy)|vx∈v,vy∈v}代表邊的集合,基于網(wǎng)絡(luò)模型生成鄰接矩陣a,其中
步驟二,網(wǎng)絡(luò)被劃分成四個(gè)社團(tuán),記為c={c1,c2,c3,c4},其中v(c1)={1,2,3,4},v(c2)={5,6,7,8,9},v(c3)={10,11,12,13},v(c4)={14,15,16,17};
步驟三,將網(wǎng)絡(luò)中所有
步驟四,利用候選節(jié)點(diǎn)對(duì)之間的局部拓?fù)湫畔⒂?jì)算步驟三所述的節(jié)點(diǎn)對(duì)之間的相似性值,因?yàn)檫@兩對(duì)節(jié)點(diǎn)都沒有共同鄰居,所以用局部拓?fù)湫畔⒂?jì)算出來的兩對(duì)節(jié)點(diǎn)的相似性值都為0;
步驟五,計(jì)算步驟三所述的節(jié)點(diǎn)對(duì)所在社團(tuán)的社團(tuán)相關(guān)性;
步驟六,綜合考慮局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性對(duì)節(jié)點(diǎn)相似性的影響,重新計(jì)算候選節(jié)點(diǎn)對(duì)之間的相似性值su,v。例如采用公式
步驟七,重復(fù)步驟四至步驟六,計(jì)算每個(gè)節(jié)點(diǎn)對(duì)的相似性值,并將相似性值按降序排列,構(gòu)建相似性列表;
步驟八,根據(jù)某種相似性準(zhǔn)則,獲取相似性列表中前n個(gè)節(jié)點(diǎn)對(duì),這些排在前n個(gè)的節(jié)點(diǎn)對(duì)即為本鏈路預(yù)測方法得出的最有可能在未來產(chǎn)生連邊的節(jié)點(diǎn)對(duì),其中n為正整數(shù)。
進(jìn)一步,所述步驟五中具體過程如下:
(1)分別找到候選節(jié)點(diǎn)5和10所在的社團(tuán)c2和c3;
(2)計(jì)算v(c2)={5,6,7,8,9},γ(c2)={3,10},因此γ(c2)∪v(c2)={3,5,6,7,8,9,10};
(3)同上,求出γ(c3)∪v(c3)={4,7,10,11,12,13};
(4)計(jì)算社團(tuán)c2和c3的社團(tuán)相關(guān)性為
(5)對(duì)(4)中的社團(tuán)相關(guān)性進(jìn)行歸一化,結(jié)果為
同理,可得到節(jié)點(diǎn)10和節(jié)點(diǎn)14分別屬于社團(tuán)c3和社團(tuán)c4,這兩個(gè)社團(tuán)歸一化之后的社團(tuán)相關(guān)性為
本發(fā)明的另一目的在于提供一種利用所述基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法預(yù)測鏈路。
本發(fā)明選取三個(gè)真實(shí)的復(fù)雜網(wǎng)絡(luò)數(shù)據(jù)集,如下所示:
(1)爵士音樂家合作網(wǎng)絡(luò)(jazz):該網(wǎng)絡(luò)中,每一個(gè)節(jié)點(diǎn)代表一個(gè)音樂家,邊代表兩個(gè)音樂家之間有過合作。該網(wǎng)絡(luò)中總共有198個(gè)節(jié)點(diǎn),2742條連邊。
(2)美國航空公司(usair):該網(wǎng)絡(luò)中,每一個(gè)節(jié)點(diǎn)代表一個(gè)機(jī)場,邊代表這兩個(gè)機(jī)場之間有航線。該網(wǎng)絡(luò)中總共包含332個(gè)節(jié)點(diǎn),2126條連邊。
(3)科學(xué)家合作網(wǎng)絡(luò)(netscience)[45]:該網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)代表一個(gè)科學(xué)家,邊代表兩個(gè)科學(xué)家合作發(fā)表過文章,本文考慮的是無權(quán)無向圖。該網(wǎng)絡(luò)中總共包含1461個(gè)節(jié)點(diǎn),2742條連邊。
分別用本發(fā)明提出的方法、cn、aa和ra算法在選取的真實(shí)網(wǎng)絡(luò)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),得到各個(gè)數(shù)據(jù)集上每個(gè)方法下的precision值。
precision表示的是將計(jì)算的相似性值按照降序排列之后,排名前l(fā)位中預(yù)測準(zhǔn)確的邊所占的比例,一般l取100,公式如下所示:
實(shí)驗(yàn)結(jié)果如下表所示:
本發(fā)明提出的方法與其它經(jīng)典算法的precision值
本發(fā)明的優(yōu)點(diǎn)及積極效果為:在考慮局部拓?fù)湫畔⒌幕A(chǔ)上,進(jìn)一步挖掘了社團(tuán)之間的相關(guān)性,避免了預(yù)測結(jié)果中有太多相似性為0的節(jié)點(diǎn)對(duì)。從上表可以看出,相比于cn、aa和ra算法,本發(fā)明提出的方法的預(yù)測準(zhǔn)確度有所提高。
附圖說明
圖1是本發(fā)明實(shí)施例提供的基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法流程圖。
圖2是本發(fā)明實(shí)施例提供的基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法實(shí)現(xiàn)流程圖。
圖3是本發(fā)明實(shí)施例提供的場景示意圖;
圖中:實(shí)線表示社團(tuán)內(nèi)節(jié)點(diǎn)之間的聯(lián)系;虛線表示社團(tuán)間節(jié)點(diǎn)之間的聯(lián)系。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作詳細(xì)的描述。
本發(fā)明是在無權(quán)無向的復(fù)雜網(wǎng)絡(luò)中進(jìn)行。用a表示鄰接矩陣,如果節(jié)點(diǎn)i和節(jié)點(diǎn)j有聯(lián)系,那么a的第i行第j列上的值為aij=1,否則aij=0。節(jié)點(diǎn)的度被定義為網(wǎng)絡(luò)中所有與該節(jié)點(diǎn)直接相連的節(jié)點(diǎn)的個(gè)數(shù),節(jié)點(diǎn)i的度通常被記為ki,可以用公式
定義:γ(x)為x的鄰居集合,其中x可以是節(jié)點(diǎn)也可以是社團(tuán)。
如圖1所示,本發(fā)明實(shí)施例提供的基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法包括以下步驟:
s101:利用節(jié)點(diǎn)之間局部拓?fù)湫畔⒂?jì)算節(jié)點(diǎn)之間的相似性值;
s102:當(dāng)兩個(gè)節(jié)點(diǎn)處于同一個(gè)社團(tuán)時(shí),社團(tuán)相關(guān)性為最大值,當(dāng)兩個(gè)節(jié)點(diǎn)處于不同社團(tuán)時(shí),在考慮局部拓?fù)湫畔⒌幕A(chǔ)上,將節(jié)點(diǎn)之間的相似性轉(zhuǎn)化為兩個(gè)社團(tuán)之間的相關(guān)性,然后計(jì)算兩個(gè)社團(tuán)之間的相關(guān)性值;
s103:綜合考慮局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的影響進(jìn)行鏈路預(yù)測。
下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作進(jìn)一步的描述。
如圖2所示,本發(fā)明實(shí)施例提供的基于局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性的鏈路預(yù)測方法包括以下步驟:
步驟一:建立網(wǎng)絡(luò)模型g(v,e),v={v1,v2,...vn}為網(wǎng)絡(luò)中的節(jié)點(diǎn)集合,e={(vx,vy)|vx∈v,vy∈v}代表邊的集合,基于網(wǎng)絡(luò)模型生成鄰接矩陣a,其中
步驟二:該網(wǎng)絡(luò)被劃分成四個(gè)社團(tuán),記為c={c1,c2,c3,c4},其中v(c1)={1,2,3,4},v(c2)={5,6,7,8,9},v(c3)={10,11,12,13},v(c4)={14,15,16,17};
步驟三:將網(wǎng)絡(luò)中所有
步驟四:利用候選節(jié)點(diǎn)對(duì)之間的局部拓?fù)湫畔⒂?jì)算步驟三所述的節(jié)點(diǎn)對(duì)之間的相似性值,因?yàn)檫@兩對(duì)節(jié)點(diǎn)都沒有共同鄰居,所以用局部拓?fù)湫畔⒂?jì)算出來的兩對(duì)節(jié)點(diǎn)的相似性值都為0;
步驟五:計(jì)算步驟三所述的節(jié)點(diǎn)對(duì)所在社團(tuán)的社團(tuán)相關(guān)性,過程如下:
(1)分別找到候選節(jié)點(diǎn)5和10所在的社團(tuán)c2和c3;
(2)計(jì)算v(c2)={5,6,7,8,9},γ(c2)={3,10},因此γ(c2)∪v(c2)={3,5,6,7,8,9,10};
(3)同上,求出γ(c3)∪v(c3)={4,7,10,11,12,13};
(4)計(jì)算社團(tuán)c2和c3的社團(tuán)相關(guān)性為
(5)對(duì)(4)中的社團(tuán)相關(guān)性進(jìn)行歸一化,結(jié)果為
同理,可得到節(jié)點(diǎn)10和節(jié)點(diǎn)14分別屬于社團(tuán)c3和社團(tuán)c4,這兩個(gè)社團(tuán)歸一化之后的社團(tuán)相關(guān)性為
步驟六:綜合考慮局部拓?fù)湫畔⒑蜕鐖F(tuán)相關(guān)性對(duì)節(jié)點(diǎn)相似性的影響,重新計(jì)算候選節(jié)點(diǎn)對(duì)之間的相似性值su,v。例如采用公式
步驟七:重復(fù)步驟四至步驟六,計(jì)算每個(gè)節(jié)點(diǎn)對(duì)的相似性值,并將相似性值按降序排列,構(gòu)建相似性列表;
步驟八:根據(jù)某種相似性準(zhǔn)則,獲取相似性列表中前n個(gè)節(jié)點(diǎn)對(duì),這些排在前n個(gè)的節(jié)點(diǎn)對(duì)即為本鏈路預(yù)測方法得出的最有可能在未來產(chǎn)生連邊的節(jié)點(diǎn)對(duì),其中n為正整數(shù)。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。