麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種結合節點信息和網絡結構的社區發現方法與流程

文檔序號:11138302閱讀:948來源:國知局
一種結合節點信息和網絡結構的社區發現方法與制造工藝

本發明涉及一種結合節點信息和網絡結構的社區發現方法,屬于網絡分析與挖掘領域。



背景技術:

針對網絡的分析已成為最重要的交叉型研究領域之一,當前網絡研究中的一個熱點圍繞社區結構展開。社區這一概念的原始定義是有相同特點或者興趣愛好的一類人組成的團體。當開始將網絡結構作為反映真實世界復雜系統的模型,社區的概念已經不僅僅局限于人類關系,逐步擴展到了各種各樣的網絡中。社區發現的任務就是識別檢測出網絡中由節點組成的一系列群體,這些群體內部節點之間聯系緊密,而群體之間的節點連接則相對稀疏,而這些群體我們稱之為社區。

網絡分為無權網絡和有權網絡兩種。無權網絡中節點和節點之間的關系有“無關系”和“有關系”兩種狀態,而有權網絡的權值則代表了節點之間相互作用的強度,網絡蘊含的信息也更加豐富?,F實社會中存在許多無權網絡和有權網絡的實例,相應地也誕生了許多處理無權網絡和有權網絡的社區發現算法。

對網絡結構進行社區發現具有重要的意義,它不僅能直觀地表現出不同種類的網絡中模塊化的分組結構,還可以幫助人們認識網絡所代表的社會現象和系統、理解網絡的功能和作用、發現網絡中隱藏的信息和規律、預測網絡的行為和變化以及指導人們解決網絡所代表的現實問題等。

目前,社區發現主要分為兩大類。一類方法是基于節點信息,通過計算節點之間的相似度,利用聚類算法完成社區劃分。另一類方法是基于網絡結構,通過網絡節點之間的連接關系,利用社區發現算法完成社區劃分。雖然針對這兩種情況已經誕生了許多社區發現算法,但是這兩種方法均具有局限性,它們往往只注重一方面的節點信息而忽略另一方面的重要性。第一類方法得到的社區成員之間一般會具有相似的特征信息然而相互之間連接不緊密,而第二類方法得到的社區成員之間關系連接緊密,卻不具有較多的共同特征。這正是因為這兩種方法不能合理地、完全地結合并利用網絡節點的有效信息,所以根據這兩種方法得到的社區發現結果并不理想。



技術實現要素:

針對現有技術的不足,本發明提供了一種結合節點信息和網絡結構的社區發現方法;

術語解釋

無向網絡、有向網絡:所謂網絡,是由一些基本的單元和它們之間的連接所組成。根據這些連接邊是否有確定的方向,我們可以將網絡分為有向網絡和無向網絡兩類。

網絡結構,由節點與節點之間的連接邊組成。在網絡結構中,節點一般代表用戶,而邊則代表用戶之間的相互關系。除此之外,一般情況下每個用戶都會有用來描述用戶屬性的信息,這些信息由許多特征組成。我們一般用這些特征組成的向量來描述用戶的屬性,稱為特征向量。每個用戶都對應一個特征向量,根據不同用戶的不同特征設置特征向量的值。假設學生小明是一個節點,小明具有籍貫、年齡、性別、成績等特征。我們用0、1來表示這些特征。例如根據籍貫是否為山東、年齡是否在18-23之間、性別是否為男、考試成績是否及格這些特征,用0表示否,1表示是。那么,小明的特征向量可以表示為(1,1,0,1)。

本發明的技術方案為:

一種結合節點信息和網絡結構的社區發現方法,具體步驟包括:

(1)根據節點特征對社區劃分的影響程度,對節點特征進行分類;

(2)根據節點特征對節點進行內容相似度計算;

(3)根據網絡結構,得到網絡的鄰接矩陣A;

(4)設定閾值,更新網絡權重,生成有權網絡;

(5)根據實際需要設置參數,選擇社區發現算法,對步驟(4)得到的有權網絡進行處理,得到最終社區劃分。

根據本發明優選的,所述步驟(1),具體包括:

a、根據節點特征對社區劃分的影響程度,人為地為節點特征分類;設定將某一節點特征分為n類特征;

b、對社區劃分的影響程度比較大的節點的某類特征,為該類特征賦予較大的權值,對社區劃分影響程度比較小的節點的某類特征,則為該類特征賦予較小權值;

n類特征的權值依次設為n1,n2,...,nn,n1+n2+...+nn=1。

步驟(1)舉例說明如下:某在校大學生為節點,每個學生有性別、參加的社團、課程等節點特征,若想要社區劃分結果傾向于將愛好相同的學生分在一起,則將參加的社團這一節點特征賦予60%的權重,課程這一節點特征賦予30%的權重,性別這一節點特征賦予10%的權重;若劃分結果傾向于將同一班級的學生劃分在一起,則可以將課程這一節點特征賦予70%的權重,參加的社團這一節點特征賦予25%的權重,性別這一節點特征賦予5%的權重。

根據本發明優選的,所述步驟(2),具體包括:

c、采用余弦相似度計算方法,分別計算節點的每一類特征的局部相似度,計算公式如式(Ⅰ)所示:

式(Ⅰ)中,Sij指網絡中節點i和節點j的相似度,分別是指節點i、節點j的節點特征組成的特征向量;

d、對節點的每一類特征的局部相似度加權求和,求出全局相似度,節點i、j的全局相似度計算公式如式(Ⅱ)所示:

Simij=n1Sim1+n2Sim2+...+nnSimn (Ⅱ)

式(Ⅱ)中,Sim1,Sim2,...,Simn分別代表n類節點特征的局部相似度;Simij是指節點i和節點j的總相似度,即全局相似度。

根據本發明優選的,所述步驟(3),具體步驟包括:

對于無向網絡,若網絡中的任意兩個節點i,j之間有連接,則設置Aij=Aji=1,若無連接,則設置Aij=0,通過這種方式,得到網絡連接的鄰接矩陣A,Aij、Aji分別是指矩陣A中第i行j列的元素和第j行i列的元素。

根據本發明優選的,所述步驟(4),具體步驟包括:

e、對于無向網絡,網絡中的任意兩個節點i,j之間連接邊的權重Qij設置公式如式(Ⅲ)所示:

Qij=kAij+(1-k)Simij (Ⅲ)

根據式(Ⅲ),得到網絡中所有節點兩兩之間的權重;

k為常數,取值為(0,1)。通過設置不同的k值,調節節點特征和網絡結構對社區劃分影響的貢獻度,k值越大則網絡結構在社區劃分中起主導作用越明顯,k值越小則節點特征在社區劃分中起主導作用越明顯,在實際使用時,根據實際情況的具體需要,設定k值的大小。

f、根據權重Qij的取值范圍,設置閾值q,設置公式如式(Ⅳ)所示:

q=Qijmin+p*(Qijmax-Qijmin) (Ⅳ)

式(Ⅳ)中,p為百分數,p的取值為(0,1),Qijmax、Qijmin分別指Qij取值的最大值和最小值;

舉例說明如下:q=Qijmin+15%*(Qijmax-Qijmin)代表將權重大于Qijmin+15%*(Qijmax-Qijmin)的邊保留,將權重低于總體水平的后15%部分邊刪除,從而達到簡化網絡結構的效果。

設置閾值q的意義是因為在Qij的值非常小的情況下在i,j之間建立連接邊不僅對提高社區發現精度沒有積極作用,而且還會增大網絡的復雜度,增加社區發現過程的處理時間,所以此處設定閾值,將較小的權值排除,去除噪聲的干擾。

g、生成有權網絡,具體如下:

若Qij>q,則在節點i,j之間建立一條連接邊,并給這條邊賦予權重Qij,若Qij<q,則舍棄權重權重Qij,且節點i,j之間不建立連接邊,根據此規則,對原始網絡進行重建,生成有權網絡。

至此,就將原來的無權網絡變為有權網絡,并且該有權網絡包含了節點特征和網絡結構兩方面的信息。

根據本發明優選的,所述步驟(5),具體步驟包括:選擇社區發現算法,對該有權網絡進行處理,得到最終社區劃分。

首先,衡量實際操作中是網絡結構還是節點信息主導,通過選擇參數k與q平衡其關系,然后,選擇社區發現算法對該有權網絡進行處理,得到最終社區劃分。

根據本發明優選的,所述社區發現算法包括目前比較成熟的派系過濾算法、標簽傳播算法、GN算法等社區發現常用算法。

若實際操作中對時間要求比較嚴格,可以選擇時間復雜度相對低的算法如標簽傳播算法,若對時間復雜度要求不高卻對精度要求相對較高,那么可以選擇GN算法等。有的需要發現重疊社區,有的需要發現非重疊社區。根據不同場景,靈活選擇合適的社區發現算法,完成社區發現過程。

本發明的有益效果為:

1、本發明在社區發現過程中結合了節點特征和網絡結構,通過對節點特征分類加權的方式,有效利用了節點信息,并通過設置參數k,調節節點信息和網絡結構這兩部分在社區發現中的貢獻度。

2、本發明通過矩陣加和的形式,把節點特征與網絡結構融合為權重的形式,將無權無向網絡轉變為有權無向網絡,除此之外又通過設定閾值的方式,減小了不必要的計算開銷,節省了社區發現過程的時間。

3、不針對特定場景,適合處理現實生活中存在的大部分網絡,并且可以根據實際需要(時間需要或精度需要等)選擇適合的社區發現算法,具有普適性和靈活性。

附圖說明

圖1為本發明所述方法的流程示意圖。

具體實施方式

下面結合說明書附圖和實施例對本發明作進一步限定,但不限于此。

實施例

網絡結構是由節點與節點之間的連接邊組成。在網絡結構中,節點一般代表用戶,而邊則代表用戶之間的相互關系。除此之外,一般情況下每個用戶都會有用來描述用戶屬性的信息,這些信息由許多特征組成。我們一般用這些特征組成的向量來描述用戶的屬性,稱為特征向量。每個用戶都對應一個特征向量,根據不同用戶的不同特征設置特征向量的值。

本實施例中,假設學生小明是一個節點,小明具有籍貫、年齡、性別、成績等節點特征。我們用0、1來表示這些節點特征。根據籍貫是否為山東、年齡是否在18-23之間、性別是否為男、考試成績是否及格這些節點特征,用0表示否,1表示是。那么,小明的特征向量可以表示為(1,1,0,1)。

一種結合節點信息和網絡結構的社區發現方法,該方法的流程圖如圖1所示,具體步驟包括:

(1)根據節點特征對社區劃分的影響程度,對節點特征進行分類;

a、根據節點特征對社區劃分的影響程度,人為地為節點特征分類;設定將某一節點特征分為n類特征;

b、對社區劃分的影響程度比較大的節點的某類特征,為該類特征賦予較大的權值,對社區劃分影響程度比較小的節點的某類特征,則為該類特征賦予較小權值;

n類特征的權值依次設為n1,n2,...,nn,n1+n2+...+nn=1。

將小明所在的大學作為數據集,其學生為節點,那么,如果傾向于將來自山東本地的本科生分為一類,那么調高第一項和第二項節點特征的比重,將其設為40%籍貫、40%年齡,10%性別、10%成績,則對應的權重取值分類有兩類n1=80%,n2=20%。如果傾向于將能夠順利畢業的本科生分為一類,那么適當調高第二項和第四項特征的比重,將其設為10%籍貫、40%年齡,10%性別、40%成績,則對應的權重取值分為兩類n1=80%,n2=20%。

(2)根據節點特征對節點進行內容相似度計算;

c、采用余弦相似度計算方法,分別計算節點的每一類特征的局部相似度,計算公式如式(Ⅰ)所示:

式(Ⅰ)中,Sij指網絡中節點i和節點j的相似度,分別是指節點i、節點j的節點特征組成的特征向量;

d、對節點的每一類特征的局部相似度加權求和,求出全局相似度,節點i、j的全局相似度計算公式如式(Ⅱ)所示:

Simij=n1Sim1+n2Sim2+...+nnSimn (Ⅱ)

式(Ⅱ)中,Sim1,Sim2,...,Simn分別代表n類節點特征的局部相似度;Simij是指節點i和節點j的總相似度,即全局相似度。

對應步驟(1)中n1=80%,n2=20%,得出Simij=80%*Sim1+20%*Sim2;

(3)根據網絡結構,得到網絡的鄰接矩陣A和權重矩陣Q;

e、對于無向網絡,若網絡中的任意兩個節點i,j之間有連接,則設置Aij=Aji=1,若無連接,則設置Aij=0,通過這種方式,得到網絡連接的鄰接矩陣A,其中Aij、Aji分別是指矩陣A中第i行j列的元素和第j行i列的元素。

對于無向網絡,網絡中的任意兩個節點i,j之間連接邊的權重Qij設置公式如式(Ⅲ)所示:

Qij=kAij+(1-k)Simij (Ⅲ)

根據式(Ⅲ),得到網絡中所有節點兩兩之間的權重;

(4)設定閾值,更新網絡權重,生成有權網絡;

f、根據權重Qij的取值范圍,設置閾值q,設置公式如式(Ⅳ)所示:

q=Qijmin+p*(Qijmax-Qijmin) (Ⅳ)

式(Ⅳ)中,p為百分數,p的取值為(0,1),Qijmax、Qijmin分別指Qij取值的最大值和最小值;

g、生成有權網絡,具體如下:

若Qij>q,則在節點i,j之間建立一條連接邊,并給這條邊賦予權重Qij,若Qij<q,則舍棄權重權重Qij,且節點i,j之間不建立連接邊,根據此規則,對原始網絡進行重建,生成有權網絡。

(5)根據實際需要設置參數,選擇社區發現算法,對步驟(4)得到的有權網絡進行處理,得到最終社區劃分。

具體步驟包括:選擇社區發現算法,對該有權網絡進行處理,得到最終社區劃分。所述社區發現算法包括目前較為成熟的派系過濾算法、標簽傳播算法、GN算法等社區發現常用算法。

若實際操作中對時間要求比較嚴格,可以選擇時間復雜度相對低的算法如標簽傳播算法,若對時間復雜度要求不高卻對精度要求相對較高,那么可以選擇GN算法等。有的需要發現重疊社區,有的需要發現非重疊社區。根據不同場景,靈活選擇合適的社區發現算法,完成社區發現過程。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 冀州市| 合江县| 临桂县| 黎城县| 诸城市| 龙川县| 北宁市| 奎屯市| 岳普湖县| 驻马店市| 满城县| 蓝山县| 白沙| 漳平市| 民丰县| 佳木斯市| 博白县| 靖宇县| 大新县| 滨州市| 阿拉善右旗| 潮安县| 策勒县| 白朗县| 屏东市| 高邮市| 东山县| 桃江县| 沙田区| 和平区| 新巴尔虎左旗| 万山特区| 娱乐| 恭城| 文化| 贵州省| 乐都县| 永清县| 西畴县| 廉江市| 綦江县|