本發明屬于社會網絡及計算機應用技術領域,尤其涉及一種基于關系組合優化和種子擴張的多關系社區發現方法。
背景技術:
社會網絡(socialnetwork)是由許多節點和連邊構成的網狀結構,節點可以對應現實生活中的人以及各種社會組織機構,節點之間的連邊可以對應日常生活中的各種交往關系,比如人與人之間的朋友、家人、同學等社會關系,也可以是微信、電話、郵件等聯絡關系。社區發現是包括社會網絡在內的復雜網絡的一個重要研究方向,在電子商務、公共安全、生物學等領域都有著巨大的應用價值。社區是指網絡中一些相互之間擁有較多共同特征,聯系比較多的節點聚類。網絡拓補結構具體表現為同一社區的節點之間聯系比較緊密,而不屬于同一社區的節點之間聯系比較稀疏。社區發現是社會網絡分析的一個基本任務,是對網絡中存在的社區結構進行挖掘,研究網絡的社區對理解整個網絡的結構和功能具有至關重要的作用。一般對社會網絡的研究分析大都是對網絡中的一種關系進行研究,而現實生活中的社會網絡個體之間都存在多種類型的關系,比如人與人之間存在著朋友、同學、家人等社會關系。而web2.0時代的到來更使人們之間存在的交流聯系方式變得多種多樣,除了傳統的電話和短信,還有微信、微博、人人facebook、twitter、youtube等多種基于互聯網的交流聯系也在社會網絡中普遍存在,甚至在同一種交流工具中也存在著多種交流方式,比如微博中人們之間可以通過評論、轉發、點贊等多種渠道來產生交流。多關系的社會網絡普遍存在于現實生活中。目前對社會網絡的社區發現方法基本都是基于一種關系的研究,而由于社會個體之間的交流方式存在一定主觀性,只采用一種關系不能充分掌握個體間的交流信息,很可能會因為信息不全面導致社區劃分結果最終跟現實不對應。同時某種交流方式可能會因為更容易跟陌生人或平常不熟悉的人發生聯系而產生較多社交噪音,這些噪音也會掩蓋現實生活中真正的社區結構。現有的一部分多關系社區發現方法在對多關系網絡進行社區發現時,將各種關系組成的網絡都一視同仁,但實際多關系社會網絡中,由于交流方式的不同,每一種關系的社交噪音是不一樣的。這樣的方法雖然可以使各關系之間的社區信息互相補充,但同時也會引入各社交關系的噪音,在有些社交關系噪音比較大的情況下有可能會造成綜合考慮多種關系進行社區發現的結果反而不如只考慮單個關系進行社區發現的結果。
綜上所述,現有技術存在的問題是:目前對社會網絡的社區發現方法時忽略了各關系的差異性,將各個關系所帶來的信息一視同仁,因此存在綜合各關系網絡的社區信息時也引入了各關系網絡所攜帶的社交噪音,造成社區發現準確率不夠高,某些關系噪音較大時甚至會造成綜合考慮多種關系進行社區發現的結果反而不如只考慮單個關系進行社區發現的結果。
技術實現要素:
針對現有技術存在的問題,本發明提供了一種基于關系組合優化和種子擴張的多關系社區發現方法。
本發明是這樣實現的,一種基于關系組合優化和種子擴張的多關系社區發現方法,所述基于關系組合優化和種子擴張的多關系社區發現方法通過多目標優化優化網絡中各種關系的權重配比將多關系網絡融合成一個能有效綜合各關系社區信息的同時噪音低的單關系網絡,然后綜合多關系網絡中各關系的社區劃分信息將在各個關系中都處于同一個社區的人群尋找出來,以這些人群組成的小社區作為種子社區,采用種子擴張策略對多關系社會網絡進行社區挖掘,得到準確率更高的的社區結構劃分;
所述權重配比優化子目標一采用模塊度作為衡量結果社區結構強度和可靠性的指標,計算結果ca的模塊度qa,模塊度計算如下:
其中ai,j是整個網絡的鄰接矩陣,m是網絡中包含的邊的數目,ki和kj分別表示節點i和節點j的度數,δ(ci,cj)的取值取決于i和j是否處于同一個社區內,是的話δ(ci,cj)取值為,否則話其取值為0;
所述權重配比優化子目標二采用nmi作為社區結構信息相似性衡量標準,按如下計算:
其中混淆矩陣h的行代表真實的社區劃分結果,h的列代表劃分算法畫出來的社區結果。ca和cb分別代表a,b兩個結果包含的社區個數,hij代表應該在社區i中卻出現在社區j中的節點個數,hi.和h.j分別代表第i行和第j列的社區的節點數之和,n是整個網絡中所含的節點數目;當nmi=1時,代表a和b兩個結果的社區結構完全相同,nmi=0,時代表完全不一樣;
所述種子擴張策略選取節點數最多的社區si作為種子社區;計算種子社區si與其余候選種子社區以及剩余節點的相似度,計算式子如下:
u和v分別是社區si,sj中的節點,ni和nj分別是兩個社區中節點的數量,
進一步,所述基于關系組合優化和種子擴張的多關系社區發現方法包括以下步驟:
1)將多關系網絡的各關系直接按照相同比例來配置權重把多關系網絡合并成一個帶權的單關系網絡a;
2)采用一種單關系的社區劃分方法對網絡a進行社區劃分,所得的社區劃分結果記為ca,接著采用一種衡量社區發現結果可靠性及結構強度的指標對結果ca進行衡量,衡量出的值記為qa;
3)以各關系的權重配比作為決策變量,采用一種多目標優化方法同時對下列兩個子目標進行優化來獲得一組最優決策變量集;
優化子目標一:新的權重配比合并成的單關系網絡b與網絡a的社區劃分結果的結構衡量指標差值盡可能大;
優化子目標二:新的權重配比合并成的單關系網絡b與網絡a的社區劃分結果所顯示的社區結構信息相似性盡可能大。
4)在步驟3)獲得的最優決策變量集中選擇使子目標一最大的權重配比將多關系網絡融合成單關系網絡m,并采用一種單關系社區發現方法對m進行社區發現,將所獲社區個數記為k;
5)采用一種單關系社區發現方法分別對每個關系組成的網絡進行社區劃分;
6)設置迭代標志l=0,對步驟5)各關系社區發現的結果進行統計,將在所有關系中都處于一個社區的節點作為種子社區放入種子社區集合cl中;
7)通過單關系網絡m通過一種相似度計算方法來計算網絡中各節點之間的相似度;
8)若l=0,令l=l+1,集合cl=cl-1,進行下一步;若l>0,檢測集合cl與cl-1是否一樣,是則轉步驟11),否則令l=l+1,集合cl=cl-1進行下一步;
9)將種子社區候選集合cl中的尚未參與過合并的社區按照社區包含的節點數量從大到小進行排序,選取排序最高的社區si作為種子社區;
10)通過步驟7)計算出來的相似度計算種子社區si與其余候選種子社區以及剩余節點的相似度記為sim;
11)選取與si相似度超過設定閾值β的社區和節點放入候選區,通過一種局部適應度計算方法計算si當前適應度f以及候選區各社區的當前適應度fh,然后分別計算候選合并區的社區和節點與si合并后的適應度值記為fnew,接著計算fnew相對于si原來的適應度f的增長率vs以及候選社區適應度fnew的增長率vh;
12)在vs和vh都大于增長率閾值δ的前提下,選使vs+vh最大的候選社區sj與si合并成一個新社區,更新si和種子社區集合cl,返回步驟10);若沒有符合條件的,則檢查集合cl中現有社區是否都已是合并過的,否的話返回步驟9),是的話將集合cl中所有社區的合并記錄清零,返回步驟8);
13)檢查網絡中社區數目,若小于等與k,則輸出結果,程序結束,輸出集合cl;若大于k,則執行如下消除策略;以包含節點數目最多的前k個社區為目標,依次計算剩余社區及節點與他們的相似度,將剩余社區和節點歸并入跟他們相似度最高的前k個社區,更新集合cl,最后輸出社區集合cl作為最終劃分結果。
進一步,采用單關系社區發現算法bgll分別對四個關系組成的網絡進行社區劃分,統計劃分結果根據式子
進一步,通過單關系網絡m來計算網絡中各節點之間的相似度sim:
其中k表示i,j被劃為相同社區的維度個數,n=4,δ增益因子為1,w(i,j)時節點i和節點j的連接邊權重,com(i,j)兩個節點鄰居節點交集,n(i,j)是兩個節點的鄰居節點并集。
進一步,選取與si相似度超過設定閾值γ=1的社區和節點放入候選區,計算si當前適應度f以及候選區各社區的當前適應度fh,計算公式如下:
其中式子的
然后分別計算候選合并區的社區和節點與si合并后的適應度值記為,然后計算fnew相對于si原來的適應度f的增長率vs以及候選社區適應度fh的增長率vh;
在vs和vh都大于增長率閾值δ=0.1的前提下,選取vs+vh最大的那個社區與si合并成一個新社區,更新si和種子社區集合cl;若沒有符合條件的,則檢查集合cl中現有社區是否都已是合并過的;是的話將集合cl中所有社區的合并記錄清零;
檢查社區數目,若小于等與k,則輸出結果,程序結束,輸出集合cl;若大于k,則以包含節點數目最多的前k個社區為目標,依次計算剩余社區與他們的相似度,將剩余社區和節點歸并入跟他們相似度最高的前k個社區,更新集合cl,最后輸出社區集合cl作為最終劃分結果。
本發明的另一目的在于提供一種應用所述基于關系組合優化和種子擴張的多關系社區發現方法的社會網絡。
本發明的另一目的在于提供一種應用所述基于關系組合優化和種子擴張的多關系社區發現方法的計算機。
本發明的優點及積極效果為:
1.本發明對多關系網絡中的各種關系通過權重配比來進行組合優化,能夠在綜合各關系網絡有效信息的同時更好地克服不同關系網絡帶來的社交噪音,在各關系噪音較大時,依然能夠獲得比較準確的社區劃分結果。本發明通過綜合多關系網絡中各關系的社區劃分信息將在各個關系中都處于同一個社區的人群尋找出來,這些非常固定的社交圈子一般都處于所在社區的核心位置,以他們作為種子社區進行擴張更有利于發現出多關系網絡中隱含的真實社區。人工網絡實驗表明,本發明的社區發現結果有的準確性比傳統方法平均提高了越9%,具體效果見圖4。在各關系攜帶的噪音比例差距高達50%的惡劣情況下,傳統多關系方法受噪音影響社區發現結果準確性降低到71%已不如單獨采用噪音最小的關系的82%,而這種情況下本發明的準確性為86.3%,具體效果見圖5。
附圖說明
圖1是本發明實施例提供的基于關系組合優化和種子擴張的多關系社區發現方法流程圖。
圖2是本發明實施例提供的基于關系組合優化和種子擴張的多關系社區發現實現流程圖。
圖3是本發明實施例提供的的結果與只采用一種關系進行社區發現的結果對比示意圖。
圖4是本發明實施例提供的與傳統多關系社區發現方法pmm在不同噪音下的結果對比示意圖。
圖5是本發明實施例提供的本發明具體效果示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
下面結合附圖對本發明的應用原理作詳細的描述。
本發明實施例提供的基于關系組合優化和種子擴張的多關系社區發現方法通過優化網絡中各種關系的權重配比將多關系網絡融合成一個能有效綜合各關系社區信息的同時噪音低的單關系網絡,然后綜合多關系網絡中各關系的社區劃分信息將在各個關系中都處于同一個社區的人群尋找出來,以這些人群組成的小社區作為種子社區,采用一種種子擴張策略對多關系社會網絡進行社區挖掘,從而得到準確率更高的的社區結構劃分。
如圖1所示,本發明實施例提供的基于關系組合優化和種子擴張的多關系社區發現方法包括以下步驟:
s101:將多關系網絡的各關系直接按照1:1比例來配置權重將多關系網絡合并成一個帶權重的單關系網絡;
s102:采用一種單關系社區劃分算法對該網絡進行社區劃分,采用某種衡量指標計算劃分結果社區結構強度;
s103:采用一種多目標進化算法對各維度關系的權重組合配比進行優化優化目標一為的新權重合并成的網絡的社區劃分結果與最開始1:1合并成的網絡社區劃分結果的社區結構強度指標之差盡可能大;優化目標二采用一種指標衡量二者社區劃分結果相似度,使相似度盡可能高;
s104:用優化后的權重配比將多關系網絡轉化成單關系網絡;
s105:采用一種單關系社區發現算法分別對每個關系組成的網絡進行社區劃分,統計關系社區發現的結果,將在所有關系中都處于一個社區的節點作為候選種子社區;
s106:通過所選用的社區相似度函數和局部適應度函數在種子社區和剩余節點間進行合并;
s107:合并結束后檢測社區數目決定是否使用消除策略,輸出最終社區劃分結果。
本發明實施例提供的基于關系組合優化和種子擴張的多關系社區發現方法具體包括以下步驟:
1)將多關系網絡的各關系直接按照相同比例來配置權重把多關系網絡合并成一個帶權的單關系網絡a。
2)采用一種單關系的社區劃分方法對網絡a進行社區劃分,所得的社區劃分結果記為ca,接著采用一種衡量社區發現結果可靠性及結構強度的指標對結果ca進行衡量,衡量出的值記為qa。
3)以各關系的權重配比作為決策變量,采用一種多目標優化方法同時對下列兩個子目標進行優化來獲得一組最優決策變量集;
優化子目標一:新的權重配比合并成的單關系網絡b與網絡a的社區劃分結果的結構衡量指標差值盡可能大;
優化子目標二:新的權重配比合并成的單關系網絡b與網絡a的社區劃分結果所顯示的社區結構信息相似性盡可能大,二者社區結構信息相似性可以用一些常用的指標,比如標準化互信息nmi。
4)在步驟3)獲得的最優決策變量集中選擇使子目標一最大的權重配比將多關系網絡融合成單關系網絡m,并采用一種單關系社區發現方法對m進行社區發現,將所獲社區個數記為k。
5)采用一種單關系社區發現方法分別對每個關系組成的網絡進行社區劃分。
6)設置迭代標志l=0,對步驟5)各關系社區發現的結果進行統計,將在所有關系中都處于一個社區的節點作為種子社區放入種子社區集合cl中。
7)通過單關系網絡m通過一種相似度計算方法來計算網絡中各節點之間的相似度。
8)若l=0,令l=l+1,集合cl=cl-1,進行下一步;若l>0,檢測集合cl與cl-1是否一樣,是則轉步驟11),否則令l=l+1,集合cl=cl-1進行下一步。
9)將種子社區候選集合cl中的尚未參與過合并的社區按照社區包含的節點數量從大到小進行排序,選取排序最高的社區si作為種子社區。
10)通過步驟7)計算出來的相似度計算種子社區si與其余候選種子社區以及剩余節點的相似度記為sim。
11)選取與si相似度超過設定閾值β的社區和節點放入候選區,通過一種局部適應度計算方法計算si當前適應度f以及候選區各社區的當前適應度fh,然后分別計算候選合并區的社區和節點與si合并后的適應度值記為fnew,接著計算fnew相對于si原來的適應度f的增長率vs以及候選社區適應度fnew的增長率vh。
12)在vs和vh都大于增長率閾值δ的前提下,選使vs+vh最大的候選社區sj與si合并成一個新社區,更新si和種子社區集合cl,返回步驟10);若沒有符合條件的,則檢查集合cl中現有社區是否都已是合并過的,否的話返回步驟9),是的話將集合cl中所有社區的合并記錄清零,返回步驟8)。
13)檢查網絡中社區數目,若小于等與k,則輸出結果,程序結束,輸出集合cl;若大于k,則執行如下消除策略;
以包含節點數目最多的前k個社區為目標,依次計算剩余社區及節點與他們的相似度,將剩余社區和節點歸并入跟他們相似度最高的前k個社區,更新集合cl,最后輸出社區集合cl作為最終劃分結果。
下面結合附圖對本發明的應用原理作進一步的描述。
本發明實施例提供的基于關系組合優化和種子擴張的多關系社區發現方法包括以下步驟:
步驟一:輸入多關系網絡,并將各關系網絡處理成鄰接矩陣,輸入相似度閾值σ=1及增長率閾值β=0.1;
采用的多關系網絡為人工生成網絡,人造網絡的大小為350個節點,包含三個社區,每個社區分別包括50,100和200個節點。節點之間存在四個維度的關系,即節點間存在著四種連接方式。同一社區間的節點以概率u進行連接,不屬于同一社區的節點間的連接概率根據維度變化,即不同關系下的不同社區間節點的連接概率v不同。同時向網絡中加入了噪聲,噪聲產生的方法是網絡中所有節點之間以概率r進行隨機連接。
步驟二:將多關系網絡的四個關系直接按照1:1比例來配置權重將多關系網絡合并成一個帶權重的單關系網絡a,本發明實施例選用單關系的社區劃分算法bgll對網絡a進行社區劃分,所得的社區劃分結果記為ca,本發明實施例采用模塊度作為衡量結果社區結構強度和可靠性的指標,計算結果ca的模塊度qa,模塊度計算如下:
其中ai,j是整個網絡的鄰接矩陣,m是網絡中包含的邊的數目,ki和kj分別表示節點i和節點j的度數,δ(ci,cj)的取值取決于i和j是否處于同一個社區內,是的話δ(ci,cj)取值為,否則話其取值為0。
步驟三:以各關系的權重配比作為決策變量,采用一種多目標優化方法同時對下列兩個子目標進行優化來獲得一組最優決策變量集;
優化子目標一:新的權重配比合并成的單關系網絡b與網絡a的社區劃分結果的模塊度差值盡可能大,優化子目標二:新的權重配比合并成的單關系網絡b與網絡a的社區劃分結果所顯示的社區結構信息相似性盡可能大,本實施案例使用標準化互信息nmi,按如下計算:
其中混淆矩陣h的行代表真實的社區劃分結果,h的列代表劃分算法畫出來的社區結果。ca和cb分別代表a,b兩個結果包含的社區個數,hij代表應該在社區i中卻出現在社區j中的節點個數,hi.和h.j分別代表第i行和第j列的社區的節點數之和,n是整個網絡中所含的節點數目。當nmi=1時,代表a和b兩個結果的社區結構完全相同,nmi=0,時代表完全不一樣。多目標遺傳算法初始種群大小為50,交叉概率0.8,變異概率0.2,迭代次數300,編碼方式為實數編碼。
步驟四:在步驟三獲得的最優解集中選擇使模塊度值最大的解作為最終解,根據最終解給出的權重配比將多關系網絡合并成單關系網絡m,并采用一種單關系社區發現算法對m進行社區發現,將所獲社區個數記為k,這里k=3。
步驟五:采用單關系社區發現算法bgll分別對四個關系組成的網絡進行社區劃分,統計劃分結果根據式子
步驟六:通過單關系網絡m來計算網絡中各節點之間的相似度sim:
其中k表示i,j被劃為相同社區的維度個數,n=4,δ增益因子為1,w(i,j)時節點i和節點j的連接邊權重,com(i,j)兩個節點鄰居節點交集,n(i,j)是兩個節點的鄰居節點并集。
步驟七:若l=0,令l=l+1,集合cl=cl-1,進行下一步;否的話檢測集合cl與cl-1是否一樣,是的話轉步驟十一,否則,令l=l+1,集合cl=cl-1進行下一步。
步驟八:將種子社區候選集合cl中的尚未參與過合并的社區按照社區包含的節點個數多少排序,選取節點數最多的社區si作為種子社區。
步驟九:計算種子社區si與其余候選種子社區以及剩余節點的相似度,計算式子如下:
u和v分別是社區si,sj中的節點,ni和nj分別是兩個社區中節點的數量,
步驟十:選取與si相似度超過設定閾值γ=1的社區和節點放入候選區,計算si當前適應度f以及候選區各社區的當前適應度fh,計算公式如下:
其中式子的
然后分別計算候選合并區的社區和節點與si合并后的適應度值記為,然后計算fnew相對于si原來的適應度f的增長率vs以及候選社區適應度fh的增長率vh。
步驟十一:在vs和vh都大于增長率閾值δ=0.1的前提下,選取vs+vh最大的那個社區與si合并成一個新社區,更新si和種子社區集合cl,返回步驟十;若沒有符合條件的,則檢查集合cl中現有社區是否都已是合并過的,否的話返回步驟九,是的話將集合cl中所有社區的合并記錄清零,返回步驟八。
步驟十二:檢查社區數目,若小于等與k,則輸出結果,程序結束,輸出集合cl;若大于k,則以包含節點數目最多的前k個社區為目標,依次計算剩余社區與他們的相似度,將剩余社區和節點歸并入跟他們相似度最高的前k個社區,更新集合cl,最后輸出社區集合cl作為最終劃分結果。
下面結合仿真對本發明的應用效果作詳細的描述。
仿真一為本發明實施案例中u=0.5,噪聲r=0.1的情況下本發明與只采用一種關系用bgll算法進行社區發現的結果對比,采用nmi值來驗證實驗結果與真實社區結構的相似度,見圖3。可以看出采用多種關系進行社區發現的結果優于只采用一種關系的結果。
仿真二為本發明實施案例中不斷加大噪聲時(從0.1增加到0.4,每次增加0.05),本發明的檢測結果與傳統的pmm方法的對比,見圖4。可以看出本發明的方法的抗噪音效果比較強。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。