擇社區(qū)劃分。
[0082] 本實施例的有效性可以通過下面的仿真實驗來進(jìn)一步說明。需要說明的是,實驗 中應(yīng)用的參數(shù)不影響本發(fā)明的一般性。
[0083] 1)仿真條件:
[0084] CPUIntelPentium⑥D(zhuǎn)ual-Core2. 80GHz,RAM3. 00GB,操作系統(tǒng)Windows7,仿真 軟件Matlab2010。
[0085] 2)仿真內(nèi)容:
[0086] 選取四個現(xiàn)實世界網(wǎng)絡(luò)進(jìn)行實驗,分別為書籍網(wǎng)絡(luò),足球賽網(wǎng)絡(luò),博客網(wǎng)絡(luò)和 Facebook網(wǎng)絡(luò)。為了衡量社區(qū)結(jié)構(gòu)(社區(qū)劃分)在結(jié)構(gòu)上和屬性上的性能,分別使用兩個 性能指標(biāo)評價社區(qū)劃分的拓?fù)滟|(zhì)量和屬性質(zhì)量,模塊度Q的值越大,說明發(fā)現(xiàn)的社區(qū)劃分 在結(jié)構(gòu)上越符合社區(qū)的定義,即社區(qū)內(nèi)部節(jié)點連接稠密,社區(qū)之間連接稀疏。均質(zhì)性H的值 越大,說明發(fā)現(xiàn)的社區(qū)在屬性上越符合社區(qū)的定義,即社區(qū)內(nèi)部節(jié)點具有相似的屬性值,不 同社區(qū)的節(jié)點具有不同的屬性值。
[0087] 本實施例在仿真實驗中用M0CDA表示。本實施例的參數(shù)設(shè)置如下,種群大小為 200,迭代次數(shù)為200,變異概率為0. 01。
[0088] 將本實施例與4個其他的社區(qū)發(fā)現(xiàn)方法在4個真實網(wǎng)絡(luò)上進(jìn)行仿真對比。這4 個方法如下,Vincent等人于2008年在《JournalofStatisticalMechanics》上發(fā)表的 "Fastunfoldingofcommunitiesinlargenetworks" 中提出的Louvian方法,該方法 緊使用網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息;屬性分類方法HM,該方法緊使用屬性信息,將具有相同屬性的 節(jié)點劃分到一個社區(qū),具有不同屬性的節(jié)點劃分到不同社區(qū),第四個網(wǎng)絡(luò)Facebook網(wǎng)絡(luò)具 有四個屬性,根據(jù)第i個屬性分類的社區(qū)結(jié)構(gòu)用i-HM表示;Xu等人于2012年在國際會議 《SIGM0D》上發(fā)表文章"Amodel-basedapproachtoattributedgraphclustering"中提 出的BAGC方法,該方法是同時使用拓?fù)湫畔⒑蛯傩孕畔⒌膗nified-model法;Cruz等人于 2011 年發(fā)表的"Entropybasedcommunitydetectioninaugmentedsocialnetworks" 中提出的AGCA方法,該方法是同時使用拓?fù)湫畔⒑蛯傩孕畔⒌膕eparated-model法。
[0089] 仿真實驗結(jié)果如圖3(a)~圖3(d)所示,在每個網(wǎng)絡(luò)上,Louvian方法都獲得了 最好的結(jié)構(gòu)性能和較差的屬性性能,HM方法都獲得了最好的屬性性能和較差的結(jié)構(gòu)性能, 而BAGC方法在每個網(wǎng)絡(luò)上的性能都較差,在單屬性網(wǎng)絡(luò)上AGCA方法在結(jié)構(gòu)和屬性之間有 一定的平衡,但主要還是偏向于按屬性劃分,在多屬性網(wǎng)絡(luò)上,AGCA方法的性能較差。只有 M0CDA方法在所有網(wǎng)絡(luò)上都得到一組對應(yīng)于結(jié)構(gòu)目標(biāo)和屬性目標(biāo)不同平衡的解。
[0090] 本實施例提供的整合結(jié)構(gòu)聚類和屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法,可用于可視化 具有節(jié)點屬性信息的網(wǎng)絡(luò),發(fā)現(xiàn)具有特定屬性意義的社區(qū)結(jié)構(gòu)。本實施例基于香濃信息熵 原理,設(shè)計了衡量節(jié)點屬性分類質(zhì)量的函數(shù),將屬性分類問題建模為目標(biāo)函數(shù)最優(yōu)化問題。 本實施例利用多目標(biāo)優(yōu)化策略同時優(yōu)化衡量結(jié)構(gòu)聚類質(zhì)量的模塊度函數(shù)和衡量屬性分類 質(zhì)量的均質(zhì)性函數(shù),得到一組社區(qū)結(jié)構(gòu),它們對應(yīng)于結(jié)構(gòu)聚類和屬性分類之間不同的平衡, 適用于不同的應(yīng)用。
[0091] 以上對本發(fā)明的具體實施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述 特定實施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變形或修改,這并不影 響本發(fā)明的實質(zhì)內(nèi)容。
【主權(quán)項】
1. 一種整合結(jié)構(gòu)聚類和屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法,其特征在于,包括如下步 驟: 步驟S1、建立待分析網(wǎng)絡(luò)的鄰接矩陣A和屬性矩陣B,為待分析網(wǎng)絡(luò)所有節(jié)點進(jìn)行連續(xù) 編號,編號從1開始,構(gòu)建正方形鄰接矩陣A,構(gòu)建屬性矩陣B; 步驟S2、構(gòu)建衡量社區(qū)劃分結(jié)構(gòu)質(zhì)量的目標(biāo)函數(shù)模塊度:其中,X是網(wǎng)絡(luò)的社區(qū)劃分,Gi是社區(qū)劃分中的社區(qū),ki表示第i個節(jié)點的度,m表示網(wǎng) 絡(luò)總的邊數(shù),Ay為鄰接矩陣A中的元素,其中,i為第i個節(jié)點,j為第j個節(jié)點; 步驟S3、構(gòu)建衡量社區(qū)劃分屬性質(zhì)量的目標(biāo)函數(shù)均質(zhì)性:其中,《j.表示社區(qū)劃分X關(guān)于第j個屬性均質(zhì)性的權(quán)重,//a, 表示社區(qū)劃分X關(guān)于 第j個屬性的均質(zhì)性,t為屬性的數(shù)量; 步驟S4、初始化網(wǎng)絡(luò)的社區(qū)劃分種群; 步驟S5、使用交叉和變異操作更新社區(qū)劃分種群,生成社區(qū)劃分子種群; 步驟S6、組合社區(qū)劃分子種群和外部支配種群,生成下一代種群B。,設(shè)置種群代數(shù)g的 值增加1,如果g<Gm",則返回步驟S5繼續(xù)迭代;否則進(jìn)行步驟S7 ;其中Gm"為種群進(jìn)化迭 代次數(shù); 步驟S7、找出最終社區(qū)劃分種群Bg中所有支配社區(qū)劃分,計算每個支配社區(qū)劃分的模 塊度和均質(zhì)性,根據(jù)具體應(yīng)用及模塊度和均質(zhì)性的值選擇社區(qū)劃分。2. 根據(jù)權(quán)利要求1所述的整合結(jié)構(gòu)聚類和屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法,其特征在 于,所述步驟S3,具體包括如下步驟: 步驟S31、計算社區(qū)Gi內(nèi)的節(jié)點取屬性值的偽頻率其中ni表示社區(qū)G1 內(nèi)的節(jié)點數(shù),巧!表示社區(qū)Gi內(nèi)節(jié)點取屬性值6J的數(shù)量,q表示第j個屬性取該屬性的第q個 屬性值; 步驟S32、計算社區(qū)劃分X關(guān)于屬性bj.的偽分類滴:步驟S33、計算社區(qū)劃分X關(guān)于第j個屬性的均質(zhì)性;^A,('" =lnW, +l)-Wi£A,(;〇, 其中dj.表示屬性bj.能夠取值的個數(shù); 步驟S34、計算社區(qū)劃分X關(guān)于第j個屬性的均質(zhì)性的權(quán)重:其中,表示屬性bj在網(wǎng)絡(luò)G中的滴。3. 根據(jù)權(quán)利要求1所述的整合結(jié)構(gòu)聚類和屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法,其特征在 于,所述步驟S4,具體包括如下步驟: 步驟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è)定種群進(jìn)化迭代次數(shù)Gm",初始化種 群代數(shù)g= 0 ; 步驟S42、生成Sd個個體,每個個體的每個基因的取值限制為其對應(yīng)節(jié)點的鄰居節(jié)點。4.根據(jù)權(quán)利要求1所述的整合結(jié)構(gòu)聚類和屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法,其特征在 于,所述步驟S5,具體包括如下步驟: 步驟S51、定義個體之間的支配關(guān)系,一個個體a支配另一個個體b表示個體a至少在 一個目標(biāo)函數(shù)上優(yōu)于個體b并且在所有目標(biāo)函數(shù)上都不弱于個體b,根據(jù)支配關(guān)系找出群 體中所有支配個體;定義擁擠距離衡量社區(qū)劃分個體在種群中所處位置的密度,按擁擠距 離降序選取前Sd個支配個體組成支配種群,復(fù)制支配種群生成外部支配種群; 步驟S52、對支配種群進(jìn)行交叉操作,從支配種群中隨機(jī)選擇兩個社區(qū)劃分作為交叉操 作的父個體,隨機(jī)生成一個長度N的二進(jìn)制向量,根據(jù)該二進(jìn)制向量交叉兩個父個體生成 一個子個體,重復(fù)該過程Sd次,所有新生成的子個體組成交叉社區(qū)劃分種群; 步驟S53、對交叉社區(qū)劃分種群進(jìn)行變異操作,對交叉社區(qū)劃分種群中的每個個體進(jìn)行 變異,對個體中的每個節(jié)點,W變異概率將其等位基因值改變?yōu)樵摴?jié)點的任一鄰居節(jié)點,所 有變異個體組成社區(qū)劃分子種群。
【專利摘要】本發(fā)明公開了一種整合結(jié)構(gòu)聚類和屬性分類的多目標(biāo)社區(qū)發(fā)現(xiàn)方法,包括如下步驟:建立網(wǎng)絡(luò)鄰接矩陣和屬性矩陣;構(gòu)建衡量社區(qū)劃分結(jié)構(gòu)質(zhì)量的目標(biāo)函數(shù)模塊度;構(gòu)建衡量社區(qū)劃分屬性質(zhì)量的目標(biāo)函數(shù)均質(zhì)性;初始化網(wǎng)絡(luò)社區(qū)劃分種群;使用交叉和變異操作更新社區(qū)劃分種群;組合變異社區(qū)劃分種群和外部支配種群;找出最終的社區(qū)劃分種群中的所有支配社區(qū)劃分。本發(fā)明基于香濃信息熵原理,設(shè)計了衡量節(jié)點屬性分類質(zhì)量的函數(shù),將屬性分類問題建模為目標(biāo)函數(shù)最優(yōu)化問題。利用多目標(biāo)優(yōu)化策略同時優(yōu)化衡量結(jié)構(gòu)聚類質(zhì)量的模塊度函數(shù)和衡量屬性分類質(zhì)量的均質(zhì)性函數(shù),得到一組社區(qū)結(jié)構(gòu),它們對應(yīng)于結(jié)構(gòu)聚類和屬性分類之間不同的平衡,適用于不同的應(yīng)用。
【IPC分類】G06F17/30
【公開號】CN104933103
【申請?zhí)枴緾N201510288090
【發(fā)明人】潘理, 吳鵬
【申請人】上海交通大學(xué)
【公開日】2015年9月23日
【申請日】2015年5月29日