社區(qū)檢測(community detection)又被稱為是社區(qū)發(fā)現(xiàn)蛋铆,它是用來揭示網(wǎng)絡(luò)聚集行為的一種技術(shù)。社區(qū)檢測實(shí)際就是一種網(wǎng)絡(luò)聚類的方法诗芜,這里的“社區(qū)”在文獻(xiàn)中并沒有一種嚴(yán)格的定義瞳抓,我們可以將其理解為一類具有相同特性的節(jié)點(diǎn)的集合埃疫。
近年來,社區(qū)檢測得到了快速的發(fā)展挨下,這主要是由于復(fù)雜網(wǎng)絡(luò)領(lǐng)域中的大牛Newman提出了一種模塊度(modularity)的概念熔恢,從而使得網(wǎng)絡(luò)社區(qū)劃分的優(yōu)劣可以有一個(gè)明確的評價(jià)指標(biāo)來衡量。一個(gè)網(wǎng)絡(luò)不通情況下的社區(qū)劃分對應(yīng)不同的模塊度臭笆,模塊度越大叙淌,對應(yīng)的社區(qū)劃分也就越合理;如果模塊度越小愁铺,則對應(yīng)的網(wǎng)絡(luò)社區(qū)劃分也就越模糊鹰霍。
下圖描述了網(wǎng)絡(luò)中的社區(qū)結(jié)構(gòu):
Newman提出的模塊度計(jì)算公式如下:
所以模塊度其實(shí)就是指一個(gè)網(wǎng)絡(luò)在某種社區(qū)劃分下與隨機(jī)網(wǎng)絡(luò)的差異,因?yàn)殡S機(jī)網(wǎng)絡(luò)并不具有社區(qū)結(jié)構(gòu)茵乱,對應(yīng)的差異越大說明該社區(qū)劃分越好茂洒。
Newman提出的模塊度具有兩方面的意義:
(1)模塊度的提出成為了社區(qū)檢測評價(jià)一種常用指標(biāo),它是度量網(wǎng)絡(luò)社區(qū)劃分優(yōu)劣的量化指標(biāo)瓶竭;
(2)模塊度的提出極大地促進(jìn)了各種優(yōu)化算法應(yīng)用于社區(qū)檢測領(lǐng)域的發(fā)展督勺。在模塊度的基礎(chǔ)之上,許多優(yōu)化算法以模塊度為優(yōu)化的目標(biāo)方程進(jìn)行優(yōu)化斤贰,從而使得目標(biāo)函數(shù)達(dá)到最大時(shí)得到不錯(cuò)的社區(qū)劃分結(jié)果智哀。
當(dāng)然,模塊度的概念不是絕對合理的荧恍,它也有弊端瓷叫,比如分辨率限制問題等,后期國內(nèi)學(xué)者在模塊度的基礎(chǔ)上提出了模塊度密度的概念送巡,可以很好的解決模塊度的弊端摹菠,這里就不詳細(xì)介紹了。
常用的社區(qū)檢測方法主要有如下幾種:
(1)基于圖分割的方法骗爆,如Kernighan-Lin算法次氨,譜平分法等;
(2)基于層次聚類的方法淮腾,如GN算法糟需、Newman快速算法等;
(3)基于模塊度優(yōu)化的方法谷朝,如貪婪算法、模擬退火算法武花、Memetic算法圆凰、PSO算法、進(jìn)化多目標(biāo)優(yōu)化算法等