论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factorization and random walk

文章地址:https://sciencedirect.xilesou.top/science/article/pii/S0957417417306127
DOI:https://doi.org/10.1016/j.eswa.2017.09.007

摘要:
社区结构是了解网络的拓扑结构和社会功能的基础,也是推荐技术,信息传播,事件预测等的重要因素。
考虑了社交网络的结构和特点,提出了一种基于半监督矩阵分解和随机游走的算法。
方法步骤:
1.通过网络拓扑计算节点之间的转移概率。
2.使用随机游走模型获得最终的游走概率,并构建特征矩阵。
3.结合网络中的先验内容信息来构建必须链接矩阵和不能链接矩阵。
4.将它们合并到随机游动的特征矩阵中以形成新的特征矩阵。
5.根据分解的隶属度矩阵定义边数的期望。

1介绍:
社区结构存在于所有真实的网络中,因此识别社区结构,了解网络的功能和动态变化非常重要。
常用的社区划分算法:
1.基于模块化优化
2.图划分
3.节点标签传播
4.分层聚类
在社交网络中,社区重叠很常见。例如,一个人也将属于家庭网络和朋友网络。
解决社区重叠问题的方法:
1.群体过滤算法
2.节点局部扩散算法
3.模糊聚类等算法。
但是有限的信息无法确定所有社区,未发现的社区应该在重叠社区检测中发挥关键作用。使用非负矩阵分解(NMF)进行社区划分,并通过分析矩阵分解后的低维矩阵来获取网络的潜在社区结构信息。
NMF:无监督的算法,用于数据降维和特征提取。
详细请见:推荐系统遇上深度学习(七)–NFM模型理论和实践 https://www.jianshu.com/p/4e65723ee632
本文中NMF对于非负矩阵X,可以将其分解为两个矩阵的乘积,记为X≈U×V,其中U和V为非负矩阵。
应用:预测推荐系统中的得分。NMF用于将网络的邻接矩阵转换为低维矩阵以进行分析。
对称非负矩阵分解(SNMF)算法将网络的特征矩阵分解为两个对称的低维矩阵。
其他领域:将网络的先验知识添加到矩阵分解模型中,以指导学习过程。
1.基于部分网络信息的增强型网络社区划分算法。
2.一种结合半监督聚类和SNMF的网络社区划分算法
NMF算法缺点:特征矩阵由网络的邻接矩阵表示。无法表达无边缘节点的信息,从而限制了网络信息大多数方法都忽略了一个节点可能参与多个社区。
文章提出了一种基于随机游走和半监督矩阵分解的重叠社区划分算法。方法步骤:见摘要部分
文章贡献:
1.定义节点的收敛性以集成节点的结构和属性
2.我们基于节点的收敛性对随机游走进行建模,并基于随机游动和节点收敛来构造特征矩阵。
3.提出了一种基于随机游走和半监督矩阵分解的社区划分算法,以获得比传统矩阵分解模型更好的社区结构。
4.我们报告了从Polblogs和数字书目与图书馆计划(DBLP)获得的原始数据的几次实验的结果。

2相关工作:(和介绍差不多,更具体一下,重复部分不做过多叙述)
为解决重叠社区划分问题。具体算法分为两类:基于节点和基于边缘的重叠网络社区分区算法。
基于节点的重叠网络社区划分算法(根据节点的结构和属性信息将节点划分为不同社区),具体方法如下:
1.集团渗透方法(CPM)来挖掘网络中的重叠结构
2.基于节点局部扩散和适应度函数优化的算法,该算法可以同时发现重叠的网络社区结构和层次结构
3.模糊聚类算法,选择初始节点的不同将导致不同的社区划分结果,模糊聚类不会将节点划分为社区,它为社区计算节点的成员资格值。(1)格雷戈里提出了一种模糊算法来计算所有网络社区的节点隶属度矢量。(2)基于模糊聚类和模拟退火相结合的优化算法。
基于边缘的重叠网络社区划分算法(将网络中的边缘划分为非重叠社区),如果不同的社区有一个公共节点,则该节点是一个重叠节点。具体方法如下:
1.基于折线图和链接分区的重叠网络社区划分算法,该算法通过分层聚类获得链接网络,然后将连接的网络转换为重叠节点社区。
2.基于遗传算法的网络社区划分算法。
3.基于局部边缘扩散的网络社区划分算法,该算法定义了基于边缘社区的局部适应度函数。
基于NFM的网络社区划分算法。
1.2007年NMF模型应用于重叠的社区,然后将重叠的社区除以隶属度矩阵。缺点是需要初始化成员资格阈值,并且社区划分结果中不同的成员阈值差异很大
2.2011年提出了SNMF,将邻接矩阵分解成两个对称的低维非负矩阵
3.2013年提出了基于NMF算法的新模型,该模型可以同时发现重叠的社区,中心节点和边缘节点。
以上基于NMF模型的算法均为无监督算法。
半监督矩阵分解方法,以充分利用网络中的先验知识。
1.2010年提出的SMNF算法结合了网络领域的知识以增强原始特征矩阵,并建立了必须链接矩阵M ml和加农炮链接矩阵M cl来监督初始矩阵。
2.2010年提出的增强的半监督矩阵分解算法。该算法通过逻辑推理提出了转移约束的概念,与不可链接约束相比,必须链接约束用于更有效地改善社区划分的结果。
3.2013年使用先验知识将常规约束矩阵构建到矩阵分解优化模型中。
因为随机游走模型可以计算网络中任意两个节点之间的转移概率。
本文使用随机游走模型来描述网络中任意两个节点之间的关系,并构成特征矩阵X。网络中利用先验知识来监督特征矩阵X,并且根据分解后的矩阵对重叠节点进行划分。

3基于节点收敛度和随机游动的网络社区划分算法
定义基于节点聚集度的节点概率。将该概率添加到随机游走的迭代方程中,以获得整个网络中节点的概率。为了发现更好的社区结构,我们基于随机游走构造特征矩阵,并使用先验网络信息设计矩阵分解。通过模型学习,可以获得最佳参数,并将其用于识别重叠社区。提出了一种基于随机游动和矩阵分解的分类算法。
3.1基于节点聚集度的节点概率
如果两个节点共享更多邻居,则将它们视为相似。但并未将节点的全局重要性纳入网络中。本文介绍了在计算结构强度时节点的全局重要性,基于原始的PageRank算法定义节点影响力,以测量无向网络中的节点影响力,节点的影响越大,该节点在网络中的全局重要性就越高。
3.11节点影响测度
使用PageRank算法来计算节点在网络中的影响。PageRank算法的主要目的是网页的PageRank值是指向该网页的PageRank值的总和。同样,网络中的节点影响力是指向该网络的所有节点的影响力之和。节点影响计算如下:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza (1)
Inf(j)表示节点j的影响。 F(i)是节点i的一组邻居。等式(1)表明节点影响是指向它的所有节点的影响之和,但有一个缺点:如果核心节点指向公共节点,则公共节点的影响大于核心节点。加入条件:如果节点j指向多个节点,则每个节点都会受到Inf(j)N(j)和等式的影响。
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(2)
N(j)是节点j的邻居数。实际上,我们将常数c添加到上述公式中。网络中可能有一个度数为0的节点。该节点仅接受来自其他节点的影响,但不参与其他节点的影响。经过有限的迭代之后,所有节点的影响都可能为0。为解决此问题,获得了修改后的节点影响:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(3)
N是图中的节点数。c∈(0,1)是阻尼系数,通常设置为0.85,此时结果收敛。
3.1.2节点收敛度量
将网络结构与节点属性结合起来以计算节点收敛度。可以使用公共邻居的数量来计算两个节点的结构收敛程度。两个节点共享的邻居越多,它们越相似。如果一个节点的影响较大,则它将与其他节点更加集群。节点结构收敛度(SCD)定义如下: 论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza (4)

其中N i是v i个邻居的集合,N j是v j个邻居的集合。N i∩N j是公共邻居的集合,Inf(v k)表示节点v k的影响。
文章增加了节点属性收敛度来度量节点收敛度。
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
节点1的邻居节点是1,2,3,4,5,6,7
节点7的邻居节点是1,6,7,8,10
节点1和节点7的公共邻居是1,6,7
用余弦相似度计算,得出节点1是领导节点
余弦相似度计算方法,详情请见:https://www.cnblogs.com/dsgcBlogs/p/8619566.html
在通过SCD进行计算,得出节点1和节点7相似结论。
在不同的网络中,节点的属性描述并不相同,因此需要对节点的属性向量进行标准化。节点vi的属性向量的第k个属性可以用值x ik表示,该值介于0和1之间。x ik =(x ik -min)/(max -min),其中max和min表示最大值以及属性向量中x ik的最小值。在本文中,我们使用欧几里得距离来度量属性收敛度(ACD)。
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(5)
x id是节点v i的属性向量的第d个属性,x jd是节点v j的属性向量的第d个属性。
节点收敛度(NCD)基于SCD和ACD。它使用加权总和将两个因素结合在一起:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(6)
其中参数α∈[0,1]是根据实际情况设置的加权因子。
3.2基于随机漫步构造特征矩阵
使用随机游走模型来测量节点之间的游走概率,以形成特征矩阵并执行矩阵分解。
在图中随机形成的路径V 0,V 1,V 2,…称为马尔可夫链。如果我们有一个有限状态集{X 0,X 1,X 2,X 3,…},∀t> 0,则等式(7)中将显示Markov属性:
马尔科夫链详情请见:https://blog.csdn.net/bitcarmanlee/article/details/82819860
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(7)
P(V j = X t | V j -1 = X t -1)是从节点V j -1到V j的转移概率。节点V j的状态仅取决于时间t处先前节点V j -1的状态,与其历史状态无关。
m步跃迁概率是节点Vi在m步之后将达到Vj的概率。如下:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(8)
令P(m)是一个矩阵,其元素为节点之间的m步转换概率。其矩阵表示为:P(m)= P(m -1)·P = P(m −2)·P·P =…= P m
使用概率来建立要在非负矩阵分解中分解的特征矩阵。根据分解后的矩阵对节点进行划分。
定义节点相似性:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
定义节点转移概率:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
定义节点行走概率:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
基于节点收敛度的随机漫步算法
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
3.3有节点收敛度的监督随机游走矩阵
添加了网络的先验知识,以指导矩阵分解中的节点聚类过程。在网络中,节点之间的约束分为两类:必须链接和不能链接。构造必须链接矩阵M ml和不能链接矩阵M cl。通过向构造的随机游动特征矩阵X添加约束,节点将更加相似。定义的新特征矩阵X如下:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza (12)
其中β和γ是权重。当β=γ= 0时,它是一种非负矩阵分解算法。在本文中,M ml由邻接矩阵组成。M cl由最短路径矩阵组成,其中矩阵的值是网络中节点之间的最短路径。
3.4模型学习
对于给定的非负矩阵X,NMF可以找到两个非负矩阵W和H,使得X近似等于这两个非负矩阵的乘积。数学表达式为X n ∗m≈W n ∗k H k ∗m。W和H的乘积近似于原始矩阵X。假设我们有一个网络G =(V,E),V = {V 1,V 2,…,V n}是节点集,E = {e 1,e 2,…,e n}是边的集合。邻接矩阵表示节点之间的链接关系,如果在节点V i和V j之间存在边,则X ij的值为1,否则为0。使用标准NMF将邻接矩阵分解为两个低维矩阵W和H,矩阵W是原始矩阵X的一组底数,而H是该组底数的因数矩阵。任何列向量X中的论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza可以通过W的列向量与因子乘积获得:论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza。矩阵W将网络划分为k个社区,其中行向量表示每个社区的节点成员程度。例如,行向量→w 1 = {0.5,0.4,0.1}表示网络分为三个社区,节点1属于社区1的概率为0.5,属于社区2的概率为0.4,而属于社区3的概率为0.1。然后根据最大概率将节点1划分为社区1。
将NMF形式化为寻找最优解,以便与原始矩阵的差异最小,并且可以获得目标损失函数:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(13)
NMF的任务是将特征矩阵分解为两个低维非负矩阵,通过找到用于学习参数的最优解可以将其转化为优化问题。NMF的形式功能定义如下:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(14)
使用梯度下降函数用于优化目标函数。该算法最初将常数α设置为步长,然后沿负梯度减小,直到算法收敛为止。
矩阵W的目标函数F的梯度为∇W F(X’,W,H)=(WHH T -X’H)。为了找到F的最小值,需要在负梯度方向上更新W和H的元素。元素值更新如下:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(15)
由于它是NMF,因此我们确保W ij的更新值为非负值。选择ε作为值W ij/(WHHT)ij。使用以上方程,最终迭代方程如下:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(16)
3.5重叠节点分区
图2,具有两个社区结构的网络:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
待分解的矩阵由公式计算:论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
重叠的节点可以被分解后的矩阵H划分。每行表示一个社区,矩阵中的元素表示该社区的节点成员身份。H中的第一列[0.582 0.014] T表示节点1属于社区1,成员资格为0.582,节点1属于社区2,成员资格为0.014。显然,节点1属于社区1。类似地,节点{2,3,4,5}属于社区1,节点{6,7,8,9}属于社区2。对于每个社区Z, H的每一行中的元素从最大到最小排序:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza(17)
H iz是节点Z对社区Z的隶属度,H 1 z≥H 2 z≥H nz。节点的成员身份越高,则该节点属于社区的可能性越大。属于同一个社区Z的节点V i和V j的隶属度为H iz H jz。在节点V i与V j之间存在边缘的概率为H iz H jz。b3ad15e7a0073e77814019b341d18493可以得出结论,网络中的任何两个节点同时以概率(H 1 z + H 2 z + … + H nz)2属于社区Z;即在社区Z中存在边的任意两个节点的概率为(H 1 z + H 2 z + … + H nz)2。
定义对社区优势的期望:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
我们将H z中从最高到最低的对应节点添加到社区Z中。当将节点V p添加到社区Z时,社区Z中节点之间的实际边数为D =(d1 + d2 + … + dp)/2其中p是已经添加到社区Z的节点数. dp是节点Vp的度。直到社区中的实际边的总和大于社区中边的预期数量为止。社区中的节点集可以表示为:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
其中C z是社区Z中节点的集合。D p是社区Z中添加节点V p后的边的实数。Dp -1是社区Z中不加V p的边的实际数目。如果D p和E(Z)之间的差异小于D p -1和E(Z)之间的差异,则将节点V p添加到社区Z,否则不添加。
3.6基于随机游动和矩阵分解的社区划分算法
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
4介绍:
4.1数据集
选择了两个有代表性的真实数据集:Pollogs和DBLP。
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
Polblogs数据集由有关美国政治博客网站的信息组成,其中包括1490个博客页面和19,090个超链接。每个博客都具有政治属性:保守或自由。
DBLP数据集是一个科研合作网络。如果两位作者在纸上一起工作,则两位作者会相互链接,包括计算机,经济学,法律和物理学领域。每个节点都包括以下属性:名称,论文数和研究领域。可以将以上数据集抽象为图形G =(V,E,X)。
对于Polblogs数据集,顶点集V是博客页面的集合,边缘集E是页面之间的链接关系,属性集X是博客的政治属性。对于DBLP数据集,顶点集V是作者,边集E表示作者彼此合作,属性集X是作者属性。取节点的前10 0 0个节点的度大于1。
4.2评价标准
两个评估标准
第一个是模块化(Q),其中Q∈[0,1]。基于重叠社区划分的模块化方程式如下:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
其中O i是节点i所属的社区的数量。当Q为0时,表示网络的每个节点都是一个社区。 Q越接近1,社区划分的结果越好。
第二个是平均电导(AC),指向社区外部的边数除以社区内部的边数。定义如下:
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
N(C i)是社区C i中的节点数。如果AC值较低,则意味着社区中的节点大多指向内部。 AC是用于评估社区内节点是否更近的评估指标,因此它描述了社区的紧密程度。
4.3结果分析
分析了基于随机游走的矩阵校正(RWMF)的因素,该因素结合了随机游走和基于节点收敛度的矩阵因式分解。该算法涉及选择社区数k,根据Polblogs数据集的不同大小选择不同的k值,然后将模块化Q和AC值与不同的k值进行比较。矩阵分解模型中的参数包含两个参数β和γ。β的一般值在0.01到0.3之间,而γ的值在0到0.01之间。
在γ= 0的情况下不同β对群落划分结果的影响,参数β值被设置为0.01、0.03、0.1和0.3时模块性Q和AC平均值的变化。
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
图3. Polblogs数据集中Q和AC的不同参数β随着k的不同而变化
当γ值设置为0、0.0 02、0.0 04和0.01时,模块化Q和AC值的变化。
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
图4. Polblogs数据集中Q和AC的不同参数γ随k的不同而变化
Polblogs数据集中各种α值对Q和AC值的影响。通过比较(a)中的AC值和(b)中各种K值的Q值,我们可以看到,当K = 2时,群落结构是最佳的。Polblogs中节点的属性数据集包括保守主义和自由主义,因此它们可以分为两个共同体。算法的结果也与现实一致。
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
图5. Polblogs数据集中不同α值对Q和AC值的影响
DBLP数据集中各种α值对Q和AC值的影响。与Polblogs数据不同的是,政治观点是社区的重要特征。在DBLP社区中考虑了合著者关系。K的大小不同,并且我们在最佳值附近显示了主要值。通过重复实验,当K = 150时,上图(a)中Q的平均值最佳。我们无法达到下图(b)中AC的最佳平均值,因此我们将其与其他算法进行比较。
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
图6.不同α值对DBLP数据集上Q和AC值的影响
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
表3显示了与Polblogs数据集上的其他算法进行比较的结果。CPM算法无法在Polblogs数据集上找到社区。 COPRA算法产生更高的社区模块化Q,但是社区的数量为10,并且某些社区只有几个节点。本文提出的算法在Polblogs数据集上实现了高Q值和低AC值。
论文解读:An overlapping network community partition algorithm based on semi-supervised matrix factoriza
表4显示了与DBLP数据集上的其他算法进行比较的结果。本文算法也实现了DBLP上Q的最佳值,与其他算法相比AC的值是可以接受的。

5总结:
提出了节点属性信息对于社区划分也很重要。
将基于节点收敛度的随机游走模型与NMF相结合。使用基于节点收敛度的随机游走模型来计算包含更丰富信息的节点之间的概率。然后,基于随机游走构造特征矩阵,并对NMF进行处理,以根据分解后的矩阵划分社区。
对网络社区划分算法的研究并获得了成果。但是,仍有不足之处会在未来的工作中得到改善。在NMF过程中,将随机初始化方法用于分解构成矩阵W和H。一个好的随机因子可以提高矩阵分解的准确性和收敛速度。

相关文章: