陳廣福,王海波,連雁平
(1.武夷學院 數學與計算機學院,福建 武夷山 354300;2.認知計算與智能信息處理福建省高校重點實驗室(武夷學院),福建 武夷山 354300;3.湖南科技學院 信息工程學院,湖南 永州 425199)
真實世界大量的復雜系統可使用復雜網絡來描述和表示。在復雜網絡中節點代表實體而鏈接表示實體間關系。然而,由于構建真實復雜網絡時受復雜系統復雜性、噪聲及實驗條件等影響,所構建復雜網絡容易出現缺失鏈接及冗余鏈接。因此,如何尋找缺失鏈接是復雜網絡研究最有挑戰的問題。鏈路預測目標是根據已知網絡結構及其節點屬性等去推斷節點對形成鏈接的可能性[1]。此外,鏈路預測還具有以下兩個功能:1)它可以預測缺失鏈接包括無向、加權和方向鏈接以及識別虛假鏈接;2)根據當前網絡結構信息去演繹網絡演化過程。因此,鏈路預測廣泛應用于不同領域。例如在電子郵件系統,鏈路預測可阻止和過濾不相關及廣告郵件[2];在社交網絡,鏈路預測啟用信任度量保護用戶隱私信息[3];在生物網絡中,可用于預測蛋白質間先前未知相互作用,從而顯著降低經驗方法的成本等[4]。
現存大部分鏈接預測方法把有向網絡看作無向無權網絡而忽略鏈接方向,導致預測不準確。然而,大部分真實世界網絡是有向網絡,例如交通運輸網絡、食物網、生物網和在線社交網等。不同類型有向網絡中,鏈接方向表示不同含義。例如在食物網中,鏈接方向表示不同種群捕食關系;在線社交網絡中,鏈接方向代表不同用戶不對稱的關系;在交通運輸網中,鏈接方向表示站點間運輸頻率。因此,忽略鏈接方向信息會導致預測結果與實際結果存在著重大偏差[5]。現存大部分鏈路預測僅關注無向無權網絡,有向網絡的鏈接預測問題處于起步階段,因此如何挖掘和利用鏈接方向及有向網絡結構信息是個挑戰問題。近10 年來,一些研究人員關注有向網絡鏈路預測并取得一定進展。例如Schall等[6]提出基于閉合三元組比率的鏈路預測方法,結果表明該方法提高了有向網絡預測精度;Bütün等[7]擴展文獻[6]中的閉合三元組,提出基于模式有監督的閉合三元組方法;Zhang等[8]將無向無權局部相似度方法擴展到有向網絡,構建有向局部相似度方法,結果表明這些方法可有效預測缺失有向鏈接和鑒定虛假鏈接;Bütün等[9]在文獻[8]的基礎上進一步考慮權重和時序信息,改善算法性能。盡管以上方法預測準確度有明顯提高,但是這些方法僅直接利用鏈接方向或網絡局部結構,無法適用于稀疏網絡。此外,Shang等[10]提出有向網絡節點的相位動態算法來分析鏈接方向的作用,并證明雙向鏈接和單向鏈接在鏈路預測和網絡結構形成方面具有不同的作用;Zhang等[11]提出基于勢能理論不同模體預測指標,結果表明Bifan 預測準確度最優;Li等[12]在文獻[10-11]的基礎上利用零模型驗證互惠連接作用并考慮權重信息提出間接互惠感知加權(Indirect Reciprocity-aware Weighting,IRW)框架和直接互惠感知加權(Direct Reciprocity-aware Weighting,DRW)。以上研究僅討論互惠連接作用,然而當有向網絡可觀察鏈接較少時,無法捕獲更多網絡結構信息降低預測精度。此外,Pech等[13]提出線性最優化(Linear Optimization,LO)方法,該方法將節點鄰居的鄰居用線性和表示獲取網絡高階路徑信息;李勁松等[14]在文獻[13]的基礎上提出線性規劃方法,與LO 有相似作用。盡管以上方法在一定程度提高了有向網絡預測準確性,然而它們共同缺點是無法獲取有向網絡更多結構信息而敏感于稀疏網絡。針對以上問題,Chen等[15]提出聯合有向網絡局部和全局結構的非負矩陣分解鏈路預測方法彌補網絡稀疏性,然而該方法附加額外信息增加算法復雜度。
協同過濾方法是推薦系統中經典算法,Lee等[16]提出基于協同過濾和自包含協同過濾理論框架,再融合局部相似度方法構建一系列新鏈路預測方法。然而,該方法有兩個不足:首先,以上兩個框架僅考慮無向無權網絡而無法處理有向網絡問題;其次,該方法僅考慮一階相似度而無法捕獲更多網絡結構信息去處理網絡稀疏性和冷啟動問題。鏈路預測中冷啟動是指孤立節點及新節點缺乏足夠的網絡拓撲結構信息而難以與其他節點形成鏈接。本文受文獻[16]的啟發,將解決以下兩個問題:1)將協同過濾方法擴展到有向網絡;2)獲得更多有向結構信息去處理網絡稀疏性和冷啟動問題。具體地,首先采用隨機游走算法計算任意節點間的k步轉移概率矩陣去捕獲有向網絡全局結構信息。此外,隨機游走算法的優點是可捕獲有向網絡每個節點的信息及鄰居信息,從而有足夠網絡結構信息彌補稀疏性和冷啟動不足;再利用全局結構信息來替代自包含協同過濾框架中的一階相似度,構建高階自包含協同過濾(High-order Self-included Collaborative Filtering,HSCF)理論框架;再分別將三個有向局部相似度指標,即有向共同鄰居(Directed Common Neighbor,DCN)、有 向Adamic-Adar(Directed Adamic-Adar,DAA)和有向資源分配(Directed Resource Allocation,DRA)和一個三階Bifan 指標,與HSCF 框架相融合構建4 個有向網絡鏈路預測方法,分別為:HSCF-DCN、HSCF-DAA、HSCF-DRA和HSCF-Bifan。為驗證所提預測指標性能,在10 個真實世界有向網絡上與基準指標進行比較,結果表明所提指標預測精度獲得顯著提升。
給定一個有向無權網絡G(V,E),其中V=是節點集和E表示鏈接集,每條邊e∈E表示一個有序對e=(νi,νj),其中|V|是節點數,|E|是鏈接數。本文不允許多個鏈接和自循環存在。本文用X=[xij]N×N來表示G的鄰接矩陣,顯然xij≠xji。若G是有向無權網絡,如果節點νi→νj之間存在鏈接,則xij=1;否則xij=0。設表示任意節點i入度,則表示任意節點i出度以及Γout(i)和Γin(i)分別表示節點i的共同鄰居出度和入度。此外,本文用U=|V|(|V| -1) 2 表示任意有向網絡所有節點間的鏈接,顯然不存在鏈接集則為U-E。鏈路預測的目標是從不存在集合U-E中查找缺失鏈接。為了驗證算法性能,將觀測到的鏈路集E隨機分成訓練集ET和測試集EP兩部分,前者是已知信息而后者僅用于測試,顯然,ET∩EP=?和ET∪EP=E。
大部分真實有向網絡具有稀疏性,僅考慮局部結構是遠遠不夠的。本文啟用隨機游走算法[17]計算k步轉移概率矩陣來保持全局結構。隨機游走方法[17]核心思想是從有向網絡任意節點出發經過k步后到達另外一個節點概率。例如當k=3 時可以計算出任意節點間三階路徑去保持節點鄰域信息。設任意有向網絡鄰接矩陣X,轉移矩陣為表示任意節點i隨機游走k到達節點j,k步轉移矩陣定義如下:
為減小算法時間復雜度,本文分別令k=3和k=4 可得到三階和四階轉移矩陣,分別如下:
為方便理解式(2),設任意8 個節點和13 條有向鏈接,采用隨機游走方法獲得三階轉移矩陣的過程。從圖1 可觀察到原始有向網絡中節點1 和8、節點1 和7、節點1 和6 不存在有向鏈接。啟用隨機游走方法計算三階轉移矩陣再還原初始有向網絡時,節點1 和8、節點1 和7、節點1 和6 均產生有向鏈接,具體原因是節點1→2→8、節點1→3→7 和節點1→3→6 存在著三階鏈接,因此,通過隨機游走算法均產生有向鏈接。而節點1 和5 沒有產生鏈接的原因是節點1 和5 間不存在三階連接關系。最后,通過三階轉移矩陣還原初始網絡可觀察到節點間存在著三階有向鏈接均產生鏈接,表明通過該方法可捕獲更多網絡拓撲結構信息,提高預測有向鏈接準確度。
設任意無向無權網絡鄰接矩陣A∈Rn×n,自包含協同過濾(Self-included Collaborative Filtering,SCF)[16]理論框架定義如下:
其中:I是單位矩陣。
式(4)有以下兩個不足:1)該式僅適用于無向無權網絡,無法處理有向網絡鏈路預測問題;2)該式直接啟用鄰接矩陣而無法捕獲更多網絡結構信息。因此,本文將式(4)擴展到有向網絡,只需將式(2)~(3)替換式(4)中初始鄰接矩陣A,重寫式(4),有
其中:M3和M4分別是三階和四階相似度。
在式(5)的基礎上融合4 個經典有向網絡鏈路預測指標(DCN、DAA、DRA 和Bifan)分別構成4 個不同半局部有向網絡鏈路預測指標,以上指標同時可保持有向網絡局部和全局網絡結構信息。接下來介紹4 個經典有向網絡鏈路預測指標:
1)有向共同鄰居(DCN)指標。將共同鄰居方法擴展到有向網絡中,節點間共同鄰居越多相似的可能性就越高,定義如下:
2)有向Adamic-Adar(DAA)指 標。擴 展AA(Adamic-Adar)指標到有向網,其核心是抑制共同鄰居中較大度的節點,定義如下:
3)有向資源分配(DRA)指標。該指標擴展RA(Resource Allocation)到有向網,從資源分配角度出發,其核心思想是共同鄰居傳送資源數量與其出度成反比關系,定義如下:
4)勢能理論(Bifan)指標。該指標是基于勢能理論,聚類特性及同質性假設,篩選出最優模體Bifan,考慮節點三階路徑,定義如下:
將以上4 個指標融入式(5)中,并用可調參數α∈[0.1,0.9]控制所提所有指標三階和四階相似度在鏈路預測中所起的作用。所提4 個基于HSCF 鏈路預測指標定義如下:
本文所提的4 個指標具有平衡有向局部和全局結構信息的作用,有利于探索更多網絡結構信息提高預測精度。α用于平衡三階路徑和四階路徑所占比例:若α>0.5 表明四階路徑信息比例高于三階路徑信息;若α<0.5 表明三階路徑信息比例低于四階路徑信息。
本文所提HSCF-DCN、HSCF-DAA、HSCF-DRA 和HSCFBifan 指標計算AUC和F-score的偽碼如下所示。
輸入 任意有向網絡G(V,E),可調參數α。
輸出AUC和F-score。
步驟1 將任意有向網絡轉化為鄰接矩陣;
步驟2 按9∶1 的比例將原始網絡劃分為訓練集和測試集;
步驟3在G中遍歷所有節點;
步驟4 根據式(4)計算高階相似度矩陣;
步驟5 式(2)~(3)和式(5)融合構建高階自包含協同過濾框架;
步驟6 將式(6)~(9)替換式(5)中任意相似度S;
步驟7 式(10)~(13)是本文4 個指標預測概率矩陣;
步驟8 計算平均AUC和F-score。
所提4 個指標耗時主要是集中使用隨機游走方法計算三階和四階轉移矩陣。如算法1 所示,所提指標在步驟3~5耗時為O(Nl),l是步長。此外,在步驟7中,DCN、DAA、DRA和Bifan 耗時均為。因此,本文所提指標的時間復雜度為大規模網絡和稀疏網絡中l是有限長度及?N,因此時間復雜度為O(n)。
本文使用受試者工作特征(Receiver Operating Characteristic,ROC)曲線下方面積AUC(Area Under Curve of ROC)[18]和F分數(F-score)[19]兩個度量去衡量所有指標性能。具體定義如下:
1)AUC可以理解為在測試集EP中的鏈接分數大于隨機選擇一個不存在集U-E中鏈接分數概率。獨立比較n次,若有n1次測試集中鏈接的分數值大于不存在集中的鏈接分數,有n2次兩分數值相等,定義如下:
2)F-score度量是召回率(Recall)和精確率(Precision)綜合性度量,可更全面和有效評價算法性能,定義如下:
本文采用10 個真實世界有向網絡評價所有方法的性能,其拓撲結構特征統計在表1 中。其中,N=|V|是節點數,M=|E|是鏈接數,和分別表示節點最大入度和出度,平均度是網絡總邊數與節點數的比值,稀疏率表示有向網絡稀疏程度。10 個有向網絡的數據集介紹如下:
表1 10個真實世界有向網絡的拓撲結構特征統計Tab.1 Topological feature statistics of 10 real directed networks
1)國際象棋網絡CHE(CHEss)[20]。該網絡是國際象棋比賽的結果,由7 301 節點和65 053 條鏈接構成,節點表示一個棋手,有向邊表示一個游戲。
2)維基百科網絡WPL(Wiki Pedia Links)[20]。該網絡收集于低地撒克遜語維基百科,由10 453 節點和140 501 條鏈接構成,節點表示維基百科文章,有向邊代表維基鏈接,即一個維基中的超鏈接。
3)搜索引擎網絡CAL(CALifornia)。該網絡通過hub/authority 算法去搜索引擎查詢“California”而構建,由9 664 節點和16 150 條鏈接構成。
4)信任網絡AG(AdvoGato)[21]。AG 是一個為自由軟件開發者提供在線社區平臺的信任網絡,由6 541 節點和51 127 條鏈接構成,節點表示用戶,有向邊表示節點間的信任關系。
5)論文引用網絡SM(SciMet)[22]。該網絡是關于網絡理論與實驗引用網絡,它由3 084 個節點和10 412 條鏈接組成。
6)航空網絡OPE(OPEnflights)[20]。該網絡是世界各機場之間的航班數據集,節點表示機場,有向鏈接表示從一個機場到另一個機場航班。
7)蛋白質交互網絡FIG(FIGeys)[20]。該網絡是人類蛋白質之間相互作用的網絡,節點表示蛋白質,方向鏈接表示蛋白質間交互關系。
8)圖書館與信息科學在線詞典ODL(ODLis)[22]。它是各類圖書館和信息專業超文本參考資源。
9)信任網絡BA(Bitcoin Alpha)[22]。它是在Bitcoin Alpha平臺上人與人信任關系,節點表示匿名用戶,方向鏈接表示匿名用戶間信任關系。
10)英語維基百科WV(Wiki Vote)[20]。該網絡收集于英語維基百科用戶網絡,在管理員選舉中相互投了贊成票和反對票,節點表示單個用戶,有向邊表示投票。
為驗證所提指標性能,本文啟用12 個基準指標與之比較。12 個基準指標介紹如下:
1)基于有向局部相似度(DCN、DAA 和DRA)[8]和基于勢能理論Bifan,已在1.4 節作了詳細說明。
2)線性最優化(LO)[13]。該指標假設兩個節點之間存在鏈接可能性可以通過相鄰節點線性求和來展開。
其中:α是可調參數。
3)大度節點有利指標(Hub Promoted Index,HPI)[23]。該指標表示代謝網絡中兩節點端點的相似程度。
4)Jaccard 指標[23]。該指標表示是兩個頂點共同鄰居數比上兩節點所有鄰居數之和,其定義如下:
5)局部路徑(Local Path,LP)指標[23]。該指標擴展共同鄰居指標,該指標考慮三階路徑因素捕獲高階和二階路徑。
其中:α是可調參數。
6)間接互惠感知加權(Indirect Reciprocity-aware Weighting,IRW)指標與經典有向網絡指標(DCN、DAA、DRA和Bifan)構建的新指標,分別為IRW-DCN、IRW-DAA、IRWDRA 和IRW-Bifan。
本文實驗硬件平臺為Intel Core i5-6500 CPU 臺式電腦,主頻3.20 GHz、內存8 GB 和操作系統Windows 10,所有方法使用Matlab R2016b 實現。
本文通過4 個實驗評估所提指標性能:1)啟用AUC 和F-score度量全面評估基準指標和本文所提指標性能;2)基準指標和本文所提指標魯棒性對比;3)對可調參數敏感性分析;4)所提指標在10 個真實有向網絡上運行時間對比。
對于實驗一,將原始有向網絡按9∶1 的比例隨機劃分為訓練集和測試集,再使用AUC和F-score度量評估所有指標性能,其實驗結果記錄在表2~3中,并觀察到以下幾個現象:
1)所提指標在所有有向網絡上表現出良好預測準確度。由表2 可知,在絕大部分有向網絡上,本文4 個指標均獲得最優性能,且相較于基準指標,HSCF-DCN、HSCF-DAA、HSCFDRA 和HSCF-Bifan的AUC分別平均提高了8.16%、8.85%、9.64%和10.33%;由表3 可知,所提指標在所有數據集上均獲得高質量性能,且相較于基準指標,HSCF-DCN、HSCFDAA、HSCF-DRA 和HSCF-Bifan的F-score分別平均提高了66.62%、68.32%、68.95%和76.18%。以上表明捕獲更高階路徑信息有助于改善有向網絡預測精度。
2)表2中,與經典有向局部相似度(DCN、DAA、DRA、Jaccard 和HPI)相比,所提指標的預測精確有顯著提高。例如在數據集SM、OPE、CHE 和WPL中,所提最優指標HSCFDRA 與基準最優指標DRA 相比,AUC分別提升了10.71%、2.47%、21.80%和6.77%。經典方法獲得低質量性能主要原因是它們考慮有向網絡局部結構信息而敏感于稀疏性。此外,與半局部指標LP 和Bifan 相比,所提指標依然勝過LP和Bifan。例如在數據集BA 和ODL中,所提最優指標HSCFDRA 與基準最優指標Bifan 相比,AUC分別提高了4.83%和1.37%。它們獲得低預測精度是由于LP 和Bifan 僅考慮節點三階路徑或節點鄰居的節點信息。與全局指標LO 相比,所提指標全面勝出,尤其在數據集CHE、BA、ODL 和CAL 中表現特別突出。例如在CAL,所提最優指標HSCF-Bifan 與LO相比,AUC提升了13.96%。表明全局指標在稀疏網絡采集不到更多有用結構信息,而所提指標采用局部加全局更有利于捕獲更多網絡結構信息。所提指標與基于互惠感知加權機制指標相比,所提指標依然優于它們,然而在WV 數據集,Bifan 性能最佳,表明該指標可有效利用三階路徑信息。
表2 不同指標下的AUC對比Tab.2 Comparison of AUC under difference indices
3)F-score是召回率和精確率加權平均調和,因此該度量更能全面評價算法性能。由于數據不平衡導致召回率和精確率相互矛盾,啟用F-score可更客觀評估所有指標性能。由表3 可觀察到所提指標在10 個數據集中都獲得高質量性能。與經典有向局部相似度(DCN、DAA、DRA、Jaccard 和HPI)相比,所提指標有顯著提升。例如在數據集SM 和FIG,所提最優指標HSCF-Bifan 與基準最優指標HPI 相比,F-score分別提升了14.12%和89.65%。基于互惠感知加權機制方法比較接近本文指標性能,主要原因是前者方法采用權重機制捕獲更多互惠鏈接信息,尤其IRW-Bifan 最接近本文4 個指標的主要原因是該指標利用權重機制捕獲更多互惠鏈接及融合三階路徑信息,例如在數據集BA 和ODL;而半全局指標LP和Bifan 獲得較低綜合性能主要原因是僅考慮三階路徑信息;全局指標LO 比較接近本文所提指標性能,是由于LO 采集網絡所有節點路徑,有穩定預測精度。
表3 不同指標下的F-score對比Tab.3 Comparison of F-score under difference indices
4)所提指標通過啟用隨機游走方法捕獲節點三階和四階路徑信息,捕獲更多網絡結構信息應對冷啟動以及稀疏性問題。例如在數據集CAL中,稀疏率達到0.000 2,意味著網絡中存在大量的孤立節點,從實驗結果來看,所提指標HSCF-Bifan的AUC達到0.996,綜合指標F-score也達到最優,表明該指標可有效處理冷啟動以及稀疏性問題。
實驗二測試基準指標和本文所提指標魯棒性,按一定比例隨機劃分原始網絡,設訓練集比率為0.3、0.5 和0.7。當訓練集比率為0.3 時意味著測試集比率高達0.7,網絡處于極度稀疏狀態。實驗結果記錄在表4~5,可觀察到以下兩個現象:
1)從表4 可觀察到所提4 個指標在所有數據集上在不同訓練下性能優于基準指標,表明所提指標具有良好的魯棒性。當訓練集比率從0.7 降至0.3,各個指標的AUC也隨之下降。尤其在數據集SM、PB、CAL 和WV中,所提指標在不同訓練集下AUC波動不明顯,其他指標如LO 和LP 出現顯著的波動,表明所提指標在以上數據集捕獲更多網絡結構信息來彌補稀疏性不足。此外,當可訓練集比率為0.7時,10 個有向網絡處于極度稀疏狀態,然而所提指標依然最優,尤其在數據集SM、PB、CAL 和WV中AUC和F-score保持不變,表明所提方法魯棒于稀疏網絡。
表4 不同訓練集比率對應的AUCTab.4 AUC corresponding to different training dataset rate
2)從表5 可觀察到所提指標在所有數據集上性能明顯優于基準方法,表明所提指標同時保持局部和全局信息捕獲更多網絡結構信息彌補稀疏性。基于局部相似度(DCN、DAA 和DRA)性能最差,當可訓練集比率增加時,F-score波動顯著主要原因是無法捕獲更多局部結構信息。LO 和IRW-Bifan 最接近本文指標,兩個指標本質是考慮三階路徑信息可獲得更多網絡結構信息。半局部指標LP 表現并不理想,原因是可觀察鏈接減少時該指標無法捕獲更多二階和三階路徑信息。
續表
實驗三測試所提指標的運行時間,運行10 次的實驗結果記錄在圖2 中。圖2(a)是節點小于5 000 的有向網絡,所提4 個指標耗時均小于250 s,表明所提指標適用于小型網絡。圖2(b)是節點數大于5 000,其中WPL 是大規模網絡,HSCF-DRA 運行時間僅略高于500 s,HSCF-DCN 和HSCFDAA 略高于1 000 s,HSCF-Bifan 指標最為耗時。然而在CAL數據集中(節點數為9 664),本文指標均小于500 s。綜上所述,所提指標可適用于大中規模網絡。
最后,進行可調參數敏感性分析。由于0.1 ≤α≤0.9,實驗中設α為0.1、0.3、0.5、0.7 和0.9,其實驗結果 見圖3~4。α的作用是平衡三階和四階路徑信息的貢獻。圖3是不同α所對應的AUC,可觀察到在數據集SM、ODL、WPL、AG、CAL 和WV中,α=0.1時AUC最優即算法性能最佳,隨著α增加,AUC隨著下降,表明所提指標在α=0.1 時可捕獲更多網絡結構信息。而在數據集BA中,當α=0.5時AUC獲得最優。在數據集FIG中,觀察到當α=0.3時,HSCF-DCN、HSCFDAA 和HSCF-DRA 三個指標AUC最優;而當α=0.1 時HSCFBifan 指標的AUC 值最佳。
圖4 中不同α對應F-score值,F-score是綜合全面評估度量。同理與AUC一致,當α=0.1時,數據集SM、FIG、ODL、WPL、CHE、AG、CAL 和WV 對應的F-score值最優;α=0.5時,數據集OPE 對應的F-score值最優,表明所提指標具有良好的穩定性。在數據集BA中,觀察到當α=0.3時,HSCF-DAA、HSCF-DRA 和HSCF-BifanHSCF-Bifan 的性能最優;當α=0.1時,HSCF-DCN 指標F-score值最優。
大部分現存的鏈路預測方法僅關注無向無權網絡忽略有向網絡方向鏈接和有向結構,難以同時保持有向網絡局部和全局結構信息是個挑戰問題,為此,本文提出高階自包含協同過濾鏈路預測指標,該指標可以在保持局部結構信息基礎上捕獲更多全局結構信息。首先啟用隨機游走方法計算高階相似度,再將三階和四階相似度矩陣融合協同過濾框架構建高階自包含協同過濾預測框架,并將DCN、DAA、DRA和Bifan 四個指標融合以上框架構建有向網絡鏈路預測指標。在10 個真實世界有向網絡上與基準指標比較,結果表明所提指標性能優于基準指標。
在將來工作中,嘗試將有向網絡社區結構融合本文框架中,有助于理解有向網絡的演化規律。此外,進一步優化該框架處理加權網絡鏈路預測問題。