CN114970684A - 一种结合vae的提取网络核心结构的社区检测方法 - Google Patents

一种结合vae的提取网络核心结构的社区检测方法 Download PDF

Info

Publication number
CN114970684A
CN114970684A CN202210483834.7A CN202210483834A CN114970684A CN 114970684 A CN114970684 A CN 114970684A CN 202210483834 A CN202210483834 A CN 202210483834A CN 114970684 A CN114970684 A CN 114970684A
Authority
CN
China
Prior art keywords
matrix
community
network
core structure
graph
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
CN202210483834.7A
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 CN202210483834.7A priority Critical patent/CN114970684A/zh
Publication of CN114970684A publication Critical patent/CN114970684A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出了一种结合VAE的提取网络核心结构的社区检测方法。结合真实网络中的拓扑结构信息和核心结构信息,利用k‑truss算法寻找网络中的核心信息,利用变分自动编码器模型(VAE)对带有网络核心结构的相似度矩阵进行特征降维和特征提取,训练过程中提取均值与对数方差,并根据不同特征的样本生成不同特征的随机数,根据正态分布的随机数,得到数据生成。本发明利用编码部分降低数据维数,最小化重构误差和散度损失得到最优解。现有的算法大多利用经典体系,对于复杂网络作用不明显,实验时间长、难度大。本发明相对其他方法效果较好,可以得到一个完整且较为精确的社区划分结果。

Description

一种结合VAE的提取网络核心结构的社区检测方法
技术领域:
本发明结合逻辑分析技术和自动编码器模型,属于社区检测技术领域,具体是结合k-truss算法和变分自动编码器模型(VAE)的对真实网络进行社区检测的新方法。
背景技术:
随着互联网和人工智能技术的不断发展,社交网络出现并逐渐兴起于我们的日常生活中,社交网络可以展示由具有相同兴趣、专业和能力的人组成的真实社会群体。社交网络的核心是用户和用户之间的关系。真实社交网络的节点一般可以达到数千万级甚至数万亿级,这类网络通常也很复杂。所以,针对上述情况,必须使用一种方法来发现和识别这些真实的复杂网络结构。社区检测技术是理解并发掘现实世界中许多真实复杂网络结构的一种极其重要的方法,21世纪以后,研究和分析复杂网络中的社区结构得到了众多学者的关注,同时也出现了许多新型社区检测算法。
传统的社区发现算法大多针对社区网络的拓扑结构进行研究,但社区网络中往往存在一种网络核心结构,这种核心结构通常在网络结构分析中扮演关键角色。网络核心结构表现为紧凑而密集的节点间相连接的点集合,更加贴近社区内节点连接密集社区外节点连接稀疏的社区结构的定义。同时,结合真实网络中的社区信息与变分自动编码器模型进行训练可以更好的提取网络中核心结构的特征。所以针对上述情况,综合考虑网络拓扑结构和网络中的核心结构进行全面分析,以得到更优的结果,完善现有的社区检测算法。
发明内容
本发明提供了一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,使用k-truss算法找到网络中的k-truss结构,具体包括以下步骤:
步骤1:对原始数据集进行数据预处理,建立网络图的邻接矩阵,并所述邻接矩阵的生成相似度矩阵;
步骤2:利用变分自动编码器模型对带有网络核心结构的相似度矩阵进行特征降维和特征提取;
步骤3:基于变分自动编码器的算法模型由社区信息提取模块和深度学习模块组成,结合社区信息在给定的深度学习框架下进行调整训练,获得网络结构的低维特征表示;
步骤4:对步骤3中得到的低维特征矩阵使用K-means算法进行聚类,最终得到社区划分结果。
进一步的,步骤1具体包括:
1.1:获取原始数据集中的数据,建立原始网络图;
1.2:对步骤1.1中的原始网络图建立邻接矩阵;
1.3:计算步骤1.1中原始网络图中每条边的支持度;
1.4:计算步骤1.3中原始网络图中的k-truss核心结构;
1.5:根据步骤1.2中的邻接矩阵和步骤1.4中的k-truss核心结构,计算每个节点的相似度;
1.6:根据步骤1.2中的邻接矩阵和步骤1.5中每个节点的相似度,并计算生成相似度矩阵。
进一步的,步骤1.2中,给定图G=(V,E),V即图G中节点的集合,E即图G中边的集合,设N(u)为节点u的邻接节点集合,设矩阵A= [aij]n×n为图G的邻接矩阵,n代表矩阵的维度,当aij=1时,表示边eij存在,当aij=0时,表示边eij不存在。
进一步的,步骤1.5中,对于图G=(V,E),i,j∈V,eij∈E,邻接矩阵A=[aij]n×n,边eij的支持度sup(eij),边eij的相似度定义:
Figure BDA0003628554920000031
进一步的,步骤1.6中,对于图G=(V,E),它的相似度矩阵定义为X=[xij]n×n,其中xij=Sim(eij),i,j∈V,eij∈E。
进一步的,步骤2具体包括:
2.1:建立变分自动编码器模型;
2.2:将步骤1中获得的相似度矩阵输入变分自动编码器模型的编码部分中,根据式Hi=σ(W1Xi+b1)计算前向传播过程,获得隐藏层表示Hi
2.3:提取步骤2.2中每一个隐藏层表示Hi的均值与对数方差;
2.4:从标准正态分布N(0,1)中采样随机参数εi,更新Hi=μi+ εi×σi,将更新后的Hi作为解码部分的输入;
2.5:将步骤2.4中获得Hi输入变分自动编码器模型的解码部分中,根据式Yi=σ(W2Hi+b2)计算前向传播过程,获得数据生成Yi
2.6:通过误差反向传播算法更新神经网络参数变量 W1,W2,b1,b2
2.7:当达到模型所需要的训练目标时,继续下一个步骤,否则重复执行步骤训练步骤;
2.8:当达到模型所需要的训练次数时,继续下一个步骤,否则重复执行步骤训练步骤;
2.9:当达到步骤2.7和步骤2.8的要求时,得到通过变分自动编码器模型训练后的矩阵。
进一步的,步骤2.6中,变分自动编码器中交叉熵损失函数定义为:
Figure BDA0003628554920000041
其中,V为网络图顶点数量,Xi为输入层中矩阵的第i列向量,Yi是输出层中矩阵的第i列向量;
KL散度函数定义为:
Figure BDA0003628554920000042
其中,μi为均值,
Figure BDA0003628554920000043
为方差,m为隐藏层Hi的维度。
进一步的,步骤3具体包括:
3.1提取社区信息矩阵C;
3.2建立一个变分自动编码器模型,除总损失函数外,其他设置与步骤2中的设置相同;
3.3将步骤2.9中获得的矩阵输入至步骤3.2中的变分自动编码器模型中,经过训练获得低维特征矩阵。
进一步的,步骤3.1中,社区信息矩阵C的定义:
对于网络图G,对于获得的社区信息矩阵C∈R|V|×m,其中m是社区数量;
矩阵C的每一个行向量表示不同顶点属于某个社区的概率。
进一步的,步骤3.2中,添加一层与均值μx维度相同的向量μc,即为社区信息分布的均值,
Figure BDA0003628554920000051
为方差。角标x代表邻接信息,角标c 代表社区信息。加入社区信息后,新的KL散度损失函数更改为:
Figure BDA0003628554920000052
其中,m是隐藏层Hi的维度。
本发明中的算法模型可以应用于揭示发现某个真实网络的聚集行为,即用于发现和分析真实网络中的社区结构。在复杂真实网络中,可以对根据网络所建立的矩阵进行特征提取和降维,并进行聚类,完成社区结构的划分。在与互联网关系最紧密的社交网络中,社交网络平台可以根据用户上传的信息,按照年龄、性别、专业、爱好、使用时间等种种信息建立网络信息矩阵,通过本发明中的算法模型,从而完成不同社区的划分。通常可以用于社交软件朋友圈分析、职业介绍分析、朋友发现等相关功能。在其他应用领域中,例如在生物学中,可以用于分析复杂食物链网络结构,也可用于复杂蛋白质网络的特征提取和降维,完成不同蛋白质结构的划分。
附图说明
图1是本发明的主流程图。
图2是本发明的具体步骤详细流程图。
图3是本发明的变分自动编码器模型图。
图4是以一个小型网络拓扑结构图为例,具体说明本发明的k-truss 网络核心结构实例图。
图5(A)-图5(C)是Dolphins网络上的社区划分效果,节点上的数字代表该节点所被划分的社区标签。其中,图(A)表示真实社区划分情况,图(B)表示本发明的社区划分情况,图(C)表示FUA算法的社区划分情况。
图6(A)-图6(C)是Football网络上的社区划分效果,节点上的数字代表该节点所被划分的社区标签。其中,图(A)表示真实社区划分情况,图(B)表示本发明的社区划分情况,图(C)表示FUA算法的社区划分情况。
具体实施方式
下面通过实施例,并结合附图,对本发明的技术方案作进一步的说明。
实施例:
下面结合图1、图2所示的流程图对本实施例的具体方法进行介绍。
本发明使用的数据集是国外公开的数据集,且需要的数据集基于真实网络社区,数据集数量巨大。直接将数据输入至神经网络中会导致神经网络处理效率低下。同时,在小型简单拓扑结构中,可以直接使用聚类算法计算图中的社区关系,结果也比较精准。但是,邻接矩阵只记录相邻节点之间的关系,对于社区中任意两个没有相连接的节点,它们也可能存在于同一个社区中。描述社区结构中节点的关系并不能只使用邻接矩阵,如果所使用的社区检测算法在邻接矩阵的基础上直接聚类,则会影响社区划分的精准程度。
所以,本发明提出一种基于k-truss算法寻找网络核心结构的数据预处理方法,使用k-truss算法找到网络中的k-truss结构,这种结构的定义更加符合网络核心结构,同时结合网络拓扑结构生成带有网络核心结构的特征矩阵,再将矩阵送入变分自动编码器中进行训练,变分自动编码器能够很好的对网络核心结构进行特征提取和降维,之后再结合社区信息与变分自动编码器进行二次训练,这种做法提高了社区划分的效果。
如图所示,本实施例的一种结合VAE的提取网络核心结构的社区检测方法,具体包括以下步骤:
步骤1:对原始数据集进行数据预处理,建立网络图的邻接矩阵,并所述邻接矩阵的生成相似度矩阵。
数据预处理的具体步骤如下所示:
步骤1.1:获取原始数据集中的数据,建立原始网络图。
步骤1.2:对步骤1.1中的原始网络图建立邻接矩阵。
给定图G=(V,E),V即图G中节点的集合,E即图G中边的集合,设N(u)为节点u的邻接节点集合,设矩阵A=[aij]n×n为图G的邻接矩阵,n代表矩阵的维度,当aij=1时,表示边eij存在,当aij=0时,表示边eij不存在。
步骤1.3:计算步骤1.1中原始网络图中每条边的支持度。
对于图G=(V,E)和它的子图G',计算边e在子图G'中的支持度,用 sup(e,G')表示边e在子图G'中的支持度即为子图G'包含边e的三角形个数,简记为sup(e)。
步骤1.4:计算步骤1.3中原始网络图中的k-truss核心结构。
对于图G=(V,E),定义子图Gk(k≥2)为图G中的k-truss结构,定义子图Gk中任意条边e的支持度大于等于(k-2)。记为
Figure BDA0003628554920000082
Figure BDA0003628554920000083
步骤1.5:根据步骤1.2中的邻接矩阵和步骤1.4中的k-truss 核心结构,计算每个节点的相似度。
对于图G=(V,E),i,j∈V,eij∈E,邻接矩阵A=[aij]n×n,边eij的支持度sup(eij),边eij的相似度定义:
Figure BDA0003628554920000081
步骤1.6:根据步骤1.2中的邻接矩阵和步骤1.5中每个节点的相似度,并计算相似度矩阵:
对于图G=(V,E),它的相似度矩阵定义为X=[xij]n×n,其中 xij=Sim(eij),i,j∈V,eij∈E。
步骤2:利用变分自动编码器模型对带有网络核心结构的相似度矩阵进行特征降维和特征提取。
训练过程中提取均值与对数方差,并根据不同特征的样本生成不同特征的随机数,根据正态分布的随机数,得到数据生成。利用编码部分降低数据维数,最小化重构误差和散度损失得到最优解。
步骤2中变分自动编码器模块的具体步骤如下所示:
步骤2.1:建立变分自动编码器模型。
结合图3,首先建立变分自动编码器模型。则有:
Hi=σ(W1Xi+b1),Yi=σ(W2Hi+b2)
其中,Hi是隐藏层中矩阵的第i列向量;σ是激活函数,如 Sigmoid函数;Xi为输入层中矩阵的第i列向量,Yi是输出层中矩阵的第i列向量,i表示1至|V|中的任一数字,W1和W2分别是输入层的权重矩阵和隐藏层的权重矩阵;b1和b2分别是输入层的偏置向量和隐藏层的偏置向量。前式为编码部分,后式即为解码部分。
步骤2.2:将步骤1中获得的相似度矩阵输入变分自动编码器模型的编码部分中,根据式Hi=σ(W1Xi+b1)计算前向传播过程,获得隐藏层表示Hi,i表示1至|V|中的任一数字。
步骤2.3:提取步骤2.2中每一个隐藏层表示Hi的均值与对数方差。
设置标准正态分布的参数均值为μ,对数方差为logσ2。构建神经网络μi=f(Xi)和
Figure BDA0003628554920000091
f为激活函数。其中,Xi表示输入层向量,μi表示从隐藏层Hi提取的均值向量,
Figure BDA0003628554920000092
表示从隐藏层Hi提取的对数方差向量,f表示激活函数,如Sigmoid函数,i表示1至|V|中的任一数字。
步骤2.4:从标准正态分布N(0,1)中采样随机参数εi,更新 Hi=μii×σi,将更新后的Hi作为解码部分的输入。
其中,Hi表示更新后的隐藏层第i列向量,μi表示从隐藏层Hi提取的第i列均值向量,σi表示从隐藏层Hi提取的方差向量,εi表示从标准正态分布N(0,1)中采样的随机参数(i如何解释),i表示1至|V| 中的任一数字。
步骤2.5:将步骤2.4中获得Hi输入变分自动编码器模型的解码部分中,根据式Yi=σ(W2Hi+b2)计算前向传播过程,获得数据生成 Yi,Yi表示输出层第i列向量,i表示1至|V|中的任一数字。
步骤2.6:通过误差反向传播算法更新神经网络参数变量 W1,W2,b1,b2
变分自动编码器中交叉熵损失函数L1定义为:
Figure BDA0003628554920000101
其中,V为网络图顶点数量,Xi为输入层中矩阵的第i列向量,Yi是输出层中矩阵的第i列向量,i表示1至|V|中的任一数字。
为了调和两个损失函数的比例程度,变分自动编码器引入了KL散度的概念,KL散度的本质是判别模型的正则规范。KL散度函数L2定义为:
Figure BDA0003628554920000102
其中,μi为均值,
Figure BDA0003628554920000103
为方差,m为隐藏层Hi的维度,i表示1至|V| 中的任一数字。
总损失函数Losssum定义为:
Losssum=L1+L2
其中,L1为交叉熵损失函数,L2为KL散度函数。
最后,通过误差反向传播算法更新参数变量W1,W2,b1,b2
步骤2.7:当达到模型所需要的训练目标时,继续下一个步骤,否则重复执行步骤训练步骤。
步骤2.8:当达到模型所需要的训练次数时,继续下一个步骤,否则重复执行步骤训练步骤。
步骤2.9:当达到步骤2.7和步骤2.8的要求时,得到通过变分自动编码器模型训练后的矩阵。
特征降维与提取模块利用变分自动编码器模型对带有网络核心结构的相似度矩阵进行特征降维和特征提取,训练过程中提取均值与对数方差,并根据不同特征的样本生成不同特征的随机数,根据正态分布的随机数,得到数据生成。利用编码部分降低数据维数,最小化重构误差和散度损失得到最优解。
步骤3:基于变分自动编码器的算法模型由社区信息提取模块和深度学习模块组成,结合社区信息在给定的深度学习框架下进行调整训练,获得网络结构的低维特征表示,具体包括:
步骤3.1提取社区信息矩阵C。
对于网络图G,对于获得的社区信息矩阵C∈R|V|×m
其中m是社区数量。矩阵C的每一个行向量表示不同顶点属于某个社区的概率。
步骤3.2建立一个变分自动编码器模型,除总损失函数外,其他设置与步骤2中的设置相同。
损失函数的更改如下:
添加一层与均值μx维度相同的向量μc,即为社区信息分布的均值,
Figure BDA0003628554920000121
为方差。角标x代表邻接信息,角标c代表社区信息。加入社区信息后,新的KL散度损失函数
Figure BDA0003628554920000122
更新为:
Figure BDA0003628554920000123
其中,m是隐藏层Hi的维度,i表示1至|V|中的任一数字。
总损失函数定义为:
Figure BDA0003628554920000124
其中,L1为交叉熵损失函数,L2为更改后的KL散度函数。
步骤3.3将步骤2.9中获得的矩阵输入至步骤3.2中的变分自动编码器模型中,经过训练获得的低维特征矩阵。
步骤4:对步骤3中得到的低维特征矩阵使用K-means算法进行聚类,聚类个数设置为真实社区标签种类数量,最终得到社区划分结果。
实施例
图4是以一个小型网络拓扑结构图为例,具体说明本发明的k-truss网络核心结构实例图。
以图4(一个小型网络拓扑结构图)为例,具体说明网络核心结构(k-truss结构)。其中,节点上的数字代表节点序号,当两个节点存在连接边时,用一条直线连接这两个节点。
图4本身即为一个2-truss结构,图中浅色部分所表示的子图是 3-truss结构,即子图中每条边至少属于一个三角形,图中深色部分所表示的子图是4-truss结构,同时也是5-truss结构,即子图中每条边至少属于两个或三个三角形。由此可见,k-truss结构是一种分层递进的子图结构,不同k的取值刻画了不同稠密程度的网络核心。本发明综合利用k-truss结构寻找网络核心结构,以达到更好的社区划分效果。
本发明选取了真实网络社区数据集进行验证,从而可以对提出算法模型的可行性和准确性进行分析和验证。
本发明使用了十个真实的数据集:Strike、Karate、Dolphins、 Football、Email_Eu、Polblogs、Cora、Citeseer、Youtube和DBLP。
其中,Strike、Karate、Dolphins和Football属于小型数据集 (十级和百级数量级),Email_Eu、Polblogs、Cora和Citeseer属于中型数据集(千级数量级),Youtube和DBLP属于大型数据集(万级数量级)。
设立评价标准是为了检测最终聚类结果是否符合预期标准,本文选取了三个评价指标。其中,Q是用来衡量最终社区划分的质量,而 NMI和Fsame是根据真实社区集合进行分析的评价方法。
给定聚类结果集合C={C1,C2,C3…Cm},即由算法发现的社区。真实社区集合C'={C'1,C'2,C'3,…C'n},即真实存在的社团,m是社区划分聚类结果的数量,n是真实社区的数量。
模块度Q是用来衡量最终社区划分的质量,它可以评价一个社区划分的良好程度。定义为:
Figure BDA0003628554920000141
其中,d是图C'中边的总数,m是社区划分聚类结果的数量,
Figure BDA0003628554920000142
是图Ci中内部边的总数,
Figure BDA0003628554920000143
是图Ci中外部边的总数。
NMI方法英文全称Normalized Mutual Information,意指归一化互信息。NMI定义为:
Figure BDA0003628554920000144
其中,X是混淆矩阵且X∈R(n×n),在混淆矩阵X中,行代表真实社区集合C',列代表聚类结果集合C。Xij代表图Ci和图C'j的交集,即两图的重叠节点。当算法发现的社区与真实存在的社区越相似,则NMI 越接近于1。反之,则NMI越接近于0。
Fsame方法通过计算每一个算法发现的社区与真实存在的社区的交集,并对获得的结果求均值运算。定义为:
Figure BDA0003628554920000145
其中,V是图C'中节点的总数,m是社区划分聚类结果的数量,n 是真实社区的数量。
如上文所述,本发明从实际出发,结合真实网络中网络拓扑结构和网络中的核心结构,提出了一种结合VAE的提取网络核心结构的社区检测方法,主要包括以下几个模块:
1、数据预处理模块:由于本发明使用的数据集是国外公开的数据集,且实验需要数据集来分析真实网络中网络拓扑结构和网络中的核心结构,使用k-truss算法可以很好的寻找真实网络中的核心结构。因此需要对使用的数据集进行预处理。
2、特征降维与提取模块:利用变分自动编码器模型对带有网络核心结构的相似度矩阵进行特征降维和特征提取,训练过程中提取均值与对数方差,并根据不同特征的样本生成不同特征的随机数,根据正态分布的随机数,得到数据生成。利用编码部分降低数据维数,最小化重构误差和散度损失得到最优解。
3、社区信息结合模块:为了将社区信息与变分自动编码器有效结合,基于变分自动编码器的算法模型由社区信息提取模块和深度学习模块组成。结合社区信息在给定的深度学习框架下进行调整训练,获得网络结构的低维特征表示。
4、聚类模块:基于模块1、2、3,利用K-means聚类算法将经过变分自动编码器模型训练后得到的低维特征矩阵进行聚类操作,最终完成对社区结构划分。
本发明中的算法模型可以应用于揭示发现某个真实网络的聚集行为,即用于发现和分析真实网络中的社区结构。在复杂真实网络中,可以对根据网络所建立的矩阵进行特征提取和降维,并进行聚类,完成社区结构的划分。在与互联网关系最紧密的社交网络中,社交网络平台可以根据用户上传的信息,按照年龄、性别、专业、爱好、使用时间等种种信息建立网络信息矩阵,通过本发明中的算法模型,从而完成不同社区的划分。通常可以用于社交软件朋友圈分析、职业介绍分析、朋友发现等相关功能。在其他应用领域中,例如在生物学中,可以用于分析复杂食物链网络结构,也可用于复杂蛋白质网络的特征提取和降维,完成不同蛋白质结构的划分。
传统的社区发现算法大多针对社区网络的拓扑结构进行研究,但社区网络中的核心结构会大大影响社区检测算法的准确程度、对特征矩阵进行降维的方法和聚类的过程也会影响最终的社区划分。本发明综合考虑上述因素,实现了一种结合VAE的提取网络核心结构的社区检测方法,并且经过多次实验,本发明在三个评价指标上的实验效果相对其他方法较好,可以得到一个完整且较为精确的社区划分结果。具体表现在中型、小型且较密集的复杂真实网络中有很好的社区划分效果,在中型、大型且较稀疏的复杂真实网络中也具有一定的社区划分效果,并且社区结构划分的准确程度相对其他传统算法较高。
实施例
本发明的实验效果可以通过以下仿真实验进行说明:
本发明的实验环境基于Windows 10操作***,软件环境为Python 语言,硬件环境为Intel Core i7-9700K CPU、48GB内存容量。
使用本发明和FUA算法选取Dolphins和Football数据集进行对比实验。FUA算法是一种广泛使用的基于模块度的社区检测算法,该算法的优化目标是最大化整个社区网络的模块度。
图5(A)-(C)是Dolphins网络上的社区划分效果,节点上的数字代表该节点所被划分的社区标签。其中,图(A)表示真实社区划分情况,图(B)表示本发明的社区划分情况,图(C)表示FUA算法的社区划分情况。
如图5所示,Dolphins网络共有62个节点、159条边和2类社区标签,节点上的数字代表该节点所被划分的社区标签,图(a)表示真实社区划分情况,图(b)表示本发明的社区划分情况,图(c)表示FUA 算法的社区划分情况。可以发现,在Dolphins网络上,本发明的社区划分情况与真实社区划分情况完全一致,而FUA算法将网络错误的划分为5个社区,且划分准确度较低,与真实社区划分情况大相径庭。
图6(A)-(C)是Football网络上的社区划分效果,节点上的数字代表该节点所被划分的社区标签。其中,图(A)表示真实社区划分情况,图(B)表示本发明的社区划分情况,图(C)表示FUA算法的社区划分情况。
如图6所示,Football网络共有180个节点、788条边和12类社区标签,节点上的数字代表该节点所被划分的社区标签,图(a)表示真实社区划分情况,图(b)表示本发明的社区划分情况,图(c)表示 FUA算法的社区划分情况。可以发现,在Football网络上,本发明的社区划分情况仅与真实社区划分情况相差一个节点(图(b)中方框中的节点,真实社区标签为“0”,本发明所划分的社区标签为“5”),而FUA算法将网络错误的划分为9个社区,且划分准确度较低,与真实社区划分情况大相径庭。
由此可见,本发明的社区划分效果相比传统算法更加准确,更加接近真实网络。

Claims (10)

1.一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,使用k-truss算法找到网络中的k-truss结构,具体包括以下步骤:
步骤1:对原始数据集进行数据预处理,建立网络图的邻接矩阵,并所述邻接矩阵的生成相似度矩阵;
步骤2:利用变分自动编码器模型对步骤1生成的所述相似度矩阵进行特征降维和特征提取,所述变分自动编码器模型由社区信息提取模块和深度学习模块组成;
步骤3:结合社区信息在给定的深度学习框架下对所述变分自动编码器模型进行调整训练,并获得网络结构的低维特征矩阵;
步骤4:对步骤3中得到的低维特征矩阵使用K-means算法进行聚类,最终得到社区划分结果。
2.根据权利要求1所述的一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,
步骤1具体包括:
1.1:获取原始数据集中的数据,建立原始网络图;
1.2:对步骤1.1中的原始网络图建立邻接矩阵;
1.3:计算步骤1.1中原始网络图中每条边的支持度;
1.4:计算步骤1.3中原始网络图中的k-truss核心结构;
1.5:根据步骤1.2中的邻接矩阵和步骤1.4中的k-truss核心结构,计算每个节点的相似度;
1.6:根据步骤1.2中的邻接矩阵和步骤1.5中每个节点的相似度,并计算生成相似度矩阵。
3.根据权利要求2所述的一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,
步骤1.2中,给定图G=(V,E),V即图G中节点的集合,E即图G中边的集合,设N(u)为节点u的邻接节点集合,设矩阵A=[aij]n×n为图G的邻接矩阵,n代表矩阵的维度,当aij=1时,表示边eij存在,当aij=0时,表示边eij不存在。
4.根据权利要求3所述的一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,
步骤1.5中,对于图G=(V,E),i,j∈V,eij∈E,邻接矩阵A=[aij]n×n,边eij的支持度sup(eij),边eij的相似度定义:
Figure FDA0003628554910000021
5.根据权利要求4所述的一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,
步骤1.6中,对于图G=(V,E),它的相似度矩阵定义为X=[xij]n×n,其中xij=Sim(eij),i,j∈V,eij∈E。
6.根据权利要求1所述的一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,
步骤2具体包括:
2.1:建立变分自动编码器模型;
2.2:将步骤1中获得的相似度矩阵输入变分自动编码器模型的编码部分中,根据式Hi=σ(W1Xi+b1)计算前向传播过程,获得隐藏层表示Hi,i表示1至|V|中的任一数字;
2.3:提取步骤2.2中每一个隐藏层表示Hi的均值与对数方差;
2.4:从标准正态分布N(0,1)中采样随机参数εi,更新Hi=μii×σi,将更新后的Hi作为解码部分的输入;
2.5:将步骤2.4中获得Hi输入变分自动编码器模型的解码部分中,根据式Yi=σ(W2Hi+b2)计算前向传播过程,获得数据生成Yi,Yi表示输出层第i列向量,i表示1至|V|中的任一数字;
2.6:通过误差反向传播算法更新神经网络参数变量W1,W2,b1,b2
2.7:当达到模型所需要的训练目标时,继续下一个步骤,否则重复执行步骤训练步骤;
2.8:当达到模型所需要的训练次数时,继续下一个步骤,否则重复执行步骤训练步骤;
2.9:当达到步骤2.7和步骤2.8的要求时,得到通过变分自动编码器模型训练后的低维特征矩阵矩阵。
7.根据权利要求6所述的一种结合VAF的提取网络核心结构的社区检测方法,其特征在于,
步骤2.6中,变分自动编码器中交叉熵损失函数定义为:
Figure FDA0003628554910000031
其中,V为网络图顶点数量,Xi为输入层中矩阵的第i列向量,Yi是输出层中矩阵的第i列向量,i表示1至|V|中的任一数字;
KL散度函数L2定义为:
Figure FDA0003628554910000041
其中,μi为均值,
Figure FDA0003628554910000042
为方差,m为隐藏层Hi的维度,i表示1至|V|中的任一数字。
8.根据权利要求1所述的一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,
步骤3具体包括:
3.1提取社区信息矩阵C;
3.2建立一个变分自动编码器模型,除总损失函数外,其他设置与步骤2中的设置相同;
3.3将步骤2.9中获得的矩阵输入至步骤3.2中的变分自动编码器模型中,经过训练获得低维特征矩阵。
9.根据权利要求8所述的一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,
步骤3.1中,社区信息矩阵C的定义:
对于网络图G,对于获得的社区信息矩阵C∈R|V|×m,其中m是社区数量,矩阵C的每一个行向量表示不同顶点属于某个社区的概率。
10.根据权利要求9所述的一种结合VAE的提取网络核心结构的社区检测方法,其特征在于,
步骤3.2中,添加一层与均值μx维度相同的向量μc,即为社区信息分布的均值,
Figure FDA0003628554910000051
为方差。角标x代表邻接信息,角标c代表社区信息。加入社区信息后,新的KL散度损失函数更改为:
Figure FDA0003628554910000052
其中,m是隐藏层Hi的维度,i表示1至|V|中的任一数字。
CN202210483834.7A 2022-05-05 2022-05-05 一种结合vae的提取网络核心结构的社区检测方法 Pending CN114970684A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210483834.7A CN114970684A (zh) 2022-05-05 2022-05-05 一种结合vae的提取网络核心结构的社区检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210483834.7A CN114970684A (zh) 2022-05-05 2022-05-05 一种结合vae的提取网络核心结构的社区检测方法

Publications (1)

Publication Number Publication Date
CN114970684A true CN114970684A (zh) 2022-08-30

Family

ID=82980867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210483834.7A Pending CN114970684A (zh) 2022-05-05 2022-05-05 一种结合vae的提取网络核心结构的社区检测方法

Country Status (1)

Country Link
CN (1) CN114970684A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115964626A (zh) * 2022-10-27 2023-04-14 河南大学 一种基于动态多尺度特征融合网络的社区检测方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115964626A (zh) * 2022-10-27 2023-04-14 河南大学 一种基于动态多尺度特征融合网络的社区检测方法

Similar Documents

Publication Publication Date Title
CN107122809B (zh) 基于图像自编码的神经网络特征学习方法
CN109918528A (zh) 一种基于语义保护的紧凑的哈希码学习方法
CN107562812A (zh) 一种基于特定模态语义空间建模的跨模态相似性学习方法
CN111667022A (zh) 用户数据处理方法、装置、计算机设备和存储介质
Li et al. Image sentiment prediction based on textual descriptions with adjective noun pairs
Song et al. Deep auto-encoder based clustering
CN111414461A (zh) 一种融合知识库与用户建模的智能问答方法及***
CN112308115B (zh) 一种多标签图像深度学习分类方法及设备
CN115688024B (zh) 基于用户内容特征和行为特征的网络异常用户预测方法
CN111222847B (zh) 基于深度学习与非监督聚类的开源社区开发者推荐方法
CN112732921B (zh) 一种虚假用户评论检测方法及***
CN110598022B (zh) 一种基于鲁棒深度哈希网络的图像检索***与方法
CN113051914A (zh) 一种基于多特征动态画像的企业隐藏标签抽取方法及装置
Chen et al. Binarized neural architecture search for efficient object recognition
CN116386899A (zh) 基于图学习的药物疾病关联关系预测方法及相关设备
CN114897085A (zh) 一种基于封闭子图链路预测的聚类方法及计算机设备
CN114970684A (zh) 一种结合vae的提取网络核心结构的社区检测方法
CN115936014B (zh) 一种医学实体对码方法、***、计算机设备、存储介质
Ahan et al. Social network analysis using data segmentation and neural networks
CN115801152A (zh) 基于层次化transformer模型的WiFi动作识别方法
CN111767825B (zh) 一种人脸属性不变鲁棒性人脸识别方法及***
CN114818681A (zh) 一种实体识别方法及***、计算机可读存储介质及终端
Li Construction of Sports Training Performance Prediction Model Based on a Generative Adversarial Deep Neural Network Algorithm
Rong et al. Exploring network behavior using cluster analysis
Phuc et al. Using SOM based graph clustering for extracting main ideas from documents

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