本發明涉及社區發現,具體地說是基于局部三角形的二階段擴展社區發現方法。
背景技術:
1、隨著計算機技術的不斷進步,復雜網絡的應用已經滲透到了各行各業。社區發現作為復雜網絡研究中的一個熱點領域,對于理解由不同性質和類型的節點所構成的網絡結構至關重要。社區是一組內部連接密集、相互連接稀疏的節點,這是復雜網絡的特征之一。社區發現的實際應用范圍廣泛,不僅在社會學、生物學和電子商務等領域具有重要的理論意義,在網絡安全領域也具備實際應用價值。為了精確分析網絡中的社區結構,從而更加深入理解網絡的功能組織,研究人員提出了許多基于不同標準的社區檢測算法。經典算法主要包括基于標簽傳播的社區發現算法、基于模塊化的社區發現算法、局部社區發現算法等。傳統的局部社區發現算法是挖掘出復雜網絡中的重要節點作為種子,再以種子為中心做出局部擴展,最后對初始社區進行合并。
2、上述研究的社區發現算法仍存在如下不足:1)在選取種子節點階段,缺少一個能準確評估和排序節點的重要性的指標,僅考慮節點的度值大小,不能充分考慮其對整個社區結構的影響,無法確保所選節點能夠有效代表潛在社區的特征。2)在社區擴展階段,面對復雜程度不同的網絡和聚集能力不同的種子節點,如果僅采取單一的社區擴展策略,不能有效地挖掘出種子節點周圍的復雜結構,容易導致不必要的節點被錯誤地納入或重要節點被遺漏。3)社區適應度函數不能準確反映節點與現有社區之間的相互關系,無法確保新加入的節點能夠有效增強社區的內聚性和結構穩定性,面對不同類型的網絡,缺少一個更具普適性的社區適應度函數。
技術實現思路
1、針對現有技術的不足,本發明的目的在于提出基于局部三角形的二階段擴展社區發現方法,包括:
2、步驟1:獲取無向網絡,所述無向網絡包括多個節點,兩個節點通過邊相連接;
3、步驟2:計算無向網絡中兩個相連接的節點之間的余弦相似度;
4、步驟3:根據節點之間的余弦相似度,計算無向網絡中每個節點的節點統治力;
5、步驟4:按照每個節點的節點統治力從大到小進行排序,得到統治力列表,獲取統治力列表中節點統治力最大的節點作為種子節點;
6、步驟5:計算種子節點的集聚系數,根據種子節點的集聚系數,在無向網絡中確定節點,確定的節點和種子節點構成第一社區;
7、步驟6:針對每個在無向網絡中且不在第一社區中的待劃分節點,對其進行劃分,得到第二社區;
8、步驟7:將第二社區中的所有節點從統治力列表中刪除,進而在刪除后的統治力列表中,獲取節點統治力最大的節點作為種子節點,返回執行步驟5,直到無向網絡中的所有節點均經歷過步驟5到步驟6,得到多個第二社區;
9、步驟8:針對每個屬于多個第二社區的節點,重新計算該節點對每個第二社區的適應度,得到多個新的適應度,在所有新的適應度中獲取最大值,將該節點劃分到最大值對應的第二社區中,所有屬于多個社區的節點經過劃分之后,得到多個最終的社區。
10、可選的,步驟3具體通過以下公式實現:
11、p(u)=d(u)×∑v∈n(u)(s(u,v)/d(v));
12、其中,p(u)表示節點u的節點統治力,n(u)表示與節點u相連接的節點的集合,d(u)表示節點u的度,s(u,v)表示節點u和節點v的余弦相似度,節點u和節點v相連接,d(v)表示節點v的度。
13、可選的,步驟6具體包括:
14、步驟6.1:針對每個在無向網絡中且不在第一社區中的待劃分節點,判斷在無向網絡中且不在第一社區中的節點,與待劃分節點相連接的邊的數量loc是否等于0,在loc等于0的情況下,將待劃分節點歸入第一社區,在loc不等于0的情況下,執行步驟6.2;
15、步驟6.2:計算待劃分節點對第一社區的適應度f;
16、步驟6.3:在待劃分節點對第一社區的適應度f大于或等于1的情況下,將待劃分節點歸入第一社區,在待劃分節點對第一社區的適應度f小于1的情況下,不做處理;其中,所有待劃分節點經過步驟6.1到步驟6.3中的劃分,得到第二社區。
17、可選的,步驟6.2具體通過以下公式計算:
18、
19、其中,tmc為待劃分節點與第一社區c中的節點構成三角形的個數;tme為在無向網絡中且不在第一社區中的節點,與待劃分節點構成三角形的個數;lic為待劃分節點與第一社區c中的節點相連接的邊的數量;loc為在無向網絡中且不在第一社區中的節點,與待劃分節點相連接的邊的數量;α為控制社區劃分規模大小的參數;
20、其中,步驟8中重新計算該節點對每個第二社區的適應度,具體的,令α=1,進而基于適應度的公式,重新計算該節點對每個第二社區的適應度。
21、可選的,步驟5中計算種子節點的集聚系數,具體通過以下公式實現:
22、
23、其中,iu為種子節點u的集聚系數,eu表示與種子節點u相連接的邊的數量。
24、可選的,步驟5中根據種子節點的集聚系數,在無向網絡中確定節點,確定的節點和種子節點構成第一社區,包括:
25、判斷種子節點的集聚系數iu是否大于0.35;
26、在種子節點的集聚系數iu大于0.35的情況下,在與種子節點相連接的所有節點中,獲取與種子節點的余弦相似度最大的節點作為第一節點,進而在無向網絡中,獲取與種子節點和第一節點構成三角形的多個第二節點,即與種子節點和第一節點都相連接的節點;種子節點、第一節點和多個第二節點構成第一社區,其中,第一節點和多個第二節點為確定的節點;
27、在種子節點的集聚系數iu小于或等于0.35的情況下,在無向網絡中,獲取與種子節點構成三角形的多個第三節點,即與種子節點均連接的兩個第三節點,且兩個第三節點也相連接;種子節點和多個第三節點構成第一社區,其中,多個第三節點為確定的節點。
28、可選的,步驟2具體通過以下公式實現:
29、
30、其中,s(u,v)表示節點u和節點v的余弦相似度,節點u和節點v相連接,n(u)表示與節點u相連接的節點的集合,n(v)表示與節點v相連接的節點的集合,d(u)表示節點u的度,d(v)表示節點v的度。
31、采用上述技術方案所產生的有益效果在于:
32、本發明設計了節點統治力,在節點度的基礎上綜合考慮了節點鄰居的度和余弦相似度,這要求種子節點不僅要有較大的度,其鄰域也要有緊密的結構,每次選取節點統治力最大的節點作為種子,有助于更加精確的篩選出種子節點。對于聚集能力較弱的種子節點,采取針對性的社區擴展策略,同時,以無向網絡為基礎進行大規模社區擴展,擴大了種子節點的影響力,提高了社區擴展的準確率。提出了新的匹配度函數,在考慮節點與社區內外連邊的基礎上,加入了節點與社區內外形成的三角形結構的數量,且每個節點能否加入社區只需計算一次,提高了社區發現效率。
1.基于局部三角形的二階段擴展社區發現方法,其特征在于,包括:
2.根據權利要求1所述的基于局部三角形的二階段擴展社區發現方法,其特征在于,步驟3具體通過以下公式實現:
3.根據權利要求1所述的基于局部三角形的二階段擴展社區發現方法,其特征在于,步驟6具體包括:
4.根據權利要求3所述的基于局部三角形的二階段擴展社區發現方法,其特征在于,步驟6.2具體通過以下公式計算:
5.根據權利要求1所述的基于局部三角形的二階段擴展社區發現方法,其特征在于,步驟5中計算種子節點的集聚系數,具體通過以下公式實現:
6.根據權利要求1所述的基于局部三角形的二階段擴展社區發現方法,其特征在于,步驟5中根據種子節點的集聚系數,在無向網絡中確定節點,確定的節點和種子節點構成第一社區,包括:
7.根據權利要求1所述的基于局部三角形的二階段擴展社區發現方法,其特征在于,步驟2具體通過以下公式實現: