本公開實施例涉及數據處理,尤其涉及一種基于2-邊時序子圖關系圖的頻繁時序子圖近似挖掘方法。
背景技術:
1、時序圖是一種包含重要時間信息的多邊網絡,能夠描述隨時間變化的關系動態。隨著社交大數據、通信大數據、金融大數據和醫療大數據等各類數據的增長,時序子圖挖掘研究已成為近年來數據科學領域的研究熱點。頻繁時序子圖挖掘研究具有廣泛的應用前景,如圖表示學習、時間感知的推薦系統、鏈接預測、監控網絡事件演化、監控交通路況、挖掘非法交易等各種領域
2、然而,時序圖的挖掘面臨巨大挑戰。首先,時序圖作為一種規模巨大、結構復雜的多邊圖,同一對節點之間可存在多條不同時序邊,同一節點集合之間可存在許多不同的時序子圖模式,導致搜索空間龐大復雜,頻繁時序子圖挖掘難度增加、計算復雜度高。其次,時序子圖不僅考慮簡單拓撲結構,還考慮時序邊的方向、順序、生成時間等,因此,時序子圖種類多、樣本分散不集中,例如,由3個節點組成的時序子圖已有32種不同類型。進而使時序子圖頻數計算更加困難,僅計算單個時序k-星子圖頻數已被證明是np-難問題。此外,先驗性質被時序圖的多邊性破壞,即不存在時序子圖的頻數隨著時序邊增加而單調下降的現象,導致時序子圖挖掘過程中無法根據先驗性質進行剪枝,產生大量無效時序子圖候選子集,使得模型計算量急劇增大、效率大幅降低。
3、近年來,一些工作提出基于靜態圖的頻繁時序子圖挖掘算法,即通過將時序圖轉化為靜態圖,并枚舉靜態圖中的子圖后,再還原到動態網絡空間得到頻繁時序子圖挖掘結果。但這方法在挖掘過程中產生大量無效子圖,導致計算復雜度高、效率低。
4、可見,亟需一種復雜度低且能高效縮小搜索空間并有效挖掘出頻繁的時序子圖的基于2-邊時序子圖關系圖的頻繁時序子圖近似挖掘方法。
技術實現思路
1、有鑒于此,本公開實施例提供一種基于2-邊時序子圖關系圖的頻繁時序子圖近似挖掘方法,至少部分解決現有技術中存在復雜度較高和挖掘效率較差的問題。
2、本公開實施例提供了一種基于2-邊時序子圖關系圖的頻繁時序子圖近似挖掘方法,包括:
3、步驟1,在時序圖g=(v,e)上挖掘所有的2-邊時序子圖,其中v為時序圖中的節點集合,e為時序圖中的時序邊集合,并據此構建2-邊時序子圖關系圖;
4、步驟2,根據2-邊時序子圖關系圖,采樣生成時序子圖候選集c(l),其中,l表示時序子圖候選集中時序子圖邊的數量,l的初始值為3且l≥3;
5、步驟3,計算時序子圖候選集中每個時序子圖的類型及其支持度;
6、步驟4,判斷時序子圖候選集中邊數l是否等于給定頻繁時序子圖邊數l,若是,則根據給定的支持度閾值,輸出頻繁時序子圖,或者按照支持度從高到低對時序子圖進行排序,輸出top-k個頻繁時序子圖,若否,先將l加1并重復步驟2、3、4,將當前生成時序子圖候選集結合2-邊時序子圖關系圖,擴展生成新的l邊時序子圖候選集,直至生成l邊頻繁時序子圖。
7、根據本公開實施例的一種具體實現方式,所述步驟1具體包括:
8、步驟1.1,給定時序圖g=(v,e),初始化2邊時序子圖關系圖g(2)=(c,r)中節點集合c為空集,關系圖邊集合r為空集;
9、步驟1.2,對于時序圖中的每條時序邊ei=(ui,vi,ti),其中ei是從節點ui到節點vi的帶時間戳ti的有向時序邊,搜索與ei相鄰的在時間窗口[ti,ti+δ]內的所有時序邊集合c(ei)={ej|ej=(uj,vj,tj),tj∈[ti,ti+δ]}δ為預設的時間間隔閾值,每對相鄰的2條邊ei和ej組成一個2-邊時序子圖m2=(ei,ej),并將其作為2-邊時序子圖關系圖g(2)的一個節點加入關系圖節點集合c中;
10、步驟1.3,對于任意兩個2-邊時序子圖m2=(ei,ej)和m′2=(ej,ed),如果它們共享一條時序邊ej,并且時間順序滿足t(ei)<t(ed),則在關系圖中添加一條有向邊<m2,m′2>并加入關系圖邊集合r中;
11、步驟1.4,根據節點集合和有向邊集合形成2-邊時序子圖關系圖g(2)。
12、根據本公開實施例的一種具體實現方式,所述步驟2具體包括:
13、步驟2.1,將當前的時序子圖候選集c(l-1)中的每個子圖以概率pl-2進行隨機均勻采樣,如果此時l=3,則時序子圖候選集c(l-1)為2-邊時序子圖關系圖g(2)中節點集合,得到采樣節點ml-1=(e1,e2,…,el-1);
14、步驟2.2,在2-邊時序子圖關系圖g(2)上查找采樣節點ml-1中圖(el-2,el-1)的出鄰接節點集合c(ml-1)
15、c(ml-1)={(el-1,el)|<(el-2,el-1),(el-1,el)>∈r};
16、步驟2.3,將集合c(ml-1)中的任意節點(el-1,el)與ml-1組合,生成l-邊時序子圖
17、ml=(e1,e2,…,el-1,el);
18、步驟2.4,在g(2)上查找ml-1中圖(e1,e2)的入鄰接節點集合c(ml-1)′
19、c(ml-1)′={(e0,e1)|<(e0,e1),(e1,e2)>∈r};
20、步驟2.5,將集合c(ml-1)′中的任意節點(e0,e1)與ml-1組合,生成l-邊時序子圖:
21、ml=(e0,e1,e2,…,el-1);
22、步驟2.6,重復步驟2.1至步驟2.5,生成時序子圖候選集c(l)。
23、根據本公開實施例的一種具體實現方式,所述步驟3具體包括:
24、當每次生成新的l-邊時序子圖實例時,通過同構檢測判斷其是否已經存在于時序子圖候選集中,并計算每個時序子圖類型的頻數以及每個時序子圖類型的支持度。
25、根據本公開實施例的一種具體實現方式,所述計算每個時序子圖類型的頻數的步驟,包括:
26、對生成的時序子圖進行同構檢測,確定該時序子圖的結構是否已經存在:
27、
28、其中,為第i種l-邊時序子圖類型,ml為l-邊時序子圖實例,為第i種l-邊時序子圖類型的頻數;
29、若該時序子圖為新結構,則將其作為新的時序子圖類型,并初始化其頻數為1;
30、若該時序子圖為已存在的類型,則更新該類型頻數,將其頻數加1。
31、根據本公開實施例的一種具體實現方式,所述支持度的表達式為
32、
33、其中,為第i種l-邊時序子圖類型的頻數,pj,j=1,...l-2,為步驟2.1中對時序子圖的采樣率,z為l-邊時序子圖類型的總數。
34、本公開實施例中的基于2-邊時序子圖關系圖的頻繁時序子圖近似挖掘方案,包括:步驟1,在時序圖g=(v,e)上挖掘所有的2-邊時序子圖,其中v為時序圖中的節點集合,e為時序圖中的時序邊集合,并據此構建2-邊時序子圖關系圖;步驟2,根據2-邊時序子圖關系圖,采樣生成時序子圖候選集c(l),其中,l表示時序子圖候選集中時序子圖邊的數量,l的初始值為3且l≥3;步驟3,計算時序子圖候選集中每個時序子圖的類型及其支持度;步驟4,判斷時序子圖候選集中邊數l是否等于給定頻繁時序子圖邊數l,若是,則根據給定的支持度閾值,輸出頻繁時序子圖,或者按照支持度從高到低對時序子圖進行排序,輸出top-k個頻繁時序子圖,若否,先將l加1并重復步驟2、3、4,將當前生成時序子圖候選集結合2-邊時序子圖關系圖,擴展生成新的l邊時序子圖候選集,直至生成l邊頻繁時序子圖。
35、本公開實施例的有益效果為:通過本公開的方案,通過構建2-邊時序子圖關系圖模型,成功簡化了時序圖中的結構和依賴關系,顯著減少了時序子圖的搜索空間。這不僅降低了大規模時序圖中頻繁時序子圖挖掘的計算復雜度,還有效解決了時序圖中頻繁時序子圖挖掘過程中計算效率低的問題。