本發(fā)明涉及網(wǎng)絡科學和鏈路預測領域,特別是指一種基于貝葉斯估計和種子節(jié)點鄰居集合的鏈路預測方法。
背景技術:
現(xiàn)實生活中的復雜系統(tǒng)可以使用復雜網(wǎng)絡進行研究,網(wǎng)絡中的節(jié)點代表復雜系統(tǒng)中的個體,連邊代表系統(tǒng)中節(jié)點之間的相互關系。鏈路預測是復雜網(wǎng)絡的重要研究領域之一,因為鏈路預測可以對網(wǎng)絡的演化過程中節(jié)點之間可能產(chǎn)生的鏈路進行預測,所有可以提前預判出網(wǎng)絡的演化趨勢,并且可以判斷出網(wǎng)絡中并不存在的“幽靈邊”,能夠更好的幫助研究人員研究網(wǎng)絡的內(nèi)在規(guī)律。
鏈路預測問題受到研究人員的廣泛關注。相比較而言,基于網(wǎng)絡結構的鏈路預測算法相對于基于網(wǎng)絡節(jié)點屬性信息的預測算法更加可靠、準確。共同鄰居(cn)算法是一種基于網(wǎng)絡結構的經(jīng)典鏈路預測算法,這種算法又被稱為結構等價算法,即節(jié)點之間有很多的共同鄰居節(jié)點,那么這兩個節(jié)點就越相似,在cn算法的基礎之上衍生出的鏈路預測算法有salton算法、jaccard算法、sorenson算法、hpi(大度節(jié)點有利指標)、hdi(大度節(jié)點不利指標)、lhn-i算法、aa算法和ra算法等等,其中salton算法又被稱為余弦相似性算法,sorenson算法常被用于生態(tài)學數(shù)據(jù)的研究,hpi算法常被用來分析新陳代謝網(wǎng)絡的拓撲相似性,aa算法的思想是度小的共同鄰居節(jié)點的貢獻大于度大的共同鄰居節(jié)點,ra算法是在aa算法的基礎之上,受資源分配過程的啟發(fā)而提出來的;基于路徑的相似性算法,主要包括了局部路徑指標(localpath,lp)、katz算法lhn-ii算法,這些算法克服了cn算法使用的網(wǎng)絡有效信息過少的缺點,從全局的角度利用網(wǎng)絡的有效信息,因此,一定程度上提高了鏈路預測的精確性。
上述的一些經(jīng)典算法主要考慮的是網(wǎng)絡中的拓撲結構特性,即兩個節(jié)點之間的網(wǎng)絡特征越相似,那么這兩個節(jié)點之間越有可能產(chǎn)生鏈路,這些方法在很多網(wǎng)絡中的仿真被證實是有效的,但是這些傳統(tǒng)的經(jīng)典算法大部分只考慮了沒有直接連邊的節(jié)點對之間長度為二的路徑的中間節(jié)點的度數(shù)信息,并沒有考慮長度大于二的路徑的中間節(jié)點的屬性,事實上網(wǎng)絡中的這些屬性對于節(jié)點對之間產(chǎn)生鏈路有很大的作用。傳統(tǒng)的基于種子節(jié)點鄰居集合的鏈路預測算法只是考慮了種子節(jié)點之間路徑長度等于2的路徑的中間節(jié)點,而且只是統(tǒng)計了這些長度為2的路徑的中間節(jié)點,對這些節(jié)點并沒有作出區(qū)分,所以無法區(qū)分這些中間節(jié)點的重要性。
技術實現(xiàn)要素:
為了克服現(xiàn)有的基于種子節(jié)點鄰居集合的鏈路預測方法只考慮路徑長度等于2和3的路徑的中間節(jié)點,并且,只考慮這些節(jié)點的度數(shù)而導致的預測精度不高的不足,本發(fā)明提出了一種準確度較高的基于貝葉斯估計和種子節(jié)點鄰居集合的鏈路預測方法。
本發(fā)明解決其技術問題所采用的技術方案是:
一種基于貝葉斯估計和種子節(jié)點鄰居集合的鏈路預測方法,包括以下步驟:
步驟一:建立網(wǎng)絡模型g(v,e),v代表網(wǎng)絡中的節(jié)點集合,e代表網(wǎng)絡中的連邊集合,網(wǎng)絡的節(jié)點總數(shù)記為n,用u表示網(wǎng)絡中節(jié)點對的集合,|u|=n(n-1)/2表示網(wǎng)絡中節(jié)點對的總數(shù);
步驟二:任意選取網(wǎng)絡中的兩個節(jié)點x和y作為種子節(jié)點,計算它們之間存在直接連邊的可能性:
其中,|e|表示網(wǎng)絡中實際存在的連邊總數(shù),a1表示x和y兩個節(jié)點之間存在直接連邊;
步驟三:計算網(wǎng)絡中任意兩個節(jié)點x和y之間不存在直接連邊的概率:
其中,a0表示x和y兩個節(jié)點之間不存在直接連邊;
步驟四:根據(jù)節(jié)點x和y之間長度為2或者3的路徑的一個中間節(jié)點vw的度信息,計算節(jié)點x和y之間產(chǎn)生連邊的概率:
p(a1|vw)=cw
其中,cw=2ew/kw(kw-1),kw表示節(jié)點vw的度數(shù),ew表示節(jié)點vw的kw個鄰居節(jié)點之間實際存在的邊數(shù);
步驟五:根據(jù)節(jié)點x和y之間長度為2或者3的路徑的一個中間節(jié)點vw的度信息,計算節(jié)點x和y之間不產(chǎn)生連邊的概率:
p(a0|vw)=1-cw;
步驟六:根據(jù)貝葉斯估計的方法,計算節(jié)點x和y之間長度為2和3的路徑的任意一個中間節(jié)點vw的似然值
步驟七:對節(jié)點x和y之間長度為2和3的路徑的每一個中間節(jié)點,重復步驟四至步驟六,計算每一個中間節(jié)點的似然值
步驟八:計算節(jié)點x和y的相似性分數(shù):
其中q表示節(jié)點x和y之間長度為2和3的所有路徑的中間節(jié)點的數(shù)量,mx表示節(jié)點x的一階和二階鄰居數(shù)量之和,x的一階鄰居指的是和x距離為1的節(jié)點,x的二階鄰居指的是和x距離為2的節(jié)點;my表示節(jié)點y的一階和二階鄰居數(shù)量之和;
步驟九:遍歷整個網(wǎng)絡,對任意兩個未連接節(jié)點,重復步驟二至步驟八,計算所有未連接節(jié)點對之間的相似性分數(shù),并按照相似性分數(shù)值從高到低排列順序,取前b個相似性分數(shù)值對應的節(jié)點對為預測連邊,其中,b為設定的一個正整數(shù),b≤d,d為網(wǎng)絡中所有未連接節(jié)點對的數(shù)量。
本發(fā)明的有益效果為:考慮網(wǎng)絡中兩個未連接節(jié)點之間路徑長度等于2或3的局部路徑,區(qū)分網(wǎng)絡中的中間節(jié)點的度數(shù)對產(chǎn)生鏈路的貢獻,提出了一種基于貝葉斯估計和種子節(jié)點鄰居集合的鏈路預測方法,鏈路預測準確度較高。
附圖說明
圖1為網(wǎng)絡中的任意一個不存在直接連邊的節(jié)點對之間的不同中間節(jié)點對這個節(jié)點對之間產(chǎn)生鏈路的影響。
具體實施方式
下面結合附圖對本發(fā)明做進一步說明。
參照圖1,一種基于貝葉斯估計和種子節(jié)點鄰居集合的鏈路預測方法,包括以下步驟:
步驟一:建立網(wǎng)絡模型g(v,e),v代表網(wǎng)絡中的節(jié)點集合,e代表網(wǎng)絡中的連邊集合,網(wǎng)絡的節(jié)點總數(shù)記為n,用u表示網(wǎng)絡中節(jié)點對的集合,|u|=n(n-1)/2表示網(wǎng)絡中節(jié)點對的總數(shù);
步驟二:任意選取網(wǎng)絡中的兩個節(jié)點x和y作為種子節(jié)點,即圖1中黑色圓點表示,計算它們之間存在直接連邊的可能性:
其中,|e|表示網(wǎng)絡中實際存在的連邊總數(shù),a1表示x和y兩個節(jié)點之間存在直接連邊;
步驟三:計算網(wǎng)絡中任意兩個節(jié)點x和y之間不存在直接連邊的概率,如圖1所示:
其中,a0表示x和y兩個節(jié)點之間不存在直接連邊;
步驟四:根據(jù)節(jié)點x和y之間長度為2或者3的路徑的一個中間節(jié)點vw(如圖1所示)的度信息,計算節(jié)點x和y之間產(chǎn)生連邊的概率:
p(a1|vw)=cw
其中,cw=2ew/kw(kw-1),kw表示節(jié)點vw的度數(shù),ew表示節(jié)點vw的kw個鄰居節(jié)點之間實際存在的邊數(shù);
步驟五:根據(jù)節(jié)點x和y之間長度為2或者3的路徑的一個中間節(jié)點vw(如圖1所示)的度信息,計算節(jié)點x和y之間不產(chǎn)生連邊的概率:
p(a0|vw)=1-cw;
步驟六:根據(jù)貝葉斯估計的方法,計算節(jié)點x和y之間長度為2和3的路徑的任意一個中間節(jié)點vw的似然值
步驟七:對節(jié)點x和y之間長度為2和3的路徑的每一個中間節(jié)點,重復步驟四至步驟六,計算每一個中間節(jié)點的似然值
步驟八:計算節(jié)點x和y的相似性分數(shù):
其中q表示節(jié)點x和y之間長度為2和3的所有路徑的中間節(jié)點的數(shù)量,mx表示節(jié)點x的一階和二階鄰居數(shù)量之和,x的一階鄰居指的是和x距離為1的節(jié)點,x的二階鄰居指的是和x距離為2的節(jié)點;my表示節(jié)點y的一階和二階鄰居數(shù)量之和;
步驟九:遍歷整個網(wǎng)絡,對任意兩個未連接節(jié)點,重復步驟二至步驟八,計算所有未連接節(jié)點對之間的相似性分數(shù),并按照相似性分數(shù)值從高到低排列順序,取前b個相似性分數(shù)值對應的節(jié)點對為預測連邊,其中,b為設定的一個正整數(shù),b≤d,d為網(wǎng)絡中所有未連接節(jié)點對的數(shù)量。
如上所述,本專利實施的具體實現(xiàn)步驟使本發(fā)明更加清晰。在本發(fā)明的精神和權利要求的保護范圍內(nèi),對本發(fā)明作出的任何修改和改變,都落入本發(fā)明的保護范圍。