黃喆婷,周安民(四川大學電子信息學院,成都 610065)
基于中心子團的社區發現方法
黃喆婷,周安民
(四川大學電子信息學院,成都610065)
現實世界中復雜網絡無處不在,如:社會網絡、電力網絡、生物網絡、航空網絡等。通過將對象表示成網絡中的節點,對象之間的關系表示成網絡中的邊,可以將網絡表示成圖模型。1998年,Watts和Strogatz在論文中提出了復雜網絡的小世界效應 (small-world effect)[1]。1999年,Barabási和Albert在論文中提出了網絡的無標度(scale free)特性[2]。除此之外,真實網絡還存在著社區結構[3-5]。網絡是由許多類型的節點組合而成,同一類型的節點之間聯系緊密,不同類型的節點之間聯系稀疏。所謂社區則是由同一類型的節點及節點之間的邊所構成的子圖。
“一向只有我影響別人。今天的作業我寫完了,這兩本借你抄抄,明天記得給我帶過來。”趙明月臨走前,把數學、英語作業本塞到王施凱手里。
對于社區發現,已存在很多研究方法,其中基于網絡結構的社區發現較為流行。2002年,Girvan和Newman提出了GN算法[3],該算法是一種基于邊中介概念的分裂型算法,它通過刪除邊中介值最大的邊從而得到最終的社區結構。2004年,Newman提出了基于局部搜索的快速Newman算法[6],在此基礎上又提出了CNM[7]算法。該算法引入了模塊度增量矩陣和堆結構,是一種高效的凝聚型算法。除此之外,還有許多社區發現算法,例如:Infomap[8]、BGLL[9]算法和COPRA[10]等。國內也有很多社區發現相關算法,如:蟻群算法[11]、遺傳算法[12]和廣義網絡社區挖掘算法[13]等。每種算法都有各自的優勢和局限性。
將網絡合理地劃分為社區可以帶來重要的價值。例如:社交網絡中的社區,可以用于發現用戶可能感興趣的話題;引文作者網絡中的社區,其作者都有著相似的研究內容;生物網絡中的社區,可以用于發現生物系統中功能相同的結構單元。通過社區發現,可以挖掘出隱藏在這些網絡中的新知識,有助于更好地理解和開發這些網絡。
1.1中介中心性
在中華龍舟大賽的影響下,萬寧正實現著快速騰飛,賽事帶動城鎮化發展,整合了文化、海產品等豐富資源,打造了別具一格的龍舟風情小鎮。如今,當你行走在港口的商業街上,尖尖的屋頂鱗次櫛比,深藍色的琉璃瓦流光溢彩宛如龍鱗,俯瞰下,整個小鎮都好似一條騰飛的巨龍。
社會網絡可以表示成G=(V,E)的形式,其中V= {v1,v2,…,vn}表示由n個節點構成的集合,E={e1,e2,…,em}表示由m條邊構成的集合。中介中心性是根據網絡中的節點之間的最短路徑所要經過某一節點的概率來定義的。無向網絡的中介中心度可以用以下公式計算:

其中,σst表示節點s到節點t的最短路徑數量,σst(v)表示從節點s到節點t的最短路徑中經過節點v的路徑的數量。中介中心度表示一個節點作為媒介的能力,它可以衡量一個節點在網絡中的重要程度。網絡中節點間的最短路徑經過某一節點的概率越大,則該節點的重要性越高。
2.1社區發現算法流程圖
由中介中心度的計算公式可知,要得到其值必須要計算網絡中各節點之間的最短路徑。本文針對無權網絡采用廣度優先搜索(breadth_first search)遍歷算法計算出網絡中任意兩點之間的最短路徑。對于無向連通圖,廣度優先搜索先從圖的某一頂點V0出發,然后訪問V0所有未被訪問過的鄰接點V1,V2,V3,…,Vn,接著再依次訪問V1,V2,V3,…,Vn的各個未被訪問過的鄰接點。重復以上步驟,直到圖中所有頂點都被訪問過。如圖1所示,以V0作為起始頂點,按照廣度優先搜索,則訪問順序為:V0,V1,V2,V3,V4,V5,V6,V8,V7。假設要求V0到V8的最短路徑,則從V0開始搜索,先訪問V1,V2,V3,接著再訪問 V4,V5,V6,V8,此時找到 V8,則搜索結束,得出最短路徑。

圖1 廣度優先搜索求最短路徑圖例
1.3節點適應度
節點適應度表示一個節點對某一社區適應度的貢獻值。先給出社區C的適應度的定義:

分別設置相應閾值,當節點與某一核心節點之間的拓撲距離小于所設置的閾值且與該核心節點之間的中介中心度的差值小于所設置的閾值時,將這個節點劃分到該核心節點所在的中心子團。如果某個節點被劃分到了多個中心子團,則將該節點作為預留節點,不加入到任何中心子團。

其中:fC+{N}表示社區C加入節點N的社區適應度,fC-{N}表示社區C未加入節點N的社區適應度。它們的差值即為節點N對社區C的節點適應度。
根據廣度優先搜索遍歷算法計算網絡中任意兩個節點之間的最短路徑。根據公式(1)計算網絡中所有節點的中介中心度,選擇中介中心度大于所設定閾值的節點作為準核心節點。由于所選出的準核心節點中可能會存在多個節點同屬于一個社區,所以要避免這種情況的發生。將準核心節點按照中介中心度由大到小排序,第一個準核心節點被選為核心節點。在判斷下一個準核心節點是否成為最后的核心節點之前,先依次分析此節點與之前所選的核心節點的共同鄰居數占其所有鄰居節點數量的比例,當其值小于設定的閾值時,則該節點被選為最終的核心節點。
1.4模塊度
為什么小學數學應當以算術為核心呢?一個人的學習過程與人類知識體系的形成過程存在對應關系.人類歷史上,算術是最早形成的學科;相應的,兒童學習數學,也宜從算術開始.算術的下列性質應當得到認識和肯定:
2.2 從畫面的景與現實中的景的差異中可以看出,畫中附記的“初上文殊院,觀前海諸峰”,畫面下部的寺院必定是文殊院,但據歷史了解到,寺院后面應該是玉屏峰,是一個較低的小崖,規模并沒有這么復雜龐大。這座山峰恰與剛剛提到的似觀音石的天都峰相符[1]。實際上,石濤的別出心裁,從題詞就可以體會到,畫面的這條小路正是一條通往天上人間銀臺金闕的虛幻小路。石濤也是運用了景觀合成法來表現這奇幻的畫面,而不是真正的對景寫實。
(1)將每個中心子團作為一個初始社區,根據公式(2)計算初始社區的社區適應度。

其中,m為網絡的總邊數,Qx為節點x同屬的社區個數,Axy為網絡鄰接矩陣中的元素,如果x與y有連接,則Axy=1,否則Axy=0。kx為節點x的度。EQ值越大,則社區質量越高。
1.2求最短路徑的有效方法
本文提出的社區發現算法的流程圖如圖2所示。此圖描述了如何基于中心子團挖掘社區結構以及對重疊社區合并的過程。在1.2至1.6小節,對算法的每一步做了詳細的說明。
目前來看,“套路貸”犯罪主要指向缺乏金融和法律知識的中低收入群體以及急需資金的創業者,他們對于“套路貸”犯罪的危害性往往認識不足,為了周轉資金、超前消費或者套取賭資,在正規借貸渠道受阻的情況下轉而向尋求貸款廣告或者職業介紹人的幫助,未經深入研究或征得家人同意便輕信不法分子簽署虛高借貸合同。借款人因缺乏取證意識,以至于被不法分子所利用,導致事后難以根據現有證據有效判別借款、還款數額。也因缺少自我保護意識和基本的刑事、民事法律常識,以至于被不法分子“牽著鼻子走”,在其“引導”下進行“層層平賬”,或交出身份證、房產證、營業證等重要證件進行抵押,無形中助長了不法分子“索債”時的囂張氣焰。
2.2核心節點識別
例文(16)中,‘(餅干)’和‘(飲料)’的受事賓語沒有提及,因此對于句子意思而言就產生了歧義現象。如果改為‘’,這樣的句子意思就是‘老師給了我兩個餅干,和兩瓶飲料。’本句話就不存在歧義現象。但文章若是‘’的話,受事賓語是‘我們’,這時本句話就可以解釋為以下三種含義。
近年來,隨著“精益”被國內醫療機構逐漸認知,如何快速習得一套便實可用的精益醫療管理體系,為醫院精益管理的院內實踐落地作戰略指導,并引領管理不斷推進,是每位精益學習院長期待的。
2.3挖掘中心子團
社區發現的目的是使社區內部的節點間聯系緊密而社區之間的節點聯系稀疏。所以可以通過判斷某一節點與核心節點之間關系的親疏來判斷該節點是否屬于中心子團。通過以下兩個指標衡量節點之間的關系親疏:
(1)節點之間中介中心度的差值;
2.4社區結構發現
其中,KCin為社區C內部所有節點連邊總和的二倍。KCout為社區C內部節點與外部節點連邊總和。可以通過參數α來控制社區劃分規模的大小。通過以上定義,將節點N對社區C的節點適應度定義為:

圖2 社區發現算法流程圖
(2)節點之間的拓撲距離。
現實世界中的大多數網絡的社區結構是未知的,對于未知結構的網絡,Newman和Girvan提出了模塊度[4]的概念來對社區質量進行評價。模塊度是社區內實際連接數目與對應的隨機網絡同等連接下社區內期望連接數目之差,它只適用于非重疊社區。衡量重疊社區質量采用擴展模塊度(EQ)函數[14]。其定義如下:
而現今傳感技術、微電子技術和計算機技術飛速發展,各種新型的傳感器不斷涌現,基于原理介紹的傳感器難免不足,而基于原理驗證的實驗設備與實際生產應用的傳感器有一定差距,添置難度大,維護成本高。
(2)對于每個社區,找出該社區的所有鄰居節點,根據公式(3)計算出這些節點的節點適應度。在節點適應度大于0的節點中,選擇節點適應度最大的鄰居節點加入該社區。
(3)對新得到的每個社區,重復執行過程(2)中的操作,直到所有鄰居節點的節點適應度都小于或等于0。
2.5剩余節點處理
如果網絡中還存在未被劃分的節點,則在剩余節點中重復執行2.2中的操作,找出其中的核心節點。接著繼續執行2.3和2.4中的操作,直到所有的節點被劃分到至少一個社區中。
2.6相似社區合并
(1)根據公式(4)計算出此時網絡的模塊度EQ。
(2)對于包含重疊節點的社區,通過兩個社區的重疊程度和合并前后的模塊度來判斷是否將這兩個社區合并。如果兩個社區重疊的節點數占節點數較少的社區的節點數的比例超過了所設置的社區重疊度閾值,則根據公式(4)計算出如果合并這兩個社區后的模塊度EQn。
(3)在得到的所有EQn中選取最大的值,令EQmax=max(EQn)。比較EQ與EQmax的大小。如果EQ 圖3 Zachary社會關系網絡社區結構示意圖 圖4 Zachary社會關系網絡節點中介中心度示意圖 圖5 Zachary社會關系網絡中心子團 圖6 Zachary社會關系網絡社區發現結果 本文將以Zachary社會關系網絡[10]為例驗證此算法的有效性。Zachary社會關系網絡是Wayne Zachary用3年時間觀察美國一所大學空手道俱樂部成員之間的社會關系來構造的。該網絡包括34個節點和78條邊,每個節點代表一個俱樂部成員,邊表示俱樂部成員之間的社會關系,其社區結構如圖3所示。通過網絡圖可以得出社區內各個節點的中介中心度如圖4所示。可以從圖4中得出,中介中心度相對較高的節點是1,3,33,34,但由于節點34的中介中心度大于節點33的中介中心度,而節點33和節點34的共同鄰居數占節點33所有鄰居節點數的比例超過了閾值,所以選擇節點34為核心節點,節點33未被選為核心節點。同理,節點1被選為核心節點,節點3未被選為核心節點。以核心節點為基礎劃分出的中心子團如圖5所示。其中,藍色節點和綠色節點分別表示兩個不同的中心子團。基于中心子團的最后的社區發現結果如圖6所示。可見該網絡被劃分為兩個社區,分別由藍色節點和綠色節點構成,黃色節點為兩個社區的共有節點。現實中,該俱樂部由于會員與教練之間存在矛盾而分成了兩派,可見該算法的社區發現結果與社區真實情況基本一致。 本文首先介紹了社區發現的研究現狀及所用到的社區發現的相關知識,然后提出了一種基于中心子團的社區發現技術。該方法通過計算社區中節點的中介中心度挖掘出核心節點,以核心節點為中心劃分出中心子團作為初始社區。通過計算社區周圍的節點對其的節點適應度來判斷是否將此節點加入該社區。如果社區之間的重疊程度很大且合并后模塊度有所提高,則將之合并。通過實驗證明,該方法可以有效地挖掘出社區結構。下一步工作的重點是提高社區發現方法的自動程度和算法的效率。 9.總體規劃應結合場地制約因素,城鎮規劃和建廠地區的外部條件,因地制宜地確定廠區方位,使主廠房區的位置處于地質構造相對穩定的地段,與活動性大斷裂應有足夠的安全距離,并應符合勞動安全和工業衛生的要求。 [1]Watts DJ,Strogatz SH.Collective Dynamics of'Small-World'Networks[J].Nature,1998,393(4):440-442. [2]Barabási AL,Albert R.Emergence of Scaling in Random Networks[J].Science,1999,286(5439):509-512. [3]Girvan M,Newman MEJ.Community Structure in Social and Biological Networks[J].Proceedings of the National Academy of Sciences of the United States of America,2002,99(12):7821-7826. [4]Newman MEJ,Girvan M.Finding and Evaluating Community Structure in Networks[J].Physical Review E,2004,69(2).026113. [5]Newman MEJ.Modularity and Community Structure in Networks[J].Proceedings of the National Academy of Sciences of the United States of America,2006,103(23):8577-8582. [6]Newman MEJ.Fast Algorithm for Detecting Community Structure in Networks[J].Physical Review E,2004,69(6):066133. [7]Clauset A,Newman MEJ,Moore C.Finding Community Structure in Very Large Networks[J].Physical Review E,2004,70(6).066111. [8]Rosvall M,Bergstrom C.Maps of Random Walks on Complex Networks Reveal Community Structure[J].Proceedings of the National Academy of Sciences,2008,105(4):1118-1123. [9]Blondel VD,Guillaume J,Lambiotte R,et al.Fast Unfolding of Communities in Large Networks[J].Journal of Statistical Mechanics: Theory and Experiment,2008(10):1742-5468. [10]Gregory S.Finding Overlapping Communities in Networks by Label Propagation[J].New Journal of Physics,2010,12(10):103018. [11]Jin Di,Yang Bo,Liu Jie,Liu Da-You,He Dong-Xiao.Ant Colony Optimization Based on Random Walk for Community Detection inComplex Networks[J].Journal of Software,2012,23(3):451-464. [12]Jin Di,Liu Jie,Yang Bo,He Dong-Xiao,Liu Da-You.Genetic Algorithm with Local Search for Community Detection in Large-ScaleComplex Networks[J].Acta Automatica Sinica,2011,37(7):873-882. [13]Yang Bo,Liu Jie,Liu Da-You.A Random Network Ensemble Model Based Generalized Network Community Mining Algorithm[J].Acta Automatica Sinica,2012,38(5):812-822. [14]H Shen,X Cheng,K Cai,MB Hu.Detect Overlapping and Hierarchical Community Structure in Networks[J].Physica A:Statistical Mechanics and its Applications.2009,388(8):1706-1712. [15]Zachary WW.An Information Flow Model for Conflict and Fission in Small Groups[J].Journal of Anthropological Research,1977,33(4):452-473. Core Node;Central Sub-Clique;Community Detection 由于大部分孕婦未進行血清中弓形蟲檢查、風疹病毒檢查、巨細胞病毒檢查、單純皰疹病毒檢查,因此,不作比較研究。 A Central Sub-Clique Based Community Detection Method HUANG Zhe-ting,ZHOU An-min (College of Electronics and Information Engineering,Sichuan University,Chengdu 610065) 1007-1423(2016)05-0028-05 10.3969/j.issn.1007-1423.2016.05.006 黃喆婷(1990-),女,黑龍江哈爾濱人,碩士研究生,研究方向為信息安全 2015-12-31 2016-01-20 現實世界中的許多系統都可以用網絡來表示,社區發現是網絡挖掘的研究熱點之一。介紹社區發現相關知識,提出一種基于中心子團的社區發現方法。通過節點中介中心度識別出核心節點,基于核心節點得到中心子團作為初始社區。通過計算社區周圍節點的節點適應度來判斷是否將此節點加入該社區,從而形成社區結構。通過兩個社區的重疊程度和合并前后的模塊度來判斷是否將這兩個社區合并。實驗表明,該方法可以有效地挖掘出社區結構。 核心節點;中心子團;社區發現 周安民(1963-),男,四川成都人,碩士生導師,研究員,研究方向為信息安全 Many real-world systems can be represented as networks,and community detection is one of the research hotspots in Web mining.Introduces some relevant knowledge of community detection and proposes a central sub-clique based community detection method.By calculating the betweenness centrality of nodes,we can identify the core node.Based on the core node,we can get central sub-clique as the initial community.By calculating the node fitness to judge whether to add the node to the community,the community structure of the network can be formed.By considering the degree of overlap of the two communities and the modularity of before and after the merger,we can judge whether to merge the two communities.The experiment shows that this method can effectively mine community structure.3 實驗




4 結語