本發(fā)明涉及符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)技術(shù)領(lǐng)域,更具體地說(shuō)是一種基于正負(fù)邊信息的符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)方法。
背景技術(shù):
在現(xiàn)實(shí)社會(huì)網(wǎng)絡(luò)中,個(gè)體間關(guān)系通常存在兩面性,即個(gè)體與個(gè)體間不是一種單一的“非是即否”的關(guān)系。個(gè)體間不僅有關(guān)系,更可以表現(xiàn)出是友好關(guān)系還是敵對(duì)關(guān)系等。基于個(gè)體間的多樣化關(guān)系,人們對(duì)傳統(tǒng)符號(hào)復(fù)雜網(wǎng)絡(luò)進(jìn)行了拓展,引入了邊的符號(hào)的概念。既存在正向關(guān)系又存在負(fù)向關(guān)系的復(fù)雜網(wǎng)絡(luò),稱為符號(hào)網(wǎng)絡(luò)。符號(hào)網(wǎng)絡(luò)的社團(tuán)結(jié)構(gòu)檢測(cè)具有一個(gè)很明顯的特征,即需要檢測(cè)出社團(tuán)內(nèi)正向關(guān)系和社團(tuán)間負(fù)向關(guān)系都密集的社團(tuán)。
設(shè)計(jì)高效的符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)算法對(duì)于人們分析和挖掘符號(hào)網(wǎng)絡(luò)的社團(tuán)結(jié)構(gòu)顯得尤為重要,能夠幫助研究者們認(rèn)識(shí)和理解多樣化的真實(shí)社會(huì)網(wǎng)絡(luò)。目前,符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)算法主要分為以下兩類:
(1)基于無(wú)符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)算法改進(jìn)后的符號(hào)網(wǎng)絡(luò)社團(tuán)檢測(cè)算法。這類算法包括GN-H協(xié)同訓(xùn)練算法與CRA算法。GN-H協(xié)同訓(xùn)練算法主要將GN算法和層次聚類算法相結(jié)合,先利用GN算法對(duì)由符號(hào)網(wǎng)絡(luò)中正邊構(gòu)成的社團(tuán)進(jìn)行劃分,再結(jié)合負(fù)邊信息的評(píng)價(jià)指標(biāo)確定整個(gè)網(wǎng)絡(luò)的最終層次聚類。類似地,CRA算法首先基于符號(hào)網(wǎng)絡(luò)中正邊利用Breadth First Search algorithm進(jìn)行社團(tuán)劃分,再利用負(fù)邊信息進(jìn)行調(diào)整。此類方法的特點(diǎn)是采用兩階段式處理方式。此類方法雖然能夠有效地利用現(xiàn)有的社團(tuán)檢測(cè)算法實(shí)現(xiàn)多種特定需求的符號(hào)網(wǎng)絡(luò)的社團(tuán)檢測(cè),然而,由于前期劃分結(jié)果往往對(duì)第二階段的調(diào)整造成較大影響,造成社團(tuán)檢測(cè)性能有待提高。
(2)基于符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)問(wèn)題生成的算法。這類算法是目前針對(duì)符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)問(wèn)題性能較好的一類算法,其典型代表是FEC算法。此類算法結(jié)合符號(hào)網(wǎng)絡(luò)自身屬性,提出不同符號(hào)網(wǎng)絡(luò)社團(tuán)檢測(cè)策略,避免了上類算法中的階段式處理方式,有效提高了社團(tuán)檢測(cè)精度。但是這類算法自身策略也存在一定的不足。如在算法FEC中,目標(biāo)節(jié)點(diǎn)選擇的隨機(jī)性,導(dǎo)致算法存在一定的不穩(wěn)定性;在隨機(jī)游走過(guò)程中,只考慮節(jié)點(diǎn)的正邊信息,忽略節(jié)點(diǎn)的負(fù)邊信息,導(dǎo)致算法精度有待提高;人為設(shè)定隨機(jī)游走步長(zhǎng),并將隨機(jī)游走的步長(zhǎng)作為算法終止條件,導(dǎo)致算法精度及復(fù)雜度依賴于隨機(jī)游走的步長(zhǎng),即隨機(jī)游走步數(shù)大則時(shí)間復(fù)雜度高,隨機(jī)游走步數(shù)小則算法精度低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明是為避免上述現(xiàn)有技術(shù)所存在的不足之處,提供一種基于正負(fù)邊信息的社團(tuán)結(jié)構(gòu)檢測(cè)方法,以期充分利用符號(hào)網(wǎng)絡(luò)中的正邊信息和負(fù)邊信息,獲取符號(hào)網(wǎng)絡(luò)的最優(yōu)劃分,從而達(dá)到提高符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)精度的目的。
為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案為:
本發(fā)明一種基于正負(fù)邊信息的符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)方法的特點(diǎn)是按如下步驟進(jìn)行:
步驟1、利用所述符號(hào)網(wǎng)絡(luò)中節(jié)點(diǎn)的正度和負(fù)度尋找初始社團(tuán):
步驟1.1、利用式(1)計(jì)算所述符號(hào)網(wǎng)絡(luò)中節(jié)點(diǎn)v的度deg(v):
deg(v)=degP(v)+|degN(v)| (1)
式(1)中,degP(v)和degN(v)分別表示節(jié)點(diǎn)v的正度和負(fù)度;
步驟1.2、將所述符號(hào)網(wǎng)絡(luò)中所有節(jié)點(diǎn)均作為初始節(jié)點(diǎn),從每一個(gè)初始節(jié)點(diǎn)出發(fā),基于符號(hào)網(wǎng)絡(luò)中節(jié)點(diǎn)的度deg(v)來(lái)尋找得到與所述每一個(gè)初始節(jié)點(diǎn)對(duì)應(yīng)的局部度中心點(diǎn);
步驟1.3、根據(jù)所得局部度中心節(jié)點(diǎn)及其正度,獲取q個(gè)初始社團(tuán),并根據(jù)獲取的先后順序進(jìn)行排序,組成初始社團(tuán)集合,記為Y={Yk|k=1,...,q};Yk表示第k個(gè)初始社團(tuán);以所述q個(gè)初始社團(tuán)內(nèi)的節(jié)點(diǎn)作為已聚類節(jié)點(diǎn),并組成已聚類節(jié)點(diǎn)集,記為U={uj|j=1,...,n};uj表示第j個(gè)已聚類節(jié)點(diǎn);同在第k個(gè)初始社團(tuán)Yk中的節(jié)點(diǎn)組成第k個(gè)已聚類節(jié)點(diǎn)集,記為Uk,并有以所述符號(hào)網(wǎng)絡(luò)中未包含于任一初始社團(tuán)的所有節(jié)點(diǎn)作為未聚類節(jié)點(diǎn),并組成未聚類節(jié)點(diǎn)集,記為V={vi|i=1,...,m},vi表示第i個(gè)未聚類節(jié)點(diǎn);
步驟2、利用基于正負(fù)邊信息的社團(tuán)擴(kuò)充方法對(duì)所述初始社團(tuán)進(jìn)行擴(kuò)充,得到符號(hào)網(wǎng)絡(luò)的社團(tuán)檢測(cè)結(jié)果。
本發(fā)明所述的社團(tuán)結(jié)構(gòu)檢測(cè)方法的特點(diǎn)也在于,
所述基于正負(fù)邊信息的社團(tuán)擴(kuò)充方法是按如下步驟進(jìn)行:
步驟2.1、利用式(2)計(jì)算符號(hào)網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)u和v間的相似度Ssigned(u,v):
式(2)中,w(u,x)表示節(jié)點(diǎn)u和節(jié)點(diǎn)x之間的邊的權(quán)值;w(v,x)表示節(jié)點(diǎn)v和節(jié)點(diǎn)x之間的連邊的權(quán)值;在符號(hào)網(wǎng)絡(luò)的鄰接矩陣中,w(u,x)>0表示節(jié)點(diǎn)u和節(jié)點(diǎn)x之間連邊是正邊;w(u,x)<0表示節(jié)點(diǎn)u和節(jié)點(diǎn)x之間連邊是負(fù)邊;w(u,x)=0表示節(jié)點(diǎn)u和節(jié)點(diǎn)x之間沒(méi)有邊相連;Γ(u)表示節(jié)點(diǎn)u的鄰接節(jié)點(diǎn)集合,Γ(v)表示節(jié)點(diǎn)v的鄰接節(jié)點(diǎn)集合;
步驟2.2、從符號(hào)網(wǎng)絡(luò)的鄰接矩陣中分別獲得只包含正邊信息的鄰接矩陣和負(fù)邊信息的鄰接矩陣;
步驟2.3、利用式(2),分別基于所得正邊信息的鄰接矩陣和負(fù)邊信息的鄰接矩陣,計(jì)算任意兩個(gè)節(jié)點(diǎn)間的相似度,從而獲得任意兩個(gè)節(jié)點(diǎn)間的正邊相似度和負(fù)邊相似度;
步驟2.4、根據(jù)所述任意兩個(gè)節(jié)點(diǎn)間的正邊相似度和負(fù)邊相似度,利用隨機(jī)游走模型計(jì)算所有未聚類節(jié)點(diǎn)中任意第i個(gè)未聚類節(jié)點(diǎn)vi屬于所有n個(gè)初始社團(tuán)中第k個(gè)初始社團(tuán)Yk的正概率值Pik+和負(fù)概率值Pik-;
步驟2.5比較未聚類節(jié)點(diǎn)vi屬于某初始社團(tuán)的正概率值和負(fù)概率值,若使得Pik+>Pik-,執(zhí)行步驟2.6;若對(duì)都有Pik+≤Pik-,則執(zhí)行步驟2.7;
步驟2.6、將第i個(gè)未聚類節(jié)點(diǎn)vi加入第k個(gè)初始社團(tuán)Yk中;并執(zhí)行步驟2.9;
步驟2.7、將第i個(gè)未聚類節(jié)點(diǎn)vi作為新的局部度中心點(diǎn),利用步驟1.3尋找新的初始社團(tuán);若發(fā)現(xiàn)了新的初始社團(tuán),則執(zhí)行步驟2.9,否則,執(zhí)行步驟2.8;
步驟2.8、利用式(3)計(jì)算第i個(gè)未聚類節(jié)點(diǎn)vi與第k個(gè)初始社團(tuán)Yk的連接強(qiáng)度T(vi,Yk),從而獲得第i個(gè)未聚類節(jié)點(diǎn)vi與所有初始社團(tuán)的連接強(qiáng)度,并將第i個(gè)未聚類節(jié)點(diǎn)vi加入最大連接強(qiáng)度所對(duì)應(yīng)的初始社團(tuán)中;
式(3)中,num1表示第i個(gè)未聚類節(jié)點(diǎn)vi與第k個(gè)初始社團(tuán)Yk所有節(jié)點(diǎn)的連接邊數(shù),num2表示第k個(gè)初始社團(tuán)Yk的節(jié)點(diǎn)數(shù)目;
步驟2.9、更新所有初始社團(tuán)中所有已聚類節(jié)點(diǎn);
步驟2.10、更新所述符號(hào)網(wǎng)絡(luò)中所有未聚類節(jié)點(diǎn);
步驟2.11、判斷所述符號(hào)網(wǎng)絡(luò)中是否存在未聚類節(jié)點(diǎn)時(shí),若存在,則返回步驟2.4;否則,執(zhí)行步驟2.12;
步驟2.12、判斷兩個(gè)社團(tuán)是否滿足式(4),若滿足,則將社團(tuán)進(jìn)行優(yōu)化合并,并得到所述符號(hào)網(wǎng)絡(luò)的社團(tuán)檢測(cè)結(jié)果:
式(4)中,Ci和Cj分別表示第i個(gè)社團(tuán)和第j個(gè)社團(tuán)中節(jié)點(diǎn)的集合,ξ為閾值。
所述步驟2.4中的隨機(jī)游走模型是按如下步驟進(jìn)行:
步驟2.4.1、假設(shè)從第i個(gè)未聚類節(jié)點(diǎn)vi開(kāi)始游走,根據(jù)社團(tuán)個(gè)數(shù)相應(yīng)次的利用隨機(jī)游走模型計(jì)算出第i個(gè)未聚類節(jié)點(diǎn)vi屬于每一個(gè)社團(tuán)的正概率與負(fù)概率;
步驟2.4.2、假設(shè)第i個(gè)未聚類節(jié)點(diǎn)vi與第k個(gè)初始社團(tuán)Yk中所有節(jié)點(diǎn)有邊相連,則構(gòu)造第k個(gè)隨機(jī)游走圖Gk,且Gk=(U′k,E′k),U′k表示所有社團(tuán)中的節(jié)點(diǎn)與第i個(gè)未聚類節(jié)點(diǎn)vi的并集;E′k表示所有社團(tuán)中的邊以及第i個(gè)未聚類節(jié)點(diǎn)vi分別與第k個(gè)初始社團(tuán)Yk中所有節(jié)點(diǎn)相連所形成的邊;即
步驟2.4.3、定義循環(huán)變量t,并初始化t=1;
步驟2.4.4、計(jì)算第i個(gè)未聚類節(jié)點(diǎn)vi與Gk中其他節(jié)點(diǎn)u之間的正邊相似度值及負(fù)邊相似度值,并利用式(5)將相似度值進(jìn)行歸一化處理,獲得初始正概率向量s1+與初始負(fù)概率向量s1-;
式(5)中,x表示歸一化前的正邊(負(fù)邊)相似度值,x′表示歸一化后的正邊或負(fù)邊的相似度值,max表示vi與Gk中其他節(jié)點(diǎn)之間正邊或負(fù)邊相似度的最大值,min表示vi與Gk中其他節(jié)點(diǎn)之間正邊或負(fù)邊相似度的最小值;
步驟2.4.5、利用式(6)計(jì)算第i個(gè)未聚類節(jié)點(diǎn)vi第t次游走到隨機(jī)游走圖Gk中所有節(jié)點(diǎn)的正概率向量和負(fù)概率向量
式(6)中,矩陣M+與M-分別表示所有社團(tuán)中任意節(jié)點(diǎn)間正邊相似度值所構(gòu)成的正邊相似度矩陣和負(fù)邊相似度值所構(gòu)成的負(fù)邊相似度矩陣;M+T和M-T分別表示是n×n維的矩陣M+與M-的轉(zhuǎn)置;α表示跳轉(zhuǎn)概率;d表示轉(zhuǎn)移概率向量,且為vi第t次游走到隨機(jī)游走圖Gk中所有節(jié)點(diǎn)的正概率向量;為vi第t次游走到隨機(jī)游走圖Gk中所有節(jié)點(diǎn)的負(fù)概率向量;
步驟2.4.6、循環(huán)執(zhí)行步驟2.4.6,直到概率向量與收斂為止;并將收斂時(shí)的正概率向量記為將負(fù)概率向量記為表示在隨機(jī)游走圖Gk中,未聚類節(jié)點(diǎn)vi游走到第j個(gè)已聚類節(jié)點(diǎn)uj的正概率;即表示在隨機(jī)游走圖Gk中,未聚類節(jié)點(diǎn)vi游走到第j個(gè)已聚類節(jié)點(diǎn)uj的負(fù)概率;即
步驟2.4.7、利用式(7)獲得在隨機(jī)游走圖Gk中,未聚類節(jié)點(diǎn)vi游走到第j個(gè)初始社團(tuán)Yj的正概率p+(vi→Yj|vi∈Gk)及負(fù)概率p-(vi→Yj|vi∈Gk):
式(7)中,和分別表示vi游走到初始社團(tuán)Yj中所有節(jié)點(diǎn)正概率和負(fù)概率的均值;
步驟2.4.8、利用式(8)計(jì)算第i個(gè)未聚類節(jié)點(diǎn)vi游走到第j個(gè)初始社團(tuán)Yj的正概率Pij+與負(fù)概率Pij-:
式(8)中:表示第i個(gè)未聚類節(jié)點(diǎn)vi能夠與第k個(gè)初始社團(tuán)Yk中所有節(jié)點(diǎn)相連的概率;S+(vi,uj)與S-(vi,uj)分別表示節(jié)點(diǎn)vi與節(jié)點(diǎn)uj的正邊相似度與負(fù)邊相似度。
與已有技術(shù)相比,本發(fā)明的有益效果體現(xiàn)在:
1、本發(fā)明無(wú)需符號(hào)網(wǎng)絡(luò)中社團(tuán)個(gè)數(shù)、規(guī)模等先驗(yàn)知識(shí),即可獲取到諸如生物符號(hào)網(wǎng)絡(luò)、社交符號(hào)網(wǎng)絡(luò)等符號(hào)網(wǎng)絡(luò)的社團(tuán)劃分結(jié)果,易于操作實(shí)現(xiàn);綜合利用了符號(hào)網(wǎng)絡(luò)中正邊信息與負(fù)邊信息,避免了因負(fù)邊信息未充分利用而造成的精度損失;本發(fā)明不依賴于初始點(diǎn)的選擇,避免了因算法對(duì)初始點(diǎn)的依賴而導(dǎo)致的社團(tuán)劃分結(jié)果的不穩(wěn)定;同時(shí),當(dāng)符號(hào)網(wǎng)絡(luò)中社團(tuán)結(jié)構(gòu)不明顯時(shí),本發(fā)明亦可獲得較為準(zhǔn)確的社團(tuán)劃分結(jié)果。
2、本發(fā)明提出基于節(jié)點(diǎn)的度與正度尋找局部度中心點(diǎn),充分考慮了節(jié)點(diǎn)的正度與負(fù)度所賦予的節(jié)點(diǎn)的重要性,使得所得局部度中心點(diǎn)度大同時(shí)正度也大,提高了局部度中心點(diǎn)作為初始社團(tuán)的核心點(diǎn)的準(zhǔn)確度。
3、本發(fā)明提出利用局部度中心點(diǎn)尋找初始社團(tuán)的方法,使得初始社團(tuán)具有不依賴于初始節(jié)點(diǎn)的選擇和不易導(dǎo)致局部最優(yōu)等特點(diǎn)。
4、本發(fā)明提出利用基于隨機(jī)游走的全概率模型計(jì)算未聚類節(jié)點(diǎn)屬于初始社團(tuán)的概率,從而能夠有效利用概率方法處理社團(tuán)邊界模糊情形下的社團(tuán)檢測(cè)問(wèn)題。
5、本發(fā)明提出同時(shí)利用正邊信息與負(fù)邊信息判斷未聚類節(jié)點(diǎn)最可能歸屬的社團(tuán),避免了僅利用正邊信息劃分社團(tuán)的所帶來(lái)的不準(zhǔn)確性,最大限度的降低了未聚類節(jié)點(diǎn)誤入某個(gè)社團(tuán)的概率。
6、本發(fā)明提出綜合利用正邊相似度和負(fù)邊相似度確定對(duì)未聚類節(jié)點(diǎn)的處理方式,即未聚類節(jié)點(diǎn)應(yīng)加入到某一初始社團(tuán)或是將未聚類節(jié)點(diǎn)作為局部度中心點(diǎn)尋找新社團(tuán),從而使當(dāng)前未聚類節(jié)點(diǎn)得到最妥善處理,顯著提高了算法對(duì)社團(tuán)的檢測(cè)精度
7、本發(fā)明提出構(gòu)造隨機(jī)游走圖,從而便于運(yùn)用條件概率公式及全概率公式計(jì)算當(dāng)前處理節(jié)點(diǎn)屬于某社團(tuán)的概率。
8、本發(fā)明在對(duì)符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)檢測(cè)過(guò)程中,當(dāng)未聚類節(jié)點(diǎn)不屬于當(dāng)前任意一個(gè)社團(tuán)時(shí),通過(guò)將該未聚類節(jié)點(diǎn)作為新的局部度中心點(diǎn),動(dòng)態(tài)挖掘新社團(tuán),提高了社團(tuán)檢測(cè)精度。
9、本發(fā)明通過(guò)不斷更新隨機(jī)游走圖,提高了社團(tuán)檢測(cè)精度。
附圖說(shuō)明
圖1為本發(fā)明的結(jié)構(gòu)示意圖;
圖2為本發(fā)明尋找初始社團(tuán)方法的流程圖;
圖3為本發(fā)明基于隨機(jī)游走的符號(hào)網(wǎng)絡(luò)社團(tuán)擴(kuò)充方法的流程圖;
圖4a為本發(fā)明隨機(jī)游走模型中構(gòu)造游走圖的流程圖;
圖4b為本發(fā)明隨機(jī)游走模型中構(gòu)造游走圖G1的流程圖;
圖4c為本發(fā)明隨機(jī)游走模型中構(gòu)造游走圖G2的流程圖。
具體實(shí)施方式
本實(shí)施例中,一種基于正負(fù)邊信息的符號(hào)網(wǎng)絡(luò)社團(tuán)結(jié)構(gòu)方法是按如下步驟進(jìn)行:如圖1所示,首先尋找初始社團(tuán),其次利用隨機(jī)游走模型擴(kuò)充初始社團(tuán),最后進(jìn)行社團(tuán)優(yōu)化:
步驟1、如圖2所示,利用符號(hào)網(wǎng)絡(luò)中節(jié)點(diǎn)的正度和負(fù)度尋找初始社團(tuán):
步驟1.1、利用式(1)計(jì)算符號(hào)網(wǎng)絡(luò)中節(jié)點(diǎn)v的度deg(v):
deg(v)=degP(v)+|degN(v)| (1)
式(1)中,degP(v)和degN(v)分別表示節(jié)點(diǎn)v的正度和負(fù)度;假設(shè)符號(hào)網(wǎng)絡(luò)中共含有N個(gè)節(jié)點(diǎn),則需計(jì)算N個(gè)節(jié)點(diǎn)的度。
步驟1.2、將符號(hào)網(wǎng)絡(luò)中所有節(jié)點(diǎn)均作為初始節(jié)點(diǎn),從每一個(gè)初始節(jié)點(diǎn)出發(fā),基于符號(hào)網(wǎng)絡(luò)中節(jié)點(diǎn)的度deg(v)來(lái)尋找得到與每一個(gè)初始節(jié)點(diǎn)對(duì)應(yīng)的局部度中心點(diǎn);
對(duì)符號(hào)網(wǎng)絡(luò)中每一個(gè)初始節(jié)點(diǎn),將其鄰接節(jié)點(diǎn)中度最大的節(jié)點(diǎn)視為局部度中心節(jié)點(diǎn),節(jié)點(diǎn)度的計(jì)算方式如式(1)所示。當(dāng)然,會(huì)存在如下情況,即對(duì)于多個(gè)初始節(jié)點(diǎn)可能找到的局部度中心節(jié)點(diǎn)是同一個(gè)節(jié)點(diǎn)。對(duì)于這種節(jié)點(diǎn)有重復(fù)的情況,只需保留一個(gè)局部度中心節(jié)點(diǎn)即可,重復(fù)的節(jié)點(diǎn)刪除。
步驟1.3、根據(jù)所得局部度中心節(jié)點(diǎn)及其正度,獲取q個(gè)初始社團(tuán),并根據(jù)獲取的先后順序進(jìn)行排序,組成初始社團(tuán)集合,記為Y={Yk|k=1,...,q};Yk表示第k個(gè)初始社團(tuán);以q個(gè)初始社團(tuán)內(nèi)的節(jié)點(diǎn)作為已聚類節(jié)點(diǎn),并組成已聚類節(jié)點(diǎn)集,記為U={uj|j=1,...,n};uj表示第j個(gè)已聚類節(jié)點(diǎn);同在第k個(gè)初始社團(tuán)Yk中的節(jié)點(diǎn)組成第k個(gè)已聚類節(jié)點(diǎn)集,記為Uk,并有以符號(hào)網(wǎng)絡(luò)中未包含于任一初始社團(tuán)的所有節(jié)點(diǎn)作為未聚類節(jié)點(diǎn),并組成未聚類節(jié)點(diǎn)集,記為V={vi|i=1,...,m},vi表示第i個(gè)未聚類節(jié)點(diǎn);
具體實(shí)施中,對(duì)每一個(gè)局部度中心節(jié)點(diǎn)尋找對(duì)應(yīng)的初始社團(tuán)。對(duì)當(dāng)前局部度中心節(jié)點(diǎn)a來(lái)說(shuō),找到它所有鄰居節(jié)點(diǎn)中正度最大的節(jié)點(diǎn)b,在找到節(jié)點(diǎn)b的基礎(chǔ)上,查看節(jié)點(diǎn)a和節(jié)點(diǎn)b的所有共同鄰居節(jié)點(diǎn),找到它們中正度數(shù)最大的節(jié)點(diǎn)c。由節(jié)點(diǎn)a、b和c構(gòu)成了一個(gè)完全圖,即為初始社團(tuán)。由不同的局部度中心節(jié)點(diǎn)找到的初始社團(tuán)可能相同,對(duì)于這種有重復(fù)的情況,只保留一個(gè)初始社團(tuán),刪除重復(fù)的初始社團(tuán)。
步驟2、利用基于正負(fù)邊信息的社團(tuán)擴(kuò)充方法對(duì)初始社團(tuán)進(jìn)行擴(kuò)充,得到符號(hào)網(wǎng)絡(luò)的社團(tuán)檢測(cè)結(jié)果。具體的說(shuō),如圖3所示,基于正負(fù)邊信息的社團(tuán)擴(kuò)充方法是按如下步驟進(jìn)行:
步驟2.1、利用式(2)計(jì)算符號(hào)網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)u和v間的相似度Ssigned(u,v):
式(2)中,w(u,x)表示節(jié)點(diǎn)u和節(jié)點(diǎn)x之間的邊的權(quán)值;w(v,x)表示節(jié)點(diǎn)v和節(jié)點(diǎn)x之間的連邊的權(quán)值;在符號(hào)網(wǎng)絡(luò)的鄰接矩陣中,以w(u,x)為例說(shuō)明權(quán)值所代表的信息,w(u,x)有三種取值情況:w(u,x)>0表示節(jié)點(diǎn)u和節(jié)點(diǎn)x之間連邊是正邊;w(u,x)<0表示節(jié)點(diǎn)u和節(jié)點(diǎn)x之間連邊是負(fù)邊;w(u,x)=0表示節(jié)點(diǎn)u和節(jié)點(diǎn)x之間沒(méi)有邊相連。Γ(u)表示節(jié)點(diǎn)u的鄰接節(jié)點(diǎn)集合,Γ(v)表示節(jié)點(diǎn)v的鄰接節(jié)點(diǎn)集合;
步驟2.2、從符號(hào)網(wǎng)絡(luò)的鄰接矩陣中分別獲得只包含正邊信息的鄰接矩陣和負(fù)邊信息的鄰接矩陣;符號(hào)網(wǎng)絡(luò)的鄰接矩陣A的維數(shù)為N×N。假設(shè)第i個(gè)節(jié)點(diǎn)和第j個(gè)節(jié)點(diǎn)分別是節(jié)點(diǎn)u和節(jié)點(diǎn)v,則第i行第j列的元素A(i,j)表示節(jié)點(diǎn)u和節(jié)點(diǎn)v之間邊的權(quán)值w(u,v),即A(i,j)=w(u,v)。在獲取只包含正邊信息的鄰接矩陣時(shí),將鄰接矩陣A中小于0的元素全部設(shè)置為0,所得的鄰接矩陣中的元素均大于等于0,即為只包含正邊信息的鄰接矩陣;同樣,在獲取只包含負(fù)邊信息的鄰接矩陣時(shí),將鄰接矩陣A中大于0的元素全部設(shè)置為0,所得鄰接矩陣的元素均小于等于0,再將矩陣中所有元素取其絕對(duì)值,即為只包含負(fù)邊信息的鄰接矩陣。
步驟2.3、利用式(2),分別基于所得正邊信息的鄰接矩陣和負(fù)邊信息的鄰接矩陣,計(jì)算任意兩個(gè)節(jié)點(diǎn)間的相似度,從而獲得任意兩個(gè)節(jié)點(diǎn)間的正邊相似度和負(fù)邊相似度;
步驟2.4、根據(jù)任意兩個(gè)節(jié)點(diǎn)間的正邊相似度和負(fù)邊相似度,利用隨機(jī)游走模型計(jì)算所有未聚類節(jié)點(diǎn)中任意第i個(gè)未聚類節(jié)點(diǎn)vi屬于所有n個(gè)初始社團(tuán)中第k個(gè)初始社團(tuán)Yk的正概率值Pik+和負(fù)概率值Pik-;
當(dāng)在隨機(jī)游走模型中用到的相似度值是任意兩個(gè)節(jié)點(diǎn)間的正邊相似度時(shí),可以計(jì)算出所有未聚類節(jié)點(diǎn)中任意第i個(gè)未聚類節(jié)點(diǎn)vi屬于所有n個(gè)初始社團(tuán)中第k個(gè)初始社團(tuán)Yk的正概率值Pik+;同樣,當(dāng)在隨機(jī)游走模型中用到的相似度值是任意兩個(gè)節(jié)點(diǎn)間的負(fù)邊相似度時(shí),可以計(jì)算出所有未聚類節(jié)點(diǎn)中第i個(gè)未聚類節(jié)點(diǎn)vi屬于所有n個(gè)初始社團(tuán)中第k個(gè)初始社團(tuán)Yk的負(fù)概率值Pik-。
步驟2.5、比較未聚類節(jié)點(diǎn)vi屬于某初始社團(tuán)的正概率值和負(fù)概率值,若使得Pik+>Pik-,執(zhí)行步驟2.6;若對(duì)都有Pik+≤Pik-,則執(zhí)行步驟2.7;
若使得Pik+>Pik-,表示第i個(gè)未聚類節(jié)點(diǎn)vi的正邊與第k個(gè)初始社團(tuán)的連接緊密程度大于其負(fù)邊與該社團(tuán)的連接緊密程度。具體實(shí)施中,滿足Pik+>Pik-的k可能有多個(gè)。
步驟2.6、將第i個(gè)未聚類節(jié)點(diǎn)vi加入第k個(gè)初始社團(tuán)Yk中;并執(zhí)行步驟2.9;
具體實(shí)施過(guò)程中,若滿足Pik+>Pik-的k有多個(gè),不妨設(shè)為k1,…,kn′。若Pik′+=max{Pik+|k=k1,…,kn′},則將未聚類節(jié)點(diǎn)vi加入第k′個(gè)社團(tuán)中,即將vi加入到使得正概率值最大的社團(tuán)中。
步驟2.7、將第i個(gè)未聚類節(jié)點(diǎn)vi作為新的局部度中心點(diǎn),利用步驟1.3尋找新的初始社團(tuán);若發(fā)現(xiàn)了新的初始社團(tuán),則執(zhí)行步驟2.9,否則,執(zhí)行步驟2.8;
對(duì)都有Pik+≤Pik-,表示第i個(gè)未聚類節(jié)點(diǎn)vi的正邊與任意初始社團(tuán)的連接緊密程度小于其負(fù)邊與該社團(tuán)的連接緊密程度,表明第i個(gè)未聚類節(jié)點(diǎn)vi不屬于任意一個(gè)初始社團(tuán),則將第i個(gè)未聚類節(jié)點(diǎn)vi視作局部度中心節(jié)點(diǎn),按照步驟1尋找新的初始社團(tuán)。
步驟2.8、利用式(3)計(jì)算第i個(gè)未聚類節(jié)點(diǎn)vi與第k個(gè)初始社團(tuán)Yk的連接強(qiáng)度T(vi,Yk),從而獲得第i個(gè)未聚類節(jié)點(diǎn)vi與所有初始社團(tuán)的連接強(qiáng)度,并將第i個(gè)未聚類節(jié)點(diǎn)vi加入最大連接強(qiáng)度所對(duì)應(yīng)的初始社團(tuán)中;
式(3)中,num1表示第i個(gè)未聚類節(jié)點(diǎn)vi與第k個(gè)初始社團(tuán)Yk所有節(jié)點(diǎn)的連接邊數(shù),num2表示第k個(gè)初始社團(tuán)Yk的節(jié)點(diǎn)數(shù)目;
此時(shí),第i個(gè)未聚類節(jié)點(diǎn)vi的度較低,與其他社團(tuán)的連接不緊密,無(wú)法再開(kāi)辟新的社團(tuán),按照該步驟將其加入到與其聯(lián)系最緊密的社團(tuán)中。
步驟2.9、更新所有初始社團(tuán)中所有已聚類節(jié)點(diǎn);
當(dāng)按照步驟2.5處理完第i個(gè)未聚類節(jié)點(diǎn)vi時(shí),初始社團(tuán)個(gè)數(shù)或初始社團(tuán)中包含的點(diǎn)數(shù)會(huì)發(fā)生變化,因此更新所有初始社團(tuán),即更新所有已聚類節(jié)點(diǎn)。
步驟2.10、更新符號(hào)網(wǎng)絡(luò)中所有未聚類節(jié)點(diǎn);
當(dāng)對(duì)第i個(gè)未聚類節(jié)點(diǎn)vi處理完畢后,未聚類節(jié)點(diǎn)數(shù)目發(fā)生變化,即更新符號(hào)網(wǎng)絡(luò)中所有未聚類節(jié)點(diǎn)。
步驟2.11、判斷符號(hào)網(wǎng)絡(luò)中是否存在未聚類節(jié)點(diǎn)時(shí),若存在,則返回步驟2.4;否則,執(zhí)行步驟2.12;
步驟2.12、判斷兩個(gè)社團(tuán)是否滿足式(4),若滿足,則將社團(tuán)進(jìn)行優(yōu)化合并,并得到符號(hào)網(wǎng)絡(luò)的社團(tuán)檢測(cè)結(jié)果:
式(4)中,Ci和Cj分別表示第i個(gè)社團(tuán)和第j個(gè)社團(tuán)中節(jié)點(diǎn)的集合,ξ為閾值,ξ=0.5。
在對(duì)初始社團(tuán)進(jìn)行優(yōu)化合并時(shí),設(shè)定閾值ξ=0.5。表明兩個(gè)社團(tuán)中,規(guī)模較小的社團(tuán)有超過(guò)一半的節(jié)點(diǎn)包含在規(guī)模較大的社團(tuán)中時(shí),將規(guī)模較小的社團(tuán)合并到規(guī)模較大的社團(tuán)中。
具體實(shí)施中,步驟2.4中的隨機(jī)游走模型是按如下步驟進(jìn)行:
將利用全概率模型及條件概率公式計(jì)算未聚類節(jié)點(diǎn)vi游走到每個(gè)初始社團(tuán)的概率。首先計(jì)算在未聚類節(jié)點(diǎn)vi屬于第k個(gè)初始社團(tuán)的條件下游走到其他初始社團(tuán)的條件概率,再計(jì)算未聚類節(jié)點(diǎn)vi屬于第k個(gè)初始社團(tuán)的概率,最后,利用全概率模型計(jì)算得到未聚類節(jié)點(diǎn)vi游走到每個(gè)初始社團(tuán)的概率。
步驟2.4.1、假設(shè)從第i個(gè)未聚類節(jié)點(diǎn)vi開(kāi)始游走,根據(jù)社團(tuán)個(gè)數(shù)相應(yīng)次的利用隨機(jī)游走模型計(jì)算出第i個(gè)未聚類節(jié)點(diǎn)vi屬于每一個(gè)社團(tuán)的正概率與負(fù)概率;
從第i個(gè)未聚類節(jié)點(diǎn)vi開(kāi)始游走,根據(jù)社團(tuán)個(gè)數(shù)相應(yīng)次的利用隨機(jī)游走模型計(jì)算第i個(gè)未聚類節(jié)點(diǎn)vi屬于所有社團(tuán)的概率。假設(shè)此時(shí)網(wǎng)絡(luò)中的社團(tuán)個(gè)數(shù)為q,在每次利用隨機(jī)游走模型時(shí),先構(gòu)造隨機(jī)游走圖,即對(duì)每一個(gè)未聚類節(jié)點(diǎn)都需要構(gòu)造q次隨機(jī)游走圖。
步驟2.4.2、假設(shè)第i個(gè)未聚類節(jié)點(diǎn)vi與第k個(gè)初始社團(tuán)Yk中所有節(jié)點(diǎn)有邊相連,則構(gòu)造第k個(gè)隨機(jī)游走圖Gk,且Gk=(U′k,E′k),U′k表示所有社團(tuán)中的節(jié)點(diǎn)與第i個(gè)未聚類節(jié)點(diǎn)vi的并集;E′k表示所有社團(tuán)中的邊以及第i個(gè)未聚類節(jié)點(diǎn)vi分別與第k個(gè)初始社團(tuán)Yk中所有節(jié)點(diǎn)相連所形成的邊;即
為了創(chuàng)造未聚類節(jié)點(diǎn)vi屬于第k個(gè)初始社團(tuán)Yk這一條件,構(gòu)造隨機(jī)游走圖Gk。隨機(jī)游走圖Gk中的節(jié)點(diǎn)是所有初始社團(tuán)中的節(jié)點(diǎn)以及未聚類節(jié)點(diǎn)vi。因?yàn)槊總€(gè)初始社團(tuán)都是一個(gè)完全圖,所以如果vi屬于初始社團(tuán)Yk,那么vi將與Yk中的每個(gè)節(jié)點(diǎn)都有邊相連。隨機(jī)游走圖Gk中的邊是所有初始社團(tuán)中的邊以及vi分別與Yk中所有節(jié)點(diǎn)相連所形成的邊。
圖4a-4c給出了構(gòu)造隨機(jī)游走圖的示意圖。圖4a中含有5個(gè)節(jié)點(diǎn),分別為節(jié)點(diǎn)1,2,3,5,6,且均為已聚類節(jié)點(diǎn),5個(gè)節(jié)點(diǎn)形成兩個(gè)初始社團(tuán),第一個(gè)初始社團(tuán)由節(jié)點(diǎn)1,2,3及節(jié)點(diǎn)1,2,3間的邊構(gòu)成,第二個(gè)初始社團(tuán)由節(jié)點(diǎn)3,5,6及節(jié)點(diǎn)3,5,6間的邊構(gòu)成,;圖4b中節(jié)點(diǎn)4為未聚類節(jié)點(diǎn),將節(jié)點(diǎn)4與第一個(gè)初始社團(tuán)中的所有節(jié)點(diǎn)相連,得到隨機(jī)游走圖G1;圖4c中節(jié)點(diǎn)4為未聚類節(jié)點(diǎn),將節(jié)點(diǎn)4與第二個(gè)初始社團(tuán)中的所有節(jié)點(diǎn)相連,得到隨機(jī)游走圖G2。
步驟2.4.3、定義循環(huán)變量t,并初始化t=1;
循環(huán)變量t表示第t次利用隨機(jī)游走模型。
步驟2.4.4、計(jì)算第i個(gè)未聚類節(jié)點(diǎn)vi與Gk中其他節(jié)點(diǎn)u之間的正邊相似度值及負(fù)邊相似度值,并利用式(5)將相似度值進(jìn)行歸一化處理,獲得初始正概率向量s1+與初始負(fù)概率向量s1-;
式(5)中,x表示歸一化前的正邊(負(fù)邊)相似度值,x′表示歸一化后的正邊(負(fù)邊)相似度值,max表示vi與Gk中其他節(jié)點(diǎn)之間正邊(負(fù)邊)相似度的最大值,min表示vi與Gk中其他節(jié)點(diǎn)之間正邊(負(fù)邊)相似度的最小值;
未聚類節(jié)點(diǎn)vi與Gk中其他節(jié)點(diǎn)u之間的相似度值有兩類,分別是正邊相似度和負(fù)邊相似度,分別針對(duì)兩類相似度值進(jìn)行歸一化處理。
步驟2.4.5、利用式(6)計(jì)算第i個(gè)未聚類節(jié)點(diǎn)vi第t次游走到隨機(jī)游走圖Gk中所有節(jié)點(diǎn)的正概率向量和負(fù)概率向量
式(6)中,矩陣M+與M-分別表示所有社團(tuán)中任意節(jié)點(diǎn)間正邊相似度值所構(gòu)成的正邊相似度矩陣和負(fù)邊相似度值所構(gòu)成的負(fù)邊相似度矩陣。M+T和M-T分別表示是n×n維的矩陣M+與M-的轉(zhuǎn)置;α表示跳轉(zhuǎn)概率,且α=0.15;d表示轉(zhuǎn)移概率向量,且為vi第t次游走到隨機(jī)游走圖Gk中所有節(jié)點(diǎn)的正概率向量;為vi第t次游走到隨機(jī)游走圖Gk中所有節(jié)點(diǎn)的負(fù)概率向量。
未聚類節(jié)點(diǎn)vi可能直接跳轉(zhuǎn)到Gk中其他節(jié)點(diǎn),也可能未直接跳轉(zhuǎn)而是基于節(jié)點(diǎn)間的相似度游走到Gk中其他節(jié)點(diǎn)。其中,vi直接跳轉(zhuǎn)到Gk中其他節(jié)點(diǎn)的概率為α·d,vi基于節(jié)點(diǎn)間的相似度游走到Gk中其他節(jié)點(diǎn)的正概率為負(fù)概率為
由于所有初始社團(tuán)中節(jié)點(diǎn)數(shù)目之和為n,故矩陣M維數(shù)為n×n,向量d是n維的,概率向量與也是n維的。
步驟2.4.6、循環(huán)執(zhí)行步驟2.4.6,直到概率向量與收斂為止;并將收斂時(shí)的正概率向量記為將負(fù)概率向量記為表示在隨機(jī)游走圖Gk中,未聚類節(jié)點(diǎn)vi游走到第j個(gè)已聚類節(jié)點(diǎn)uj的正概率;即表示在隨機(jī)游走圖Gk中,未聚類節(jié)點(diǎn)vi游走到第j個(gè)已聚類節(jié)點(diǎn)uj的負(fù)概率;即
步驟2.4.7、利用式(7)獲得在隨機(jī)游走圖Gk中,未聚類節(jié)點(diǎn)vi游走到第j個(gè)初始社團(tuán)Yj的正概率p+(vi→Yj|vi∈Gk)及負(fù)概率p-(vi→Yj|vi∈Gk):
式(7)中,和分別表示vi游走到初始社團(tuán)Yj中所有節(jié)點(diǎn)正概率和負(fù)概率的均值。
該步驟利用上步所得結(jié)果,即在未聚類節(jié)點(diǎn)vi屬于第k個(gè)初始社團(tuán)Yk的條件下游走到所有初始社團(tuán)中節(jié)點(diǎn)的正概率或者負(fù)概率,計(jì)算未聚類節(jié)點(diǎn)vi游走到第j個(gè)初始社團(tuán)Yj中所有節(jié)點(diǎn)正概率或者負(fù)概率的均值。
步驟2.4.8、利用式(8)計(jì)算第i個(gè)未聚類節(jié)點(diǎn)vi游走到第j個(gè)初始社團(tuán)Yj的正概率Pij+與負(fù)概率Pij-:
式(8)中:表示第i個(gè)未聚類節(jié)點(diǎn)vi能夠與第k個(gè)初始社團(tuán)Yk中所有節(jié)點(diǎn)相連的概率;S+(vi,uj)與S-(vi,uj)分別表示節(jié)點(diǎn)vi與節(jié)點(diǎn)uj的正邊相似度與負(fù)邊相似度。
該步驟中,p+(vi∈Gk)與p-(vi∈Gk)分別是節(jié)點(diǎn)vi與Gk中所有節(jié)點(diǎn)正邊相似度或是負(fù)邊相似度的平均值。該步驟利用全概率公式及條件概率公式計(jì)算節(jié)點(diǎn)vi屬于社團(tuán)Yj的正概率Pij+或是負(fù)概率Pij-。