CN109859062A - 一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法 - Google Patents

一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法 Download PDF

Info

Publication number
CN109859062A
CN109859062A CN201910016432.4A CN201910016432A CN109859062A CN 109859062 A CN109859062 A CN 109859062A CN 201910016432 A CN201910016432 A CN 201910016432A CN 109859062 A CN109859062 A CN 109859062A
Authority
CN
China
Prior art keywords
layer
matrix
depth
autocoder
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910016432.4A
Other languages
English (en)
Inventor
费蓉
沙静原
王战敏
李爱民
吴昊铮
王勇超
王学宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Technology
Original Assignee
Xian University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Technology filed Critical Xian University of Technology
Priority to CN201910016432.4A priority Critical patent/CN109859062A/zh
Publication of CN109859062A publication Critical patent/CN109859062A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法,包括步骤:对图G=(V,E),V={v1,v2,…vi,…vn},V代表节点集,E代表边集,vi代表节点,n为节点数量,求得图G的邻接矩阵的相似度矩阵S;将S作为输入,利用深度稀疏自动编码器进行训练,最后输出低维特征矩阵ST;对ST进行聚类实现社区发现。本发明利用跳数构造出邻接矩阵的相似度矩阵,随后基于无监督学习的方式构建深度稀疏自动编码器实现降维,提取出特征结构,最后通过k‑means进行聚类生成社区,通过相似度矩阵的计算可以在小数据集上提高聚类准确度,再使用深度稀疏自动编码器可以进一步提高在大数据集上的聚类准确度。

Description

一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法
技术领域
本发明属于数据处理技术领域,具体涉及一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法。
背景技术
社区发现(Community Detection)是一项用于理解现实世界众多的网络结构的重要方法,在研究复杂网络时,如果一个网络具有社区结构,那么它应该能够轻易分成若干子图,且子图内部连接稠密,子图之间连接稀疏。这样的网络与现实生活中很多真实存在的结构相匹配,比如某一个区域的互联网,某一个社交网络,或者生物学中某一个地区的生态网络等。这些学科在研究问题时需要建立大型的复杂网络,网络节点一般可达千万级别,对于生物学甚至可以达到万亿级别。这样的网络往往复杂,但具备很多共性,除了具备小世界、幂律分布、无标度和集群等特性外,另外一个重要的性质则是具备社区结构。在网络中具备社区结构是指网络中存在一部分节点,这些节点内部连接很紧密,而这些节点与其他节点连接又较为稀疏。这样的结构意味着该网络在客观上就是由子图组成的网络。在复杂网络中进行社区发现中,图分割问题(graph partition problem)是核心工作。将一个图分割成两个紧密相连的,大小相同的社区,属于NP完全问题。
社区发现,即在图(Graph)中将节点(Node)划分其所属的模块(Module),使模块内部边数大于模块之间的边数,且该过程一般只使用图的拓扑结构作为信息的来源。根据真实数据建模的图往往具备社区结构,同一个社区的成员一般扮演相似的角色或完成相似的任务。目前主流的社区发现算法有层次聚类(Hierarchical clustering)方法,如GN,Newman,Radicchi等,矩阵分块(Matrix Blocking)方法,如FDSSUG,骨架图(graph-skeleton-based)方法,如gSkeletonClu,标签传播方法,如LPA,HANP,LPAm,图嵌入(GraphEmbedding)方法,如LE,Deepwalk,GraRep。这些算法速度较快,但是准确率和稳定性有待提高,生成相似度矩阵时只考虑了邻居节点,而其相隔关联节点没有放入考虑的范围之内,这是降低了聚类结果准确性的因素之一。在高维的相似度矩阵中存在着大量的冗余信息,在一定程度上掩盖了关键信息,导致聚类时数据表达不明确,加大了算法的随机性,导致结果准确率降低。
发明内容
本发明的目的在于提供一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法,解决了目前社区发现算法存在的由于冗余信息掩盖关键信息导致结果准确率低的问题。
本发明所采用的技术方案是:一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法,包括步骤:
针对网络图G=(V,E),V={v1,v2,...vi,...vn},其中V代表网络图G中的节点集,E代表网络图G中的边集,vi代表网络图G中的节点,n为节点数量,求得网络图G的邻接矩阵的相似度矩阵S;
将所述相似度矩阵S作为输入,利用深度稀疏自动编码器进行训练,最后输出低维特征矩阵ST
对所述低维特征矩阵ST进行聚类实现社区发现。
进一步的,计算相似度矩阵具体为:
计算所述网络图G中任意两个节点vi和vj之间的节点相似度
Sim(i,j)=eτ(1-s),s≥1,τ∈(0,1)
其中,s是vi和vj之间的跳数,τ是衰减因子;
利用上式求得网络图G中所有两点之间的节点相似度,根据上述节点相似度组成相似度矩阵S,S=[sij]n×n,其中,sij=Sim(i,j)。
进一步的,将所述相似度矩阵S作为网络图G的输入,利用深度稀疏自动编码器进行训练,最后输出低维特征矩阵ST具体为:
所述深度系数自动编码器的层数为T,每层的节点数为dt={d0,d1,d2,...,dT|d0=n,d0>d1>d2>…>dT},将相似度矩阵S作为所述深度系数自动编码器的第一层输入,第一层训练结束后的数据作为所述深度系数自动编码器的第二层输入,依次类推得到最后一层的输出,即低维特征矩阵ST
具体的,令si表示相似度矩阵S的第i个列向量,W1为输入层的权重矩阵,W2为隐藏层的权重矩阵,b为隐藏层的偏置列向量,c为输入层的偏置列向量,则所述深度系数自动编码器编码层第i个列向量为:
hi=σ(W1si+b)
所述深度系数自动编码器的解码层第i个列向量为:
zi=σ(W2hi+c)
其中,σ为激活函数。
进一步的,利用拟牛顿法最小化所述深度系数自动编码器的重构误差,不断迭代直至误差达到预设范围或达到设定的迭代次数停止,然后输出所述低维特征矩阵ST
具体的,所述重构误差计算公式为:
优化的,在计算所述重构误差时加入稀疏性惩罚因子项,更新所述重构误差计算公式为:
其中,为编码层输出的平均值,ρ为稀疏值,hj(xi)表示对于隐藏层第j个神经元hj,当输入为xi时的输出值,
本发明的有益效果是:本发明的社区发现分析方法首先采用跳数进行处理,构造出邻接矩阵的相似度矩阵,随后基于无监督学习的方式构建深度稀疏自动编码器实现矩阵降维,提取出网络中的特征结构,最后通过k-means进行聚类生成社区。实验结果显示,通过相似度矩阵的计算可以在小数据集上提高聚类准确度,基于相似度矩阵使用深度稀疏自动编码器可以进一步提高在大数据集上的聚类准确度。
附图说明
图1是跳数演示示意图;
图2是自动编码器的结构示意图;
图3是自动编码器的原理示意图;
图4是本发明采用的深度稀疏自动编码器的结构示意图;
图5梯度下降法的迭代过程示意图;
图6是KL散度函数示意图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明提供一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法,包括步骤:
步骤1,针对网络图G=(V,E),V={v1,v2,...vi,…vn},其中V代表网络图G中的节点集,E代表网络图G中的边集,vi代表网络图G中的节点,n为节点数量,求得网络图G的邻接矩阵的相似度矩阵S;
设矩阵A=[aij]n×n为图G的邻接矩阵(Adjacency matrix),矩阵对应元素表示图G中二点之间是否有边存在,如:aij为1说明图G中节点vi与vj之间存在边,若aij为0说明两点之间不存在边。
在小型图中,邻接矩阵A可以使用k-means等聚类算法直接计算出图中的社区关系,且结果较为准确,但是邻接矩阵只记录了相邻节点之间的关系,而没有表达节点与其邻居的邻居,或者更远的关系,而对于社区中的任意两个节点来说,即使不相互连接,也具有在同一个社区的可能。所以,若直接使用邻接矩阵作为相似度矩阵进行社区划分,则不能反映出完整的社区关系,若对邻接矩阵直接进行聚类则会丢失信息。
因此本发明利用邻接矩阵的相似度矩阵来表示图G中各节点之间的关系。具体的,
首先定义跳:对于网络图G=(V,E),若节点vi到达另一节点vj的最短路径为s,则称节点vi可以经过s跳到达节点vj。如图1所示,在网络图中,节点v1经过一跳到达v2,v3和v6,经过两跳到达v4和v6
而两个点vi和vj之间的相似度定义如下:
Sim(i,j)=eτ(1-s),s≥1,τ∈(0,1) (1)
其中,s是vi与vj之间的跳数,而τ是衰减因子。节点相似度随着跳数阈值s的增大而减小,τ控制相似度的衰减速度,节点相似度关系衰减的速度随σ的增大而变快。
而邻接矩阵的相似度矩阵(Similarity matrix)S=[sij]n×n通过图G中两点之间节点相似度计算得到,其中,sij=Sim(vi,vi),vi,vj∈V。
通过跳数和衰减因子两种方式对邻接矩阵进行处理所得到的相似度矩阵可以更好的反映出高维矩阵中距离较远的节点之间的关系,社区发现的结果也随之得到改善。
步骤2,将相似度矩阵S作为输入,利用深度稀疏自动编码器进行训练,最后输出低维特征矩阵ST
深度学习,是一种基于数据特征进行分析的机器学习方法。其思想是通过一种具有多层网络的计算模型,即神经网络(Neural networks),来学习数据在不同层次或方面的表示。其中每层包含若干个非线性处理单元,即神经元(Neuron),用来实现特征提取和矩阵变形等操作。每一层的输出是下一层的输入。最终学习得到对应不同抽象层的多重表示。
而自动编码器(Autoencoder,AE)是一种无监督学习的人工神经网络,它能够学习到数据的高效编码,从而表达出数据的特征值。其典型的用法是用来降维。如果给定一个无标签的数据集,自动编码器通过2层的神经网络(输入层不算)来学习非线性码从而表达原始数据,AE训练过程使用反向传播算法,训练结束要求学习得到的非线性码与原始数据的差距降到最低。其结构和编码过程分别如图2和图3所示。自动编码器由编码(encode)器与解码(decode)器两部分组成。从输入层到隐藏层是编码过程,此时将输入数据进行降维形成编码,编码为编码器的输出,然后将编码作为解码器的输入,进行解码,解码所得结果的维度与输入数据相同,并将其作为解码器的输出。得到输出结果后,将输出结果与输入结果比较,计算重构误差,然后使用反向传播算法调整自动编码器的权重矩阵,再次计算重构误差,不断迭代,直到达到迭代次数或重构误差小于规定范围时结束。此时输出结果等于或接近输入结果。使用反向传播算法训练神经网络的过程也称为重构误差的最小化。最后,将编码器的输出,即编码,作为自动编码器的输出结果。
而本发明的深度稀疏自动编码器则是基于自动编码器构成,其结构如图4所示,包括多个隐藏层和一个输出层,其中前一层的输出,即降维之后的编码,作为后一层的输入,逐层降维。具体步骤如下:
相似度矩阵S的维度为n,将其作为输入,令深度系数自动编码器的层数为T,每层的节点数为dt={d0,d1,d2,...,dT|d0=n,d0>d1>d2>…>dT},将相似度矩阵S作为深度稀疏自动编码器的第一层输入,第一层训练结束后的数据作为所述深度系数自动编码器的第二层输入,依次类推得到最后一层的输出,即低维特征矩阵ST
令si表示相似度矩阵S的第i个列向量,W1为输入层的权重矩阵,W2为隐藏层的权重矩阵,b为隐藏层的偏置列向量,c为输入层的偏置列向量,则深度稀疏自动编码器编码层第i个列向量为:
hi=σ(W1si+b) (2)
深度稀疏自动编码器的解码层第i个列向量为:
zi=σ(W2hi+c) (3)
其中,σ为激活函数。最终得到的矩阵z由zi组成,与输入矩阵S维度相同。
对于神经网络的权重矩阵,一般使用随机数进行初始化,在第一轮的迭代中,神经网络的估计值与实际结果必然存在误差,此时计算估计值与实际值之间的误差(error),并将该误差从输出层向隐藏层反向传播,计算出各个层产生的误差,并对两个权重矩阵(输入层到隐藏层一个,隐藏层到输出层一个)进行反向调整。不断迭代,直至误差达到要求范围之内或达到设定的迭代次数停止。整个过程的实质就是最小化重构误差。该问题一般使用非线性最优化方法求解。现有的方法有梯度下降法(Gradient Descent method)[Cauchy]、非线性共轭梯度法(Nonlinear Conjugate Gradient method)[NCG]和拟牛顿法等。其中,梯度下降法选取目标函数的负梯度方向作为下降方向,该算法过程简单,计算量和储存量小。但是由于最优步长的前进方向都是基于当前点的最优值,而不是基于全局的最优值,会出现下降行程呈现如图5所示的锯齿形现象。而拟牛顿法是一种特殊的共轭梯度法,利用目标函数梯度的差分构造目标函数Hesse矩阵的某种近似,然后基于牛顿方程产生搜索方向,继而通过线性搜索完成迭代过程。典型算法是DFP算法和L-BFGS算法。其中,L-BFGS适用于具有大量变量的优化问题,相比DFP能够具有更好的数值稳定性,是目前较常用的拟牛顿校正方法,本发明可以针对不同情况进行选择。
为了最小化误差,本发明在深度稀疏自动编码器中引入拟牛顿法最小化深度稀疏自动编码器的重构误差,不断迭代直至误差达到预设范围或达到设定的迭代次数停止,然后输出低维特征矩阵ST。结合公式(2)和(3),重构误差的计算公式为:
本发明选择激活函数为sigmoid,神经元的映射范围为(0,1)。当输出接近1时,称为激活(active);当输出接近0时,称为抑制(inactive)。在深度稀疏自动编码器中,会对隐藏层添加稀疏性限制。稀疏性限制指神经元大部分时间都是被抑制的,即输出接近0。稀疏性计算方式如下:
首先计算编码层输出的平均值设hj(x)表示对于隐藏层第j个神经元hj,当输入为x的时候,神经元的输出值。则隐藏层中该神经元输出的平均值为:
为了达到稀疏性,需要添加稀疏性限制,稀疏性通过以下方式实现:
其中ρ是稀疏值(sparsity parameter),一般ρ<<1,比如取0.05。当满足式(7)的时候,意味着隐藏层神经元的激活值大多数接近0。
本发明进一步对重构误差添加稀疏性限制,即对重构误差增加惩罚因子项(penalty term),对偏离ρ的进行惩罚。惩罚函数如下:
其中,d表示隐藏层神经元的数量。式(8)基于KL散度(Kullback-Leiblerdivergence)得出,所以也可以写成
综上所述,公式8和9合并,得出
时,惩罚函数远离ρ的时候,函数单调递增,趋于无穷大。其变化如图6所示。
所以,最小化稀疏项惩罚因子,即公式(10),便可以使接近ρ。
至此,重构误差更新为
其中,β是稀疏性惩罚因子的权重。
通过调整重构误差使得深度稀疏自动编码器的输出准确度大大提高,然后对输出的低维特征矩阵ST进行聚类即实现了本发明社区发现的目的。
本发明还选择真实社区数据集(Ground-truth communities)进行验证,这样对于本发明社区发现分析方法的准确性评估时能够准确分析并验证。具体的,使用了3个真实数据集Strike、Football以及LiveJournal进行实验。其中,Strike是一个关于木材加工项目的24个罢工人员关系表,关系添加规则为两个人之间讨论罢工话题的频率,如果频率高(在调查时有具体的评判标准,此处不做详细解释),则建立连接。Football是美国大学生体育协会(NCAA)在2006年举办的美式足球杯赛(FBS)的时间表。在NCAA关系网络中,如果两个队伍比过赛,则建立连接。LiveJournal是一个免费的线上博客社区,用户之间可以相互添加好友。它可以建立群组。在收集社区信息的时候,依据文化背景,娱乐喜好,运动,游戏,生活方式,技术等等进行分类。在社交网络上抽取了近四百万个点,三千万条边,选取了其中节点数量最多的8个社区,作为数据集进行实验。
通过对strike数据集、football数据集和LiveJournal数据集分别进行100次的实验,可知聚类结果具有波动性。以NMI值为例,小数据集(strike)方差为26.46,较大数据集(football)方差为0.96,超大数据集(LiveJournal)方差为0.18。这说明了在小数据集中需进行多次实验,减少波动导致的影响。另外,方差会随着数据集的增大而减少,也说明了本发明在大的数据集上所得的结果具有更高的稳定性,在对不同实验集所做的重复次数也可以灵活改变。

Claims (7)

1.一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法,其特征在于,包括步骤:
针对网络图G=(V,E),V={v1,v2,…vi,…vn},其中V代表网络图G中的节点集,E代表网络图G中的边集,vi代表网络图G中的节点,n为节点数量,求得网络图G的邻接矩阵的相似度矩阵S;
将所述相似度矩阵S作为输入,利用深度稀疏自动编码器进行训练,最后输出低维特征矩阵ST
对所述低维特征矩阵ST进行聚类实现社区发现。
2.如权利要求1所述的社区发现分析方法,其特征在于,计算相似度矩阵具体为:
计算所述网络图G中任意两个节点vi和vj之间的节点相似度
Sim(i,j)=eτ(1-s),s≥1,τ∈(0,1)
其中,s是vi和vj之间的跳数,τ是衰减因子;
利用上式求得网络图G中所有两点之间的节点相似度,根据上述节点相似度组成相似度矩阵S,S=[sij]n×n,其中,sij=Sim(i,j)。
3.如权利要求1所述的社区发现分析方法,其特征在于,将所述相似度矩阵S作为网络图G的输入,利用深度稀疏自动编码器进行训练,最后输出低维特征矩阵ST具体为:
所述深度系数自动编码器的层数为T,每层的节点数为dt={d0,d1,d2,...,dT|d0=n,d0>d1>d2>…>dT},将相似度矩阵S作为所述深度系数自动编码器的第一层输入,第一层训练结束后的数据作为所述深度系数自动编码器的第二层输入,依次类推得到最后一层的输出,即低维特征矩阵ST
4.如权利要求3所述的社区发现分析方法,其特征在于,令si表示相似度矩阵S的第i个列向量,W1为输入层的权重矩阵,W2为隐藏层的权重矩阵,b为隐藏层的偏置列向量,c为输入层的偏置列向量,则所述深度系数自动编码器编码层第i个列向量为:
hi=σ(W1si+b)
所述深度系数自动编码器的解码层第i个列向量为:
zi=σ(w2hi+c)
其中,σ为激活函数。
5.如权利要求4所述的社区发现分析方法,其特征在于,利用拟牛顿法最小化所述深度系数自动编码器的重构误差,不断迭代直至误差达到预设范围或达到设定的迭代次数停止,然后输出所述低维特征矩阵ST
6.如权利要求4所述的社区发现分析方法,其特征在于,所述重构误差计算公式为:
7.如权利要求6所述的社区发现分析方法,其特征在于,在计算所述重构误差时加入稀疏性惩罚因子项,更新所述重构误差计算公式为:
其中,为编码层输出的平均值,ρ为稀疏值,hj(xi)表示对于隐藏层第j个神经元hj,当输入为xi时的输出值,
CN201910016432.4A 2019-01-08 2019-01-08 一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法 Pending CN109859062A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910016432.4A CN109859062A (zh) 2019-01-08 2019-01-08 一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910016432.4A CN109859062A (zh) 2019-01-08 2019-01-08 一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法

Publications (1)

Publication Number Publication Date
CN109859062A true CN109859062A (zh) 2019-06-07

Family

ID=66894187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910016432.4A Pending CN109859062A (zh) 2019-01-08 2019-01-08 一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法

Country Status (1)

Country Link
CN (1) CN109859062A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111371611A (zh) * 2020-02-28 2020-07-03 广州大学 一种基于深度学习的加权网络社区发现方法及装置
CN113407784A (zh) * 2021-05-28 2021-09-17 桂林电子科技大学 一种基于社交网络的社团划分方法、系统及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111371611A (zh) * 2020-02-28 2020-07-03 广州大学 一种基于深度学习的加权网络社区发现方法及装置
CN113407784A (zh) * 2021-05-28 2021-09-17 桂林电子科技大学 一种基于社交网络的社团划分方法、系统及存储介质

Similar Documents

Publication Publication Date Title
CN109376242B (zh) 基于循环神经网络变体和卷积神经网络的文本分类方法
CN105512209B (zh) 一种基于特征自动学习的生物医学事件触发词识别方法
CN111125358B (zh) 一种基于超图的文本分类方法
CN108304826A (zh) 基于卷积神经网络的人脸表情识别方法
CN110222163A (zh) 一种融合cnn与双向lstm的智能问答方法及系统
CN110321417A (zh) 一种对话生成方法、系统、可读存储介质及计算机设备
CN109376857A (zh) 一种融合结构和属性信息的多模态深度网络嵌入方法
CN103729459A (zh) 一种构建情感分类模型的方法
CN108268449A (zh) 一种基于词项聚类的文本语义标签抽取方法
CN108520166A (zh) 一种基于多重相似性网络游走的药物靶标预测方法
CN111291556A (zh) 基于实体义项的字和词特征融合的中文实体关系抽取方法
CN112949647A (zh) 三维场景描述方法、装置、电子设备和存储介质
CN112417289A (zh) 一种基于深度聚类的资讯信息智能推荐方法
CN114822874B (zh) 一种基于特征偏差对齐的方剂功效分类方法
CN112084373A (zh) 一种基于图嵌入的多源异构网络用户对齐方法
CN109993208A (zh) 一种有噪声图像的聚类处理方法
CN113239211A (zh) 一种基于课程学习的强化学习知识图谱推理方法
CN109859062A (zh) 一种结合深度稀疏编码器和拟牛顿法的社区发现分析方法
Zhang et al. Deep compression of probabilistic graphical networks
Peng et al. Dual contrastive learning network for graph clustering
Harjoseputro A classification Javanese letters model using a convolutional neural network with KERAS framework
Xu et al. CNN-based skip-gram method for improving classification accuracy of chinese text
Astudillo et al. Self-organizing maps whose topologies can be learned with adaptive binary search trees using conditional rotations
Li et al. Ds-net++: Dynamic weight slicing for efficient inference in cnns and transformers
CN117235216A (zh) 一种基于异构知识融合的知识推理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190607