一種基于局部最短回路的社會網絡群體劃分方法
【技術領域】
[0001] 本發明涉及社會網絡計算技術領域,尤其涉及一種基于局部最短回路的社會網絡 群體劃分方法。
【背景技術】
[0002] 大多數復雜網絡呈現模塊化特征,即系統內存在一些相對獨立的群組。這種內部 節點連接稠密而與網絡中其它部分連接稀疏的群組稱為社區。一般而言,社區內的節點之 間存在某種程度的相似性,而這種相似性對于人們研究復雜網絡具有重要的意義。如社交 網絡中同組人具有區別于其它組的共同特性或觀點,這對網絡輿情監測具有重要的意義; 萬維網中,如果知道某些網頁的少量信息,就可以外推到同組內的其它Web網頁,這對搜索 引擎是非常有用的;科學家協作網中同組的科學家從事類似的研究。社區發現算法的目標 就是發現網絡中存在的這樣節點群組,這對研究復雜系統具有重要的意義。
[0003]針對社區發現,研究者們將社區發現算法大體上分為三類:計算機科學領域的圖 形分割的算法、社會學領域的層次聚類算法和近年來得到廣泛關注的標簽傳播算法。圖形 分割算法是基于圖論的二分迭代算法,其核心思想是把網絡分割成兩個最優的子圖,再對 劃分得到的子圖繼續進行分割,不斷重復進行同樣的操作,直到有足夠的子圖為止。基于圖 形分割的社區發現算法主要有基于Laplace矩陣的譜平分法、Kernighan-Lin算法(K-L算 法)和派系過濾算法(CliquePercolationMethod,CPM算法)等。圖形分割算法的缺點 是要求知識社區的先驗知識,即社區數目或社區大小,這對真實網絡而言是很難做到的。層 次聚類算法的核心是分析網絡中各個節點間的相似度以及連接的緊密程度,其中一個重要 的概念是邊介數,即通過一條邊的所有最短路徑的數目。根據社區的定義,通過社區之間的 邊的最短路徑數目必然大于通過社區內的邊的最短路徑數,也就是說,各個社區之間節點 的邊介數要遠遠大于社區內部節點的邊介數,根據邊介數的大小增加或刪除社區間的邊可 以獲得社區結構。根據層次聚類時是刪除邊還是增加邊,可以把層次聚類算法分為兩類,即 分裂算法和凝聚算法。前者的代表是GN算法,后者的代表是Newman快速算法。層次聚類 算法不需要預先定義社區的大小,但是缺點是無法確定最終需要將網絡劃分成多少個社區 才是最合適的,且很多節點的歸屬也無法確定,所以在實際應用中往往得不到令人滿意的 結果。
[0004]為了改進以上算法的缺點,Raghavan等人提出標簽傳播算法(LabelPropagation Algorithm,LPA)社區發現方法,該算法是一種接近線性時間復雜度社區發現算法,這也是 到目前為止最快的社區發現算法。標簽傳播算法是一種基于啟發策略的不依賴于先驗知識 的算法,不需要設定目標函數,在許多真實網絡中取得了較好的效果。
[0005]傳統的標簽傳播算法雖然時間復雜度低、速度快,但是該算法在標簽傳播過程中, 認為被更新節點的每一個鄰居節點對該節點的影響是平等的,鄰居節點與該節點間的連接 關系沒有加以考慮,這很容易導致標簽在不同社區間的任意傳播,進而影響了標簽傳播算 法的準確率。
[0006] 鑒于上述缺陷,現有的社區發現方法的劃分結果準確性方面還有很大的提升空 間。
【發明內容】
[0007] 本發明的目的在于提供一種基于局部最短回路的社會網絡群體劃分方法,該方法 有利于提1?社會網絡劃分的準確度。
[0008] 為實現上述目的,本發明提供一種基于局部最短回路的社會網絡群體劃分方法, 該具體過程為:
[0009] 步驟A:讀取社交網絡數據,構造以社交網絡用戶為節點,用戶關系為邊的社交網 絡圖;
[0010] 步驟B:初始化,為每個節點分配一個唯一代表其所屬社區的標簽,迭代次數t= 1 ;
[0011] 步驟C:隨機排列所有節點,生成一個節點序列X;
[0012] 步驟D:節點標簽更新;
[0013] 步驟E:若所有節點的標簽不再變化,則算法停止;否則,t=t+Ι,并返回步驟C;
[0014] 步驟F:將所有具有相同標簽的頂點歸為一個社區。
[0015] 進一步地,所述步驟B中,為每個節點分配一個唯一代表其所屬社區的標簽具體 過程為,即Cn =Ln,Cn表示節點η所屬社區,Ln表示節點η的標簽值。
[0016] 進一步地,所述步驟D中,節點標簽更新具體包括以下步驟:
[0017] 步驟D1:對于節點序列X中的每一個節點X,用它鄰居節點標簽中出現頻率 最高的那個標簽來更新該節點的標簽,假設節點X的k個鄰居節點分別是Xl,χ2,..., xk,第t次時迭代節點χ的標簽依據于它鄰居節點中所有經過了t次迭代后節點的 標簽及其它經過了第t-Ι次迭代節點后所得到的標簽,節點X的標簽更新公式為: ~(0 =盡(\?^),~,\(〇,£^+^-1)_^-1)),其中函數8返回的是節點1的鄰居節點 標簽中頻率最1?的標簽。
[0018] 步驟D2 :如果鄰居節點標簽中存在多個最1?頻率的標簽,則在χ的鄰居節點中選 擇能與節點X構成最短回路的鄰居節點的標簽作為該頂點標簽;如果最短回路長度相等, 則在其中隨機選擇一個節點標簽;如果沒有回路,則隨機選擇一個鄰居的標簽。
[0019] 進一步地,所述步驟E中,算法的迭代終止條件為社會網絡達到平衡,標簽數目不 再發生變化。
[0020] 與現有技術相比較本發明的有益效果在于:本發明提出了一種基于局部最短回路 的社會網絡群體劃分方法,與現有的社區發現算法相比,劃分結果更接近于真實的網絡結 構,提高了準確度。
【附圖說明】
[0021] 圖1為本發明方法的實現流程圖。
[0022] 圖2為采用本發明方法(由LPALC表示)和標簽傳播算法(由LPA表示)在1000 個節點的基準網絡中,在網絡中節點的平均度數<k> = 15、度數的最大值maxk= 50條件 下,兩種算法運行100次的平均匪I值隨混合參數μ(μe[0, 0.90],μ表示不同社區之 間的節點中有連邊的部分)的取值變化對比圖。
[0023] 圖3為采用本發明方法(由LPALC表示)和標簽傳播算法(由LPA表示)在1000 個節點的基準網絡中,在網絡中節點的平均度數<k> = 30、度數的最大值maxk= 50條件 下,兩種算法運行100次的平均NMI值隨混合參數μ(μe[0,0. 90])的取值變化對比圖。
[0024] 圖4為采用本發明方法(由LPALC表示)和標簽傳播算法(由LPA表示)在5000 個節點的基準網絡中,在網絡中節點的平均度數<k> = 15、度數的最大值maxk= 50條件 下,兩種算法運行100次的平均NMI值隨混合參數μ(μe[0,0. 90])的取值變化對比圖。
[0025] 圖5為采用本發明方法(由LPALC表示)和標簽傳播算法(由LPA表示)在5000 個節點的基準網絡中,在網絡中節點的平均度數<k> = 30、度數的最大值maxk= 50條件 下,兩種算法運行100次的平均NMI值隨混合參數μ(μe[0,0. 90])的取值變化對比圖。
[0026] 圖6為采用本發明方法(由LPALC表示)和標簽傳播算法(由LPA表示)在10000 個節點的基準網絡中,在網絡中節點的平均度數<k> = 15、度數的最大值maxk= 50條件 下,兩種算法運行100次的平均NMI值隨混合參數μ(μe[0,0. 90])的取值變化對比圖。
[0027] 圖7為采用本發明方法(由LPALC表示)和標簽傳播算法(由LPA表示)在10000 個節點的基準網絡中,在網絡中節點的平均度數<k> = 30、度數的最大值maxk= 50條件 下,兩種算法運行100次的平均NMI值隨混合參數μ(μe[0,0. 90])的取值變化對比圖。
【具體實施方式】
[0028] 以下結合附圖,對本發明上述的特征和優點作更加詳細的說明。
[0029] 圖1是本發明的一種基于局部最短回路的社會網絡群體劃分方法的實現流程圖。 如圖1所示,所述方法包括以下步驟:
[0030] 步驟A:讀取社交網絡數據,構造以社交網絡用戶為節點,用戶關系為邊