整合結(jié)構(gòu)聚類和屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于復(fù)雜網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體地說,涉及一種復(fù)雜網(wǎng)絡(luò)中整合結(jié)構(gòu)聚類和 屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法,可用于網(wǎng)絡(luò)功能分析和結(jié)構(gòu)可視化。
【背景技術(shù)】
[0002] 復(fù)雜網(wǎng)絡(luò)中的社區(qū)發(fā)現(xiàn)方法對于理解網(wǎng)絡(luò)的功能和可視化網(wǎng)絡(luò)的結(jié)構(gòu)等至關(guān)重 要。通常來說,一個社區(qū)是網(wǎng)絡(luò)中所有個體組成集合的一個子集,該集合中的個體相似,并 和子集外的個體不相似。
[0003] 經(jīng)對現(xiàn)有技術(shù)的文獻檢索發(fā)現(xiàn),大部分社區(qū)發(fā)現(xiàn)方法僅考慮網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息, 將社區(qū)定義為緊密連接的節(jié)點集合,并采用結(jié)構(gòu)聚類的方法利用拓?fù)浣Y(jié)構(gòu)信息劃分網(wǎng)絡(luò)。 然而真實網(wǎng)絡(luò)通常具有大量描述節(jié)點特征的屬性信息,比如用戶基本信息,愛好信息,行為 信息等。分類方法是使用屬性信息劃分網(wǎng)絡(luò)節(jié)點集合的最好方法之一,其將具有相同屬性 的節(jié)點劃分到一個社區(qū)中。結(jié)構(gòu)聚類和屬性分類能夠分別充分利用結(jié)構(gòu)和屬性信息劃分網(wǎng) 絡(luò),但是他們都只利用一種信息而忽視另一種信息。這導(dǎo)致劃分出的社區(qū)結(jié)構(gòu)要么具有隨 機的屬性值分布,要么具有松弛的內(nèi)部連接結(jié)構(gòu)。因此,理想的社區(qū)發(fā)現(xiàn)方法應(yīng)同時考慮結(jié) 構(gòu)信息和屬性信息。
[0004] 綜合結(jié)構(gòu)信息和屬性信息的社區(qū)發(fā)現(xiàn)方法主要分為統(tǒng)一模型法和分離模型法。 統(tǒng)一模型法通過一個統(tǒng)一的模型用同樣的方式處理結(jié)構(gòu)和屬性信息。Xu等人于2012年 在國際會議《SIGM0D》上發(fā)表文章"Amodel-basedapproachtoattributedgraph clustering",采用一個貝葉斯模型來同時處理結(jié)構(gòu)和屬性信息。對于一個待劃分的網(wǎng)絡(luò), 該模型為每一個可能的社區(qū)結(jié)構(gòu)分配一個概率,將社區(qū)發(fā)現(xiàn)問題轉(zhuǎn)化成一個概率推斷問 題,并使用變分法解決。然而,由于拓?fù)浜蛯傩孕畔⑹莾煞N完全不同的信息,統(tǒng)一模型方法 無法通過建立一個統(tǒng)一的模型來充分利用兩種信息的劃分能力。另一方面,分離模型法采 用不同的模型建模拓?fù)浜蛯傩孕畔ⅰang等人于2013年在國際會議《ICDM》上發(fā)表文章 "Communitydetectioninnetworkswithnodeattributes",米用不同的概率似然模型 建模拓?fù)浜蛯傩孕畔?。使用一個超參數(shù)將兩個模型整合起來。超參數(shù)需要提前設(shè)定,用來 控制拓?fù)湫畔⒑蛯傩孕畔⒅g的相對重要性。然而,拓?fù)浜蛯傩缘南鄬χ匾酝ǔo法提 前知道,因此很難提前設(shè)定超參數(shù)的值,并且使用概率似然模型屬性信息忽視了屬性的分 類本質(zhì)。
【發(fā)明內(nèi)容】
[0005] 為了解決現(xiàn)有方法很難充分利用網(wǎng)絡(luò)結(jié)構(gòu)和屬性信息發(fā)現(xiàn)多樣的社區(qū)結(jié)構(gòu)的問 題,本發(fā)明的目的是提出一種整合結(jié)構(gòu)聚類和屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法,該方法設(shè) 計一個衡量屬性分類質(zhì)量的目標(biāo)函數(shù),利用多目標(biāo)優(yōu)化策略同時優(yōu)化結(jié)構(gòu)質(zhì)量和屬性質(zhì) 量,發(fā)現(xiàn)對應(yīng)于結(jié)構(gòu)和屬性不同平衡的多樣化的社區(qū)結(jié)構(gòu)。
[0006] 為實現(xiàn)上述目的,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的。
[0007] -種整合結(jié)構(gòu)聚類和屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法,包括如下步驟:
[0008] 步驟S1、建立待分析網(wǎng)絡(luò)的鄰接矩陣A和屬性矩陣B,為待分析網(wǎng)絡(luò)所有節(jié)點進行 連續(xù)編號,編號從1開始,構(gòu)建正方形鄰接矩陣A,構(gòu)建屬性矩陣B ;
[0009] 步驟S2、構(gòu)建衡量社區(qū)劃分結(jié)構(gòu)質(zhì)量的目標(biāo)函數(shù)模塊度:
[0011] 其中,X是網(wǎng)絡(luò)的社區(qū)劃分,Gi是社區(qū)劃分中的社區(qū),ki表示第i個節(jié)點的度,m表 示網(wǎng)絡(luò)總的邊數(shù),Au為鄰接矩陣A中的元素,其中i為第i個節(jié)點,j為第j個節(jié)點,當(dāng)A u 為1時代表第i節(jié)點和第j節(jié)點之間有邊相連,當(dāng)為0時代表第i節(jié)點和第j節(jié)點之間 不存在邊;
[0012] 步驟S3、構(gòu)建衡量社區(qū)劃分屬性質(zhì)量的目標(biāo)函數(shù)均質(zhì)性
[0013] 其中,~表示社區(qū)劃分X關(guān)于第j個屬性均質(zhì)性的權(quán)重,〃乂〇表示社區(qū)劃分X 關(guān)于第j個屬性的均質(zhì)性,t為屬性的數(shù)量;
[0014] 步驟S4、初始化網(wǎng)絡(luò)社區(qū)劃分種群;
[0015] 步驟S5、使用交叉和變異操作更新社區(qū)劃分種群,生成社區(qū)劃分子種群;
[0016] 步驟S6、組合社區(qū)劃分子種群和外部支配種群,生成下一代種群Bg,設(shè)置種群代數(shù) g的值增加1,如果g < G_,則返回步驟S5繼續(xù)迭代,否則進行步驟S7,其中6_為種群進 化迭代次數(shù);
[0017] 步驟S7、找出最終社區(qū)劃分種群1中所有支配社區(qū)劃分,計算每個支配社區(qū)劃分 的模塊度和均質(zhì)性,根據(jù)具體應(yīng)用及模塊度和均質(zhì)性的值選擇社區(qū)劃分。
[0018] 優(yōu)選地,所述步驟S3,具體包括如下步驟:
[0019] 步驟S31、計算社區(qū)匕內(nèi)的節(jié)點取屬性值的偽頻率:
,其中巧表示社 區(qū)h內(nèi)的節(jié)點數(shù),<表示社區(qū)匕內(nèi)節(jié)點取屬性值%的數(shù)量,q表示第j個屬性取該屬性的 第q個屬性值;
[0020] 步驟S32、計算社區(qū)劃分X關(guān)于屬性h的偽分類熵:
[0022] 步驟S33、計算社區(qū)劃分X關(guān)于第j個屬性的均質(zhì)性:'= (幻, 其中七表示屬性能夠取值的個數(shù);
[0023] 步驟S34、計算社區(qū)劃分X關(guān)于第j個屬性的均質(zhì)性的權(quán)重:
|其中
,表示屬性t在網(wǎng)絡(luò)G中的熵。
[0024] 優(yōu)選地,所述步驟S4,具體包括如下步驟:
[0025] 步驟S41、采用基于鄰接位置的編碼法編碼社區(qū)劃分個體,即劃分個體有N個基 因,其中N為網(wǎng)絡(luò)節(jié)點總數(shù),每個基因?qū)?yīng)一個節(jié)點,每個基因從范圍{1,2,......,N}中取 一個等位基因值,表示該基因?qū)?yīng)的節(jié)點和等位基因?qū)?yīng)的節(jié)點之間有邊相連;屬于同一 個連通部分的節(jié)點被分配到一個社區(qū);設(shè)定種群大小SD,設(shè)定種群進化迭代次數(shù)6_,初始 化種群代數(shù)g = 〇 ;
[0026] 步驟S42、生成SD個個體,每個個體的每個基因的取值限制為其對應(yīng)節(jié)點的鄰居節(jié) 點。
[0027] 優(yōu)選地,所述步驟S5,具體包括如下步驟:
[0028] 步驟S51、定義個體之間的支配關(guān)系,一個個體a支配另一個個體b表示個體a至 少在一個目標(biāo)函數(shù)上優(yōu)于個體b并且在所有目標(biāo)函數(shù)上都不弱于個體b,根據(jù)支配關(guān)系找 出群體中所有支配個體;定義擁擠距離衡量社區(qū)劃分個體在種群中所處位置的密度,按擁 擠距離降序選取前SD個支配個體組成支配種群,復(fù)制支配種群生成外部支配種群;
[0029] 步驟S52、對支配種群進行交叉操作,從支配種群中隨機選擇兩個社區(qū)劃分作為交 叉操作的父個體,隨機生成一個長度N的二進制向量,根據(jù)該二進制向量交叉兩個父個體 生成一個子個體,重復(fù)該過程SD次,所有新生成的子個體組成交叉社區(qū)劃分種群;
[0030] 步驟S53、對交叉社區(qū)劃分種群進行變異操作,對交叉社區(qū)劃分種群中的每個個體 進行變異,對個體中的每個節(jié)點,以變異概率將其等位基因值改變?yōu)樵摴?jié)點的任一鄰居節(jié) 點,所有變異個體組成社區(qū)劃分子種群。
[0031] 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
[0032] 1、定義一個衡量屬性分類質(zhì)量的函數(shù),將屬性分類問題轉(zhuǎn)化為目標(biāo)優(yōu)化問題,充 分利用屬性信息劃分網(wǎng)絡(luò)節(jié)點的能力;
[0033] 2、使用多目標(biāo)優(yōu)化策略整合結(jié)構(gòu)聚類和屬性分類,發(fā)現(xiàn)同時滿足拓?fù)浣Y(jié)構(gòu)要求和 屬性要求的社區(qū);
[0034] 3、多目標(biāo)優(yōu)化遺傳算法同時得到一組社區(qū)結(jié)構(gòu),對應(yīng)于拓?fù)浣Y(jié)構(gòu)和屬性之間不同 的平衡,適合多鐘應(yīng)用。
【附圖說明】
[0035] 通過閱讀參照以下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、 目的和優(yōu)點將會變得更明顯:
[0036] 圖1為本發(fā)明方法的流程圖。
[0037] 圖2為本發(fā)明采用的基于鄰接位置編碼法示意圖。
[0038] 圖3為本發(fā)明和多個已有方法之間的性能對比圖,其中,(a)為各方法在書籍網(wǎng)絡(luò) 上的性能對比圖,(b)為各方法在足球賽網(wǎng)絡(luò)上的性能對比圖,(c)為各方法在博客網(wǎng)絡(luò)上 的性能對比圖,(d)為各方法在Facebook網(wǎng)絡(luò)上的性能對比圖。
【具體實施方式】
[0039] 下面對本發(fā)明的實施例作詳細說明:本實施例在以本發(fā)明技術(shù)方案為前提下進行 實施,給出了詳細的實施方式和具體的操作過程。應(yīng)當(dāng)指出的是,對本領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形