一种融合节点属性的深度社团发现方法
技术领域
本发明涉及作图分割问题的
技术领域
,尤其是一种融合节点属性的深度社团发现方法。背景技术
社团结构是广泛存在于网络中的重要结构特征,在社团内部的节点之间连接紧密,社团之间的节点连接稀疏。社团发现是通过对网络中节点之间的相互作用和潜在的信息进行分析,从介观角度挖掘网络数据中隐藏的社团结构的过程。社团发现为探索复杂网络的潜在特征提供了有效工具,对理解网络组织结构、分析网络潜在特性、发现网络隐藏规律和交互模式等具有重要的理论和现实意义。节点属性作为网络中重要的信息,结合网络属性有助于挖掘更准确的社团结构。
虽然已经提出了许多社区检测方法并取得了合理的结果,但我们仍然面临着以下三大挑战:第一,随机模型和模块化最大化模型都是线性模型,只能捕捉网络的线性结构。然而,已经证明现实世界中的网络结构是复杂的,最好将其视为高度非线性。其次,众所周知,计算特征值需要很高的计算空间。因此,可扩展性是一个主要的瓶颈。第三,如何有效地整合不同类型的信息来检测社区还有待解决。大多数算法只利用了拓扑信息,而忽略了重要的属性信息。日常生活中的网络在每个节点中都有丰富的属性信息,这些属性可以用来提高社区检测的效率。属性信息的加入可以补充拓扑信息,缓解网络稀疏问题。
发明内容
本发明的目的是提出一种融合节点属性的深度社团发现方法,利用深度神经网络挖掘非线性结构,同时结合节点属性信息得到更准确的社团结构。
一种融合节点属性的深度社团发现方法,包括如下步骤:
第一步:构建模块度矩阵:模块度的值越大代表社团结构越清晰,社团的划分越好,通过最大化模块度可以得到网络的社团结构;
第二步:构建深度自编码器捕捉网络结构:通过重构模块度矩阵,在隐层的最后一层输出H中保存网络的非线性社团结构;
第三步:结合节点属性信息;当拥有相同属性的节点划分到不同社团,将执行一个惩罚,同时利用融合链接关系数据和节点内容数据进行社团发现。
优选的是,本发明构建模块度矩阵的具体过程为:
模块度被定义为社团内连接边的比例减去在同样社团结构下任意两个节点之间连接边的比例的期望值:
其中,是网络中边的总数量,代表如果网络中的边是随机放置时节点vi和vj之间的期望边数,wi(wj)代表节点vi(vj)的度,δ(ci,cj) 为克罗内克函数;引入模块矩阵B∈Rn×n,n为网络中节点的个数,R为实数集,模块度矩阵的元素模块度写为:
Q=tr(HTBH) s.t.tr(HTH)=n (6)
矩阵H为社团指示矩阵,矩阵每行最大值所对应的社团就是节点所属的社团,hij代表节点i隶属于社团j的概率,HT为矩阵H的转置矩阵。
优选的是,本发明构建深度自编码器捕捉网络结构的具体过程为:
动编码器的目标是最小化输出数据和输入数据之间的重建误差,以便最后的隐藏层可以最大程度地保留原始输入数据的特征。本发明将模块度矩阵作为深度自编码器的输入,通过重构捕获模块度矩阵中的非线性结构:
其中,θ={W(1),W(2),b(1),b(2)}为超参数集合;B为模块度矩阵,矩阵元素通过重构模块度矩阵,在隐层的最后一层输出H中保存网络的非线性社团结构。
优选的是,本发明结合节点属性信息的具体过程为:
假设两个节点vi和vj在内容属性方面具有高度相似性sij,那么它们有很大的概率属于同一个社团,两个节点vi和vj的社团指示矩阵向量也应该相似;
构造属性相似矩阵S,节点vi和vj之间属性的相似性用sij表示,其中,我们利用余弦相似度来计算两个节点之间的属性相似度:
其中,ti为节点属性矩阵的第i行,代表节点vi的属性特征向量;
对于每个节点vi,基于属性相似性,搜索和节点vi拥有最相近属性相似度的k个节点;如果节点vi是节点vj的k-近邻,那么节点vj也应该是节点vi的k-近邻,所有属性近邻图是对称的;在相似度矩阵中保留节点vi与它k-近邻之间的相似度值sij,其他非近邻对应的元素设为0;
在得到属性相似度矩阵S后,在自动编码器中引入一个图正则项来融合属性信息;假设如果节点vi和vj具有高属性相似性sij,那么它们的嵌入向量hi和hj也应该是相似的:
其中,拉普拉斯矩阵L=D-S,D为对角矩阵;将图形正则化项并入重建损失函数,得到SADA最终的损失函数:
其中α为控制正则化项权重的参数。通过优化得到矩阵H,H每一行最大值对应的社团即为节点属于的社团,从而获得最终的社团结构。
在过去的几十年里,已经提出了许多社团发现算法。其中,随机模型和基于模块度模型尤为流行。随机模型的本质是将网络映射到低维空间,然后检测潜在空间中的社团结构。基于模块度模型通过对模块度矩阵的特征值分解获得结构特征表示,然后在特征值对应的特征向量上应用K-均值聚类算法得到社团结构,这相当于模块度矩阵的低秩重构。尽管随机模型和基于模块度模型的工作机制不同,但它们本质上是将网络映射到一个低维空间,然后在新空间中聚类节点得到社团结构。自动编码器作为无监督的深度神经网络模型,目标是最小化输出数据和输入数据之间的重构误差,在隐藏层的最后一层输出可以最大限度地保留原始数据的特征。自动编码器和基于模块度模型都旨在获得相应矩阵的低维近似。然而,自动编码器可以捕捉节点之间的非线性关系,并且具有较小的复杂性。为了充分利用自动编码器的优势,本发明旨在基于深度自编码器提出一种社团发现方法,同时实现结构和节点属性信息的融合。利用深度神经网络挖掘非线性结构,同时结合节点属性信息得到更准确的社团结构。
附图说明
图1是各算法在人工数据集上社团发现结果的对比图。
具体实施方式
自编码器的目标是重构原始输入,使输出与输入尽可能接近。这样,隐藏层的输出可以看作是原始数据的低维表示,从而最大程度提取原始数据中包含的特征。自编码器包含两个对称的组件:编码器和解码器。一个基本的自编码器可以看作一个三层的神经网络,由输入层、隐藏层和输出层构成。
给定一个输入数据xi,编码器将原始数据xi映射为隐藏层的输出编码 hi,hi可以被看作是xi的低维嵌入表示:
hi=σ(W(1)xi+b(1)) (1)
然后解码器对输入数据进行重构,是重构的输出数据:
输入数据经过编码和解码后,得到了输入数据的重构表示。其中,θ={W(1),W(2),b(1),b(2)}是参数集合,W(1),W(2)分别为编码器和解码器的权重矩阵,b(1),b(2)分别为编码器和解码器的偏置向量。σ(·)是非线性激活函数,如sigmoid函数tanh函数等。自编码器通过最小化输入数据与重构数据之间的误差而得到输入数据的特征表达:
为了捕获拓扑结构和节点属性的高度非线性,本章将多个非线性函数组成编码器和解码器,通过对数据进行多层的抽象学习,学习不同抽象层次的特征。
其中,K代表隐藏层层数,为节点i的低维特征表示。
更进一步,本发明其中基于网络表示学习的社团发现方法详细过程可描述如下:
第一步:构建模块度矩阵
模块度被定义为社团内连接边的比例减去在同样社团结构下任意两个节点之间连接边的比例的期望值:
其中,是网络中边的总数量,代表如果网络中的边是随机放置时节点vi和vj之间的期望边数,wi(wj)代表节点vi(vj)的度,δ(ci,cj)为克罗内克函数。通过引入模块矩阵B∈Rn×n,模块度矩阵的元素模块度可以写为:
Q=tr(HTBH) s.t.tr(HTH)=n (6)
矩阵H每行最大值所对应的社团就是节点所属的社团,hij代表节点i隶属于社团j的概率。模块度的值越大代表社团结构越清晰,社团的划分越好。因此通过最大化模块度可以得到网络的社团结构。
最大模块度的问题可以转化为利用低秩近似重构模块度矩阵。在矩阵重构中,特征值分解与自动编码器高度相关。因此,最大模块度的问题可以看作是使用低秩近似的模块化矩阵重构。因此,我们将模块度矩阵B作为自编码器的输入可以在隐藏的最后一层获得理想的网络表示嵌入空间。
第二步:构建深度自编码器捕捉网络结构
动编码器的目标是最小化输出数据和输入数据之间的重建误差,以便最后的隐藏层可以最大程度地保留原始输入数据的特征。本发明将模块度矩阵作为深度自编码器的输入,通过重构捕获模块度矩阵中的非线性结构:
其中,θ={W(1),W(2),b(1),b(2)}为超参数集合。B为模块度矩阵,矩阵元素通过重构模块度矩阵,在隐层的最后一层输出H中保存网络的非线性社团结构。
第三步:结合节点属性信息;
本发明假设如果两个节点vi和vj在内容属性方面具有高度相似性sij,那么它们有很大的概率属于同一个社团。因此它们的社团指示矩阵向量也应该相似。基于这一假设,本发明通过在节点上构造成对约束,并引入一种新的图正则化来将节点属性信息纳入自动编码器。受拉普拉斯特征映射方法的启发,当拥有相同属性的节点划分到不同社团,将执行一个惩罚。因此框架同时利用融合链接关系数据和节点内容数据进行社团发现。
首先构造属性相似矩阵S,节点vi和vj之间属性的相似性用sij表示,其中,我们利用余弦相似度来计算两个节点之间的属性相似度:
其中,ti为节点属性矩阵的第i行,代表节点vi的属性特征向量。
基于这种相似性,我们利用k-近邻一致性构造了一个属性近邻图,它解决了节点内容空间的流形结构。对于每个节点vi,首先基于属性相似性,搜索和节点vi拥有最相近属性相似度的k个节点。如果节点vi是节点vj的k-近邻,那么节点vj也应该是节点vi的k-近邻,所有属性近邻图是对称的。最后在相似度矩阵中保留节点vi与它k-近邻之间的相似度值sij,其他非近邻对应的元素设为0。通过改进后的属性相似度不仅反映了节点之间属性的相似度,更是保存了节点之间的流行结构。
在得到属性相似度矩阵S后,我们在自动编码器中引入一个图正则项来融合属性信息。我们假设如果节点vi和vj具有高属性相似性sij,那么它们的嵌入向量hi和hj也应该是相似的:
其中,拉普拉斯矩阵L=D-S,D为对角矩阵。最后将图形正则化项并入重建损失函数,得到SADA最终的损失函数:
其中α为控制正则化项权重的参数。通过优化得到矩阵H,H每一行最大值对应的社团即为节点属于的社团,从而获得最终的社团结构。
下面结合实验对本发明作进一步详细说明。
我们采用Girvan和Newman提出的人工网络来评估本发明的有效性。人工网络由128个节点组成,共分为4个社团。每个社团32个节点。节点的平均度为16,并与其他社团节点共享Z条连接。Z的值越高,社团结构越模糊,社团发现的难度越大。我们在不同Z取值的人工网络上进行实验,采用标准化互信息NMI作为衡量社团发现算法性能的指标。图1显示了和其他社团发现算法相比,在人工数据集上的社团发现结果。实验表明,在所有的情况下,本发明都取得了最优的社团发现结果,特别是当Z值变大,社团发现难度增加时,本发明仍然能够获得清晰的社会结构。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:基于k桁架建立社交网络中关键关系的方法