本發明屬于社交網絡技術領域,尤其涉及一種適用于噪音網絡的社區發現方法。
背景技術:
現實世界中的許多網絡,如電話網絡、郵件網絡和犯罪網絡等,由于難以獲得準確完整的網絡結構信息,常常會包含一些錯誤的或缺失的個體連接關系,這類網絡稱之為噪音網絡。當前大部分社區發現的方法都是根據網絡中節點之間的連接關系發現網絡中的社區結構。由于這些方法完全依賴于網絡的拓撲結構,不能適用有噪音的網絡,當網絡中的噪音比例增加時,發現真實社區結構的能力會迅速下降;在真實網絡環境下,社區劃分的部分先驗知識是可以獲知的。比如,我們可能已知某些用戶屬于某個社區,或者已知某兩個用戶屬于相同或不同的社區。將這些先驗信息融入到社區劃分中進行社區發現,可以有效提高社區劃分的準確度,提高噪音環境下社區劃分的魯棒性。然而,當前已有的方法或者沒有給出先驗信息從何而來,或者隨機從網絡中抽取部分節點形成先驗信息。一般情況下,先驗信息是由相應領域的專家對從網絡中選取的節點進行標注得到的。這樣的標注工作費時費力,需要高昂的代價,而隨機抽取的方式過于盲目,得到的先驗信息可能并不具有很強的指導作用,不能以較小的成本有效提升社區劃分的質量。
綜上所述,現有技術存在的問題是:付出代價較高,得到的先驗信息可能并不具有很強的指導作用;當前已有社區發現方法不能適用有噪音的網絡,發現真實社區結構的能力隨著網絡中噪音比例的增加會迅速下降;在獲取先驗信息時,不能以較小的人工成本獲取高質量的先驗信息,降低了社區發現的準確度。
技術實現要素:
針對現有技術存在的問題,本發明提供了一種適用于噪音網絡的社區發現方法。
本發明是這樣實現的,一種適用于噪音網絡的社區發現方法,所述適用于噪音網絡的社區發現方法基于極值優化模塊密度的社區劃分方法和主動學習方法的有機結合;
所述基于極值優化模塊密度的社區劃分方法將先驗信息結合到極值優化模塊密度的方法中,利用成對的約束集優化局部變量和全局變量,在優化目標函數的過程中來引導社區發現;
所述主動學習方法通過從網絡中主動選取可以代表局部社區結構的核心節點以及社區邊界處的節點來構造成對約束集,生成高質量的先驗信息。
進一步,所述適用于噪音網絡的社區發現方法基于極值優化模塊密度的社區劃分方法包括以下步驟:
步驟一,計算網絡中節點的重要性值,確立核心點集合和邊界點集合;
步驟二,選取核心代表點構造先驗信息;
步驟三,選取邊界代表點構造先驗信息;
步驟四,將先驗信息結合到極值優化過程;
步驟五,按拓撲結構把網絡隨機分成節點數大致相等的兩個部分,形成初始社區結構;
步驟六,計算每個節點對社區模塊密度的貢獻值,把貢獻最小的節點移動到另一部分來進行自組織優化,重復這一自組織優化過程,直到網絡的模塊密度值不再增加;
步驟七,移除最終得到的兩個社區之間的連邊,再對每個子網絡執行步驟五和步驟六,直到整個網絡的模塊密度值達到最大。
進一步,所述步驟一具體包括:計算節點的重要性值利用的是基于度和集聚系數的綜合衡量節點重要性的指標,表示為:
pi=f(ki)+g(ci);
其中,
根據給定參數
進一步,所述步驟二具體包括:如果代表點集合rs為空,則從核心點集合cs中選擇重要性值最大的節點k添加到代表點集合rs中;否則從核心點集合cs中選擇與代表點集合rs相似性最小的節點i作為候選代表點,這里節點i與集合c之間的相似性表示為:
s(i,c)=max(sim(i,j)|j∈c);
其中,
對于代表點集合rs中的每對代表點構造先驗信息<i,j>,交由領域專家標注其約束類型。
進一步,所述步驟三具體包括:從邊界節點集合bs中選擇與節點i相似度最大的邊界點b1,若存在多個滿足條件的節點,則將重要性值最小的選為代表點,構造先驗信息<i,b1>,交由領域專家標注其約束類型;
在邊界點集合bs中選擇與節點i相似度最小的邊界點b2,若存在多個滿足條件的節點,則將重要性值最大的選為代表點,構造先驗信息<i,b2>,交由領域專家標注其約束類型。
進一步,所述步驟四具體包括:網絡的模塊密度d全局變量與每個節點對模塊密度的貢獻大小qi局部變量有關,利用已知的成對約束信息通過懲罰違反約束條件的形式對模塊密度d進行優化求解,定義懲罰函數的一般形式為:
其中,α1、α2是懲罰和獎勵的平衡系數,<i,j,w,type>∈c表示節點i和j的相關社區成員關系,
采用懲罰的方式對不滿足約束條件的劃分進行懲罰,即節點i的模塊密度貢獻值應減小。此時,令u(c)中α1=0,α2=1,因此,結合先驗信息優化后的局部變量q′i表示為:
其中,
采用獎勵的方式對滿足約束條件的劃分進行獎勵,即全局變量d值應增大;此時,令u(c)中α1=1,α2=0,因此,結合先驗信息優化后的全局變量d′表示為:
其中,
進一步,所述步驟五中:按拓撲結構把網絡g隨機分成兩個部分g1和g2,每部分具有大致相等的節點數,在每部分中由邊相連的節點構成社區,形成初始社區結構。
進一步,所述步驟六中:計算每個節點對社區模塊密度的貢獻值q′i,把對社區模塊密度貢獻最小的節點移動到另一部分來進行自組織優化;每次移動后都重新計算每個節點的貢獻值;重復這一自組織優化過程,直到網絡的模塊密度值d′不再增加。
進一步,所述步驟七中:移除最終得到的兩個社區之間的連邊,得到若干連通的子網絡;對每個子網絡執行步驟5和步驟6,直到整個網絡的模塊密度達到最大。
本發明的另一目的在于提供一種應用所述適用于噪音網絡的社區發現方法的社交網絡。
本發明的優點及積極效果為:
1、由于將先驗信息融入到社區劃分中進行半監督的社區發現,有效補償噪音帶來的影響,提高噪音環境下社區劃分的魯棒性。
2、采用主動學習技術來獲取先驗信息,能以較小的人工成本獲取有效提升社區劃分質量的先驗信息。
3、采用模塊密度作為社區評估函數,克服了基于模塊度優化方法的分辨率限制現象。
本發明在噪音比例分別設置為2%、4%、6%、8%、10%時,在dolphins網絡中,僅添加10對約束nmi值可以提高1-7%,添加20對約束nmi值能提高3-14%;在football網絡中也有相似的結果,添加10對約束nmi值可以提高2-7%,添加20對約束nmi值能提高6-13%。
附圖說明
圖1是本發明實施例提供的適用于噪音網絡的社區發現方法流程圖。
圖2是本發明實施例提供的適用于噪音網絡的社區發現方法實現流程示意圖。
圖3是本發明實施例提供的本發明在dophins網絡上不同噪音比下的性能評測圖。
圖4是本發明實施例提供的本發明在football網絡上不同噪音比下的性能評測圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
下面結合附圖對本發明的應用原理作詳細的描述。
本發明實施例提供的適用于噪音網絡的社區發現方法是一個基于極值優化模塊密度的社區劃分方法和一個主動學習方法的有機結合;將先驗信息結合到極值優化模塊密度的方法中,利用成對的約束集優化局部變量和全局變量,在優化目標函數的過程中來引導社區發現;通過從網絡中主動選取可以代表局部社區結構的核心節點以及社區邊界處的節點來構造成對約束集,生成高質量的先驗信息。
如圖1所示,本發明實施例提供的適用于噪音網絡的社區發現方法包括以下步驟:
s101:計算網絡中節點的重要性值,確立核心點集合和邊界點集合;
s102:選取核心代表點構造先驗信息;
s103:選取邊界代表點構造先驗信息;
s104:將先驗信息結合到極值優化過程;
s105:按拓撲結構把網絡隨機分成節點數大致相等的兩個部分,形成初始社區結構;
s106:計算每個節點對社區模塊密度的貢獻值,把貢獻最小的節點移動到另一部分來進行自組織優化,重復這一自組織優化過程,直到網絡的模塊密度值不再增加;
s107:移除最終得到的兩個社區之間的連邊,再對每個子網絡執行步驟s105和步驟s106,直到整個網絡的模塊密度值達到最大。
本發明實施例提供的適用于噪音網絡的社區發現方法具體包括以下步驟:
步驟1:計算網絡中節點的重要性值,確定核心點集合和邊界點集合。
進一步,利用一種節點重要性衡量指標評估網絡中每個節點的重要性,根據給定參數,將網絡中所有重要性值大于給定參數的節點構成核心點集合,邊界點集合是由非核心點構成的節點集合。
步驟2:選取核心代表點構造先驗信息。
進一步,如果代表點集合為空,則從核心點集合中選擇重要性值最大的節點k添加到代表點集合;否則從核心點集合中選擇與代表點集合相似性最小的節點i作為候選代表點;
進一步,對于代表點集合中的每對代表點構造先驗信息,交由領域專家標注其約束類型。
步驟3:選取邊界代表點構造先驗信息。
進一步,從邊界點集合中選擇與節點i相似度最大的邊界點b1,若存在多個滿足條件的節點,則將重要性值最小的選為代表點,構造先驗信息<i,b1>,交由領域專家標注其約束類型;
進一步,在邊界點集合中選擇與節點i相似度最小的邊界點b2,若存在多個滿足條件的節點,則將重要性值最大的選為代表點,構造先驗信息<i,b2>,交由領域專家標注其約束類型。
步驟4:判斷已獲得先驗信息是否達到指定數目,若已達到指定數目,繼續執行步驟5,否則,返回步驟2。
步驟5:將先驗信息結合到極值優化過程。
進一步,網絡的模塊密度(全局變量)與每個節點對模塊密度的貢獻大小(局部變量)有關,利用已知的成對約束信息通過懲罰(獎勵)違反(符合)約束條件的形式對模塊密度進行優化求解;
進一步,采用懲罰的方式對不滿足約束條件的劃分進行懲罰,即減小局部變量的值;
進一步,采用獎勵的方式對滿足約束條件的劃分進行獎勵,即增大全局變量的值。
步驟6:初始化:把整個網絡隨機分成兩個部分,每部分具有大致相等的節點數,在每部分中由邊相連的節點構成社區,這樣就形成了初始社區結構。
步驟7:迭代:把對社區模塊密度貢獻最小的節點移動到另一部分來進行自組織優化,每次移動后都重新計算每個節點的貢獻值,重復這一自組織優化過程,直到網絡的模塊密度值不再增加。
步驟8:尋優:移除最終得到的兩個社區之間的連邊,得到若干連通的子網絡,再對每個子網絡執行步驟6和步驟7,直到整個網絡的模塊密度值達到最大。
下面結合附圖對本發明的應用原理作進一步的描述。
如圖2所示,本發明的實施步驟如下:
步驟1:計算節點的重要性值,確立核心點集合和邊界點集合。
進一步,計算節點的重要性值利用的是基于度和集聚系數的綜合衡量節點重要性的指標,表示為:
pi=f(ki)+g(ci);
其中,
進一步,根據給定參數
步驟2:從核心點集合中選取代表點構造先驗信息。
進一步,如果代表點集合rs為空,則從核心點集合cs中選擇重要性值最大的節點k添加到代表點集合rs中;否則從核心點集合cs中選擇與代表點集合rs相似性最小的節點i作為候選代表點,這里節點i與集合c之間的相似性表示為:
s(i,c)=max(sim(i,j)|j∈c);
其中,
進一步,對于代表點集合rs中的每對代表點構造先驗信息<i,j>,交由領域專家標注其約束類型。
步驟3:從邊界點集合中選取代表點構造先驗信息。
進一步,從邊界節點集合bs中選擇與節點i相似度最大的邊界點b1,若存在多個滿足條件的節點,則將重要性值最小的選為代表點,構造先驗信息<i,b1>,交由領域專家標注其約束類型;
進一步,在邊界點集合bs中選擇與節點i相似度最小的邊界點b2,若存在多個滿足條件的節點,則將重要性值最大的選為代表點,構造先驗信息<i,b2>,交由領域專家標注其約束類型。
步驟4:將先驗信息結合到極值優化過程。
進一步,網絡的模塊密度d(全局變量)與每個節點對模塊密度的貢獻大小qi(局部變量)有關,利用已知的成對約束信息通過懲罰(獎勵)違反(符合)約束條件的形式對模塊密度d進行優化求解,定義懲罰(獎勵)函數的一般形式為:
其中,α1、α2是懲罰和獎勵的平衡系數,<i,j,w,type>∈c表示節點i和j的相關社區成員關系,
進一步,采用懲罰的方式對不滿足約束條件的劃分進行懲罰,即節點i的模塊密度貢獻值應減小。此時,令u(c)中α1=0,α2=1,因此,結合先驗信息優化后的局部變量q′i表示為:
其中,
進一步,采用獎勵的方式對滿足約束條件的劃分進行獎勵,即全局變量d值應增大。此時,令u(c)中α1=1,α2=0,因此,結合先驗信息優化后的全局變量d′表示為:
其中,
步驟5:按拓撲結構把網絡g隨機分成兩個部分g1和g2,每部分具有大致相等的節點數,在每部分中由邊相連的節點構成社區,形成初始社區結構。
步驟6:計算每個節點對社區模塊密度的貢獻值q′i,把對社區模塊密度貢獻最小的節點移動到另一部分來進行自組織優化;每次移動后都重新計算每個節點的貢獻值;重復這一自組織優化過程,直到網絡的模塊密度值d′不再增加。
步驟7:移除最終得到的兩個社區之間的連邊,得到若干連通的子網絡;對每個子網絡執行步驟5和步驟6,直到整個網絡的模塊密度達到最大。
下面結合性能評測對本發明的應用效果作詳細的描述。
圖3為本發明在dophins網絡上不同噪音比下的性能評測圖。
圖4為本發明在football網絡上不同噪音比下的性能評測圖。
dophins網絡是由d.lusseau等人對棲息在新西蘭doubtfulsound海峽的一個寬吻海豚群體進行長達7年的觀察構建的。該網絡包括62個節點和159條邊,其中網絡中的每個節點代表該群體中一只寬吻海豚,邊表示連接的兩個寬吻海豚具有頻繁的聯系。
football網絡是由girvan和newman對2000賽季美國大學生足球聯賽抽象構建的網絡。該網絡包括115個節點和613條邊,其中網絡中的每個節點代表一支足球隊,邊代表兩支球隊在賽季期間進行過比賽。同一聯盟內的球隊之間比賽較頻繁,不同聯盟間的球隊之間比賽較少。
由圖3和圖4可以看出,在兩個網絡的各噪音比例下,先驗信息的增加可以大幅提高算法的性能。在dolphins網絡中,僅添加10對約束nmi值可以提高1-7%,添加20對約束nmi值能提高3-14%;在football網絡中也有相似的結果,添加10對約束nmi值可以提高2-7%,添加20對約束nmi值能提高6-13%。
隨著網絡中的噪音比增加,完全依賴網絡拓撲結構的社區發現方法的性能會迅速下降,而將先驗信息融入到社區發現過程中,可以有效補償噪音帶來的影響,保持較高的社區劃分準確度。
以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護范圍之內。