一種SimRank迭代刪點框架的上界計算方法
【專利摘要】一種SimRank迭代刪點框架的上界計算方法,其特征在于,包括:(1)通過先驗信息,建立超點,使得每個點與超點的相似度值不小于此點和其他點的相似度值;(2)通過以上特性,預估每個點與超點的相似度作為該點上界,在每次迭代中,預估值會不斷減小,上界收斂。本發明方法snbUB的效果比現有技術geoUB的效果持續時間長,每輪迭代snbUB都能保持刪點,并且snbUB的刪點力度比geoUB的刪點力度更大。本發明的上界不僅易于計算且十分逼近真實值。本發明可廣泛應用于競價搜索排名、網絡垃圾監測和模式匹配等網絡結構中結點相似度計算領域。
【專利說明】
一種S i mRank迭代刪點框架的上界計算方法
技術領域
[0001 ] 本發明涉及SimRank計算領域,尤其涉及在SimRank迭代批量刪點框架的上界計算 方法。
【背景技術】
[0002] SimRank是一種普適的網絡節點結構相似度度量模型,廣泛應用于競價搜索排名、 網絡垃圾監測和模式匹配等領域。其基本思想可以概括為兩個節點的鄰居越相似,這兩個 節點越相似;即兩個節點的相似度由其鄰居節點的相似度決定。SimRank可以被廣泛應用于 具有一定關聯的、可以被抽象化為網絡模型的領域中:例如在社交網絡中,SimRank可以被 用于相似用戶識別和朋友推薦,進而輔助鏈路預測和跟蹤信息傳播等。
[0003] 因其重要的作用,SimRank的計算一直是研究的熱點問題之一。起初的研究焦點集 中在SimRank的全匹配問題。給定一個含有η個節點,平均度為d的網絡G,SimRank全匹配問 題需要計算出網絡中所有點對,即η X η對的SimRank值。SimRank的提出者Glen Jeh和 Jennifer Widom教授設計了首個基于迭代的SimRank全匹配算法(文獻:G.Jeh and J.ffidom.SimRank:a measure of structural-context similarity. In Proceedings of the Eighth ACM SIGKDD International Conference onKnowledge Discovery and Data Mining,July 23-26,2002,Edmonton,Alberta,Canada,pages 538_543,2002) D該算法在處 理SimRank全匹配問題上的時空開銷分別為0(kd2n2)和0(n 2),其中k是迭代次數。 D. Lizorkin等人通過部分中間值記錄的方式改進了算法,其時間開銷為0(kdn2)(文獻: D.Lizorkin,P.Velikhov,M.N.Grinev,and D.Turdakov.Accuracy estimateand optimization techniques for SimRank computation. Very Large DataBases Journal, 19(1):45-66,2010)。(文獻 W.Yu,X.Lin, and W.Zhang.Towards efficient SimRank computation onlarge networks. In 29th IEEE International Conference on Data Engineering,2013,Brisbane,Australia,April 8-12,2013,pages 601-612,2013)利用更 精細的記錄進一步加快了計算速度。然而隨著現實世界數據量的激增,SimRank的全匹配計 算在時間和空間上的開銷都過于巨大而無法滿足現實應用。因此,對SimRank的研究轉移到 了計算前K個最相似的點對上來,即Top-k匹配問題。大部分Top-k匹配算法首先需要用戶自 定義閾值,然后將SimRank值大于該閾值的點對作為結果返回。然而現實中選定一個合適 的、滿足盡可能包含所需最相似點對,又最大程度排除非相似點對的閾值是非常困難的。
[0004] 最近,文獻W.Tao,M.Yu,and G.Li .Efficient top-k SimRank-based similarity join· The Proceedings of the VLDB Endowment,8(3): 317-328,2014提出了一種不需要 閾值的Top-k算法SRK-JOIN。該算法首先定義了二次相遇概率:從某點同時出發的兩條隨機 路徑再次相遇的概率。利用二次相遇概率,每個點可以被編碼成一個多維的向量,而兩點之 間的S imRank值即為相應的兩個向量的點積。為了得到Top-k點對,SRK-J01N需要對相應點 的所有路徑進行兩次掃描:第一次篩選出含有2k個不同候選點的點集,第二次得到Top-k點 對。盡管SRK-J0IN比原先的算法在效率上優化了許多,我們仍然發現了很多尚未完善、有待 改進的地方:(1)為了將每個點編碼為向量,SRK-JOIN需要對每個點都計算二次相遇概率, 然而在實驗中我們發現對具有較高入度的點計算二次相遇概率是非常耗時的,因為這一過 程的時間復雜度和點入度的k指數冪程正比關系;(2)在得到了候選點后,SRK-J0IN需要對 候選點的所有路徑再次進行掃描,兩次掃描之間含有較大的計算冗余:一些在第一次掃描 中計算出的中間量可以被用于輔助第二次掃描。
【發明內容】
[0005]本發明基于一種SimRank的迭代批量刪點框架,該框架將SimRank的計算過程以不 同步數拆分,并在每步計算中找出每個點可達的最大上界的估計值,以此來判斷非候選點。 該框架的特點在于每次針對單點進行判斷,而非點對,這樣做的好處是一旦某點被判定為 非候選點后,由該點組成的所有點對即可終止計算,節省了時間。
[0006] 建立迭代批量刪點框架包括以下步驟:
[0007] (1)初始化各變量,并將步長控制變量i設為0;
[0008] (2)開始迭代,首先判斷i是否達到規定步數;若沒有,則i增加1,計算每個點與其 它點的i步內s imRank值;
[0009 ] (3)當所有點的i步內S imRank值完成計算后,保存前k個i步內S imRank值及其對應 點對,選取第k個i步內S imRank值作為閾值;
[0010] (4)計算每個點的上界,并與閾值比較:若小于或等于閾值,則作為非候選點刪除, 反之,進入下一輪迭代;
[0011]其中,每個點的上界計算公式為:
[0012]
[0013]其中UB(v)代表了點v的上界,*代表除點v以外的點,maxiSKv,*)}代表了到當前 迭代為止,包含有點V的點對的最大相似度的值,彳為當前迭代次數,ξ和C分別最大步長和衰 減因子;
[0014] (5)重復(2)至(4)步,直到i達到要求步數;
[0015] (6)返回前k個點對。
[0016] 本發明基于SimRank的迭代批量刪點框架,每次迭代中首先計算每個點與其余點 的SimRank值的上界來判斷出非候選點。本發明提出了一種新的上界計算方法,可以判斷出 更多非候選點,避免了非候選點精確的計算出SimRank值,降低了時間開銷。
[00?7] -種SimRank迭代刪點框架的上界計算方法,其特征在于,包括以下步驟:
[0018] (1)通過先驗信息,建立超點,使得每個點與超點的相似度值不小于此點和其他點 的相似度值;
[0019] 給定一個點集R和其中某點V,此節點v的超點^是一個虛擬的點,滿足兄到達某點X 的概率是是網絡上除v以外的其他點到以相同步數到達該點的最大值,即:
[0020]
[0021 ]其中Rv代表點集R中除v以外的點,/>( y }代表從點u出發走<步到達點X的概 率;以S(V,U)表示點相似度¥和點1!的相似度,則對于點V和其超點^的相似度不小于點V和 其他點的相似度,即如下不等式成立:
[0022]
[0023] (2)通過以上特性,預估每個點與超點的相似度作為該點上界,在每次迭代中,預 估值會不斷減小,上界因此收斂;
[0024]上界的計算公式為:
[0025]
[0026] 其中P(y,i)為二次相遇概率,代表了從點y出發走i步的兩條隨機路徑再次相遇的 概率,T代表了已經被計算出的二次相遇概率,凡是代表上界的地方用Snb表示,snbUB(v,u) 是S(v,u)的一個估計。
[0027] 與現有技術相比,本發明的優點在于:
[0028] 1、通過改進計算每個點的上界的方法,提前刪除更多非候選點,避免了非候選點 精確的計算出S imRank值,降低了時間開銷。
[0029] 2.通過改進改進計算每個點的上界的方法,與現有方法相比降低了內存開銷。
【附圖說明】
[0030] 圖1為定理1的證明中,超點與其他點相遇的兩種情況;
[0031] 圖2為示例中的圖以及其反向圖;
[0032] 圖3為原上界與本文提出上界的實驗結果對比,其中(a)(b)(c)為每次迭代中剩余 點的個數,(d)為時間對比;
[0033]圖4為本文提出上界與現有方法SRK-Join的時間與刪點效果對比;
[0034]圖5為本文提出上界與現有方法SRK-Join在巨大網絡上實驗的時間對比;
[0035]圖6為本文提出上界與現有方法SRK-Join在巨大網絡上實驗的內存開銷對比。
【具體實施方式】
[0036] 一、有關概念及定義 [0037](一)迭代批量刪點框架
[0038] 給定一個含有η個節點的有向網絡G(V,E),我們稱從點v至點u的邊<v,u>eESAu 的一條入邊,點^為點11的一個入鄰居;I(u)為點u的入鄰居集合。
[0039] SimRank的迭代模型:給定一個有向無環網絡G(V,E),點v和點u( v,u e V)的 SimRank值可以表示為:
[0040]
[0041] 其中,代表了v,u的第i,j個入鄰居。
[0042] 從等式(1)可以看出,若點v和點u相等,其SimRank值等于1 ;否則,點v和點u的 SimRank值等于其入鄰居之間SimRank值的均值。在現實世界中,網絡不都是無環的;針對這 種情況,SimRank可以表示為:
[0043]
[0044] 其中若點¥和點11相等,3〇(>,11) = 1,否則3()(>,11)=0,且1;[1]11-^1(>,11) = 3(>,11)。 SimRank的迭代模型可以快速收斂。一般來說,5輪迭代后其排名先后順序基本確定,即1彡 5〇
[0045] 除了該數值模型,SimRank還可以被具象化為形象模型:SimRank還可以表示同時 從兩點出發的兩條隨機路徑,在規定步數內隨機沿著入邊方向前進,首次相遇的概率。入邊 方向又可以稱為反方向,即路徑可以從點u到點v當且僅當邊邊〈v,u>eE存在。
[0046] SimRank也可以被具象化為如下隨機游走模型:
[0047] 給定一個有向無環網絡G(V,E),點v和點u(v,ueV)的SimRank值可以表示為:
[0048]
[0049] 其中ξ代表了隨機游走路徑的最大步數。本發明主要采用SimRank的隨機游走模 型。
[0050] 基于SimRank的Top-k相似度匹配問題:給定一個有向網絡G(V,E)和一個整數k,基 于SimRank的Top-k相似度匹配問題需要求解出一個含有k對點對的集合使得對于 V(v,w) e 尤,1' 尹 w和 V(v', w')運 /C,v W均有S(v,u)彡S(V ,ι/ )。
[0051] 本發明就是要解決基于SimRank的Top-k相似度匹配問題,通過構建迭代批量刪點 框架,每次迭代中首先判斷出非候選點,在精確計算前刪除非候選點來得到前k個最相似 點。該計算S imRank前k個最相似點對的方法稱為Ksimjoin。
[0052] 建立迭代批量刪點框架,包括以下步驟:
[0053] (1)初始化各變量,并將步長控制變量i設為0;
[0054] (2)開始迭代,首先判斷i是否達到規定步數;若沒有,則i增加1,計算每個點與其 它點的i步內S imRank值;
[0055 ] (3)當所有點的i步內S imRank值完成計算后,保存前k個i步內S imRank值及其對應 點對,選取第k個i步內S imRank值作為閾值;
[0056] (4)計算每個點的上界,并與閾值比較:若小于或等于閾值,則作為非候選點刪除, 反之,進入下一輪迭代;
[0057]其中,每個點的上界計算公式為:
[0058]
[0059] 共中UB (v)代表J點v的上芥,*代表除點v以外的點,max {Si (v,*)}代表了到當前 迭代為止,包含有點V的點對的最大相似度的值,I為當前迭代次數,ξ和C分別最大步長和衰 減因;該計算上界的方法稱為ge〇UB,ge〇UB是一種在誤差估計里廣泛采用的一種上界。 [0060] (5)重復(2)至(4)步,直到i達到要求步數;
[00611 (6)返回前k個點對。
[0062](二)新的上界計算方法
[0063]然而,geoUB的最大缺點在于其單純將相遇概率最大化,而忽視了點自身的領接關 系.這導致了其對于真實值的逼近程度不高.我們認為一個有效的上界需要即足夠逼近,又 簡單易算.因此我們設計了一種新的上界,稱之為snbUB,其可以通過已經計算出的中間量 快速導出。其設計的基本思想是,通過每次從相遇概率中減去一部分已經計算出的多次相 遇概率來進行逼近。
[0064] 1.建立超點
[0065] 超點:給定一個點集R和其中某點V,此節點v的超點K是一個虛擬的點,滿足兄到達 某點X的概率是是網絡上除v以外的其他點到以相同步數到達該點的最大值,即:
[0066]
[0067] 其中Rv代表點集R中除v以外的點,v卩代表從點u出發走I步到達點X的概 率。
[0068] 定理1:以S(v,u)表示點相似度的相似度,對于點v及其超點¥,如下不等式 成立:
[0069]
[0070] 證明.給定點vi及其超點?,我們需要證明"),ueRv = R\{v}.假定V2 為其可配對點之一.我們將證明,對于每一條從(V1,V2)出發的首次相遇雙行路徑TPi,都存 在一條每一條從(W)出發的首次相遇雙行路徑TP 2使得P(TP2
[0071 ] 假設(>1,¥2)首次相遇在11,¥2至丨」達11的概率為?1;0;1,1〇也首次相遇在11, 1^到達叉1 的概率為Ps ·又Pi 彡Ps,因此·P( U %,V ) 4 …一> (Λ-丨,' )I.)乏 /J( I ( ,V: ) 4 …4 (Λ-,,Λ-丨)j ).
[0072] 假設(Vl,V2)首次相遇在X2,V2至lj達XI的概率為Pi; (^,?)在X2不是首次相遇,那么肯 定存在一點yi使得.Ον?)首次相遇,¥到達X2的概率為Ps.假設從V2出發與yi相同步數到達 y2,概率為P21,從y2到達X2概率為P22 .由于(VI,V2)首次相遇在X2,所以yi辛y2 .又Ps彡P21彡 P21 · P22, /J('(v,,V) ->----M.V,,1 i )I )戶(!(S,V: ) ->----> (λ:.λ·:)1).
[0073] 定理1得證。
[0074] 2.根據超點預估上界
[0075] 定理1可以證明,點ν與超點的相似度不會小于點ν與其他點的相似度,因此點ν與 超點的相似度就可以作為點V可達到的相似度的上界。然而精確計算點V與超點的相似度需 要將全部的二次相遇概率計算出,即
[0076]
[0077] 其中p(y,i)為二次相遇概率,代表了從點y出發走i步的兩條隨機路徑再次相遇的 概率。又因為每次迭代時只會計算出部分二次相遇概率,因此我們利用每次迭代中計算出 的部分二次相遇概率來逼近點ν與超點的相似度,并利用其作為上界。因此上界可以說是對 于點和超點相似度值的一個估計。snbUB(v,u)是S(v,u)的一個估計。其公式可進一步描述 為:
[0078]
[0079] 其中T代表了已經被計算出的二次相遇概率。
[0080]下面結合附圖和實際數據對本發明做進一步詳細說明。
[0081 ] 二、實施例
[0082] 例1.考慮圖2(a)展示了有向網絡G(V,E),圖2(b)是它的反向網絡。我們設定k=l, | = 3,〇 = 0.360,即我們需要找出圖中5加1^1^相似度最高的節點對。
[0083]
[0084]表1.超點的構建
[0085] 例1.1 (超點的構建)表1標明了從圖2(b)中5個節點出發的隨機路徑走3步后可達 的點和概率.列表示出發點,行表示到達點.
[0086] 構建超點時,我們記錄下到達某點的前兩個最大概率.例如,對于點^,我們記錄 下{(V2,0.054),(V3,0.054)}.而當我們為V2建立超點時,我們需要計算超點走3步到達其他 點(以v 2為例)的概率,通過表1我們可以清楚地看到,除v2以外的點到達^的概率的最大值 是0.054,即V3.
[0087]
[0088] 表2.第一輪迭代中計算的P(x,l)例1.2.(利用超點計算上界)我們計算點V1在第 二輪迭代中的上界.為了方便行文,我們使用仏來代表所有從(W)出發并在點集X內任意 一點終止的相遇路徑的概率和.第一輪迭代中,我們已經計算出,
[0089]
[0090] 第二輪迭代中,所有的二次相遇概率ρ(χ,1)都已經被計算出來,見表2.因此我們 減去所有可以被P(x,l)表示的多次相遇概率,即,
[0091]
[0092]三、實驗評估
[0093]本章主要在現實數據和合成數據上測試了本文提出算法的時間.
[0094]
[0095] 表3.實驗數據集
[0096] 實驗環境.實驗算法的撰寫語言是C++,編譯器為GCC,優化選項為-03.實驗機器為 Ubuntu系統,64G RAM.
[0097] 現實數據.Adolhealth展示了在一次真實實驗中實驗對象所形成朋友關系.節點 代表實驗對象,節點V指向節點U的邊代表實驗中V選擇了 u為朋友.Wordnet3是一個詞匯網 絡,其中節點代表詞,節點v指向節點u的邊代表詞v是u的一個上位詞.Cora是一個引文網 絡,節點代表論文,節點v指向節點u的邊代表論文v引用了論文u.三個網絡的具體細節展示 在表3.
[0098]合成數據.我們人工合成了一些網絡.這些網絡的度在2~5之間,點的數目從500, 000至3,000,000·
[0099]參數設定.我們設定衰減因子c = 0.360,ξ = 5.
[0100] ( - )上界評估
[0101] 本實驗中,我們對比了原本刪點框架中的上界與本方案提出的上界,分別稱為 geoUB和snbUB.具體來說,我們記錄下每輪迭代后所剩余的點的數目.圖3展示了當k = 2000 時,兩種上界在三個現實網絡上的表現。
[0102] 經過觀察,我們得出了如下結論:首先,snbUB的效果要比geoUB的效果持續時間 長。例如在Adolhealth和Wordnet3上,geoUB在第一輪和第二輪的迭代中沒有刪除任何點。 直到第三輪,geoUB才開始刪點。在Cora上,geoUB在第一輪和第二輪刪除了一些點,然而在 第三輪和第四輪就無法再刪除任何點了。而snbUB在三個網絡上的第一輪均刪除了部分點, 且接下來的每輪迭代都保持刪點。
[0103]其次,snbUB的刪點力度比geoUB的刪點力度更大。這可以從兩方面分析:(l)snbUB 在第一輪就十分有效。在Wordnet3和Cora上,snbUB在第一輪就刪除了多達原網絡97.21 % 和83.33 %的點;然而同期geoUB只刪除了原網絡0 %和55.36 %的點。(2) snbUB刪點的總數 比geoUB多。最終geoUB在三個網絡上分別篩選出原網絡69.00% ,4.71 %和40.01 %的點為 候選點;而geoUB則篩選出44.60 %,2.27 %和9.93 %的點為候選點。
[0104]
[0105]表4.兩種上界和真實值的比較
[0106]
[0107]表5 .snbUB在三個網絡上的刪點力度
[0108] 表4 一步證明了snbUB的效果。表4展示了兩種上界和真實值的差距,即
[0109]
[0110] 其中R代表了第四輪迭代后的剩余點。在Adolhealth和Wordnet3上,snbUB非常逼 近真實值。表5展示了當k = 20,200,2000時,兩種上界最終的刪點比例.可以十分清楚的看 到,snbUB的刪點效果要遠優于geoUB。
[0111](二)速度評估
[0112]依據本發明上界計算方法的Ksimjoin方法與現有技術中最新算法SRK-Join的對 比實驗速度評估如下。
[0113]我們在三個現實數據上進行了系列實驗。我們令k的取值從5至2000,并比較了其 速度。相關結果展示在圖4中。當k取值較小時,SRK-Join的速度非常快。這是因為其收集候 選點和一些提前終止策略都非常依賴與k。但是隨著k變大,SRK-Join的效率就下降了。相比 之下,KSimJoin基本上在每種情況下都比SRK-Join快一個數量級。總的來說,當k = 5時, KSimJoin比SRK-Join快75.54% ;當k = 2000時,KSimJoin比SRK-Join快96.19%。其中的主 要原因在于:(l)SRK-Join的第一階段需要將每個點都編碼成向量:這一過程需要計算全部 的二次相遇概率。對于度比較大點來說,計算二次相遇概率是非常耗時的。而KSimJoin則會 識別并刪除非候選點,避免了大量的二次相遇概率的計算。(2)SRK-Join確定其2k個候選點 后,需要重新掃描這些候選點進行精確計算;而KSimJoin只需要進行第五次迭代,即前進一 步,就可以得到精確值。
[0114] 特別對于Adolhealth這一比Wordmet3小許多的網絡,SRK-Join要比其在Wordnet3 上要慢許多.這是因為SRK-Join的時間復雜度為0(nd",極受平均度的影響;相比之下, KSimJoin則平均度的影響較小。當k〈100時,KSimJoin非常快;當k>100時,盡管其漸漸慢下 來,但依然比SRK-Join快。
[0115] 我們也統計了兩種算法中最終被精確計算S imRank值,即候選點,的個數。對于 SRK-Join來說,其候選點的個數就是2k。對于KSimJoin來說,候選點的個數就是參與第五次 迭代的點的數目。總的來說,KSimjo iη的候選點要比SRK-Jo in的少很多,這證明了 snbUB逼 近真實值的程度。此外,還有兩個需要注意的點是:(l)Ad〇lhealth的點數只有2539,所以當 k = 2000時,即2k>n,SRK-Join無法篩選出任何點。所有用于SRK-Join中的提早終止策略均 失效了;但KSimJoin就避免了此種情況。(2)在Cora中,當k〈200時,盡管KSimJoin的候選點 數要比SRK-Join多,但KSimJoin總的耗時依然比SRK-Join少。這是因為KSimJoin刪除了許 多點,避免了多次二次相遇概率的計算,從而減少了總的耗時。相比起SRK-Join,KSimJoin 要更加有效率且更獨立于k。
[0116] (三)可擴展性評估
[0117] 在本節中,我們對KSimJoin和SRK-Join在一系列合成網絡(0.5M~3M)上進行了實 驗。圖5和6是當k = 2000時,兩種方法的耗時以及占用內存情況。
[0118] 從圖5可以看出,KSimJoin的耗時始終比SRK-Join的少。SRK-Join在1M,1.5M和2M 上的耗時分別為 1,129s,2,266s,和3,766s。而KSimJoin則為627s,1,260s 和2,165s。與此同 時,KSimJoin占用的內存也較小。因為在多數多余2M的情況下,SRK-Join耗時超過5,000s, 因此我們沒有在圖中畫出。
【主權項】
1. 一種SimRank迭代刪點框架的上界計算方法,其特征在于,包括w下步驟: (1) 通過先驗信息,建立超點,使得每個點與超點的相似度值不小于此點和其他點的相 似度值; 給定一個點集R和其中某點V,此節點V的超點Vs是一個虛擬的點,滿足Vs到達某點X的概 率是是網絡上除vW外的其他點到W相同步數到達該點的最大值,即:其中Rv代表點集R中除VW外的點,/>( 代表從點U出發走1步到達點X的概率;W S(V,U)表示點相似度V和點U的相似度,則對于點V和其超點Vs的相似度不小于點V和其他點 的相似度,即如下不等式成立: S(v,Vs)^S(v,u) ,ueRv=R\{v}. (2) 通過W上特性,預估每個點與超點的相似度作為該點上界,在每次迭代中,預估值 會不斷減小,上界因此收斂; 上界的計算公式為:其中p(y,i)為二次相遇概率,代表了從點y出發走i步的兩條隨機路徑再次相遇的概 率,T代表了已經被計算出的二次相遇概率,凡是代表上界的地方用Snb表示,snbUB( V,U)是 S(v,u)的一個估計。
【文檔編號】G06F19/00GK105975801SQ201610522013
【公開日】2016年9月28日
【申請日】2016年7月5日
【發明人】李瑞琪, 趙翔, 唐九陽, 陳帆, 陳一帆, 肖衛東
【申請人】中國人民解放軍國防科學技術大學