«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (10): 67-73  DOI: 10.19678/j.issn.1000-3428.0055764
0

引用本文  

张潘, 卢光跃, 吕少卿, 等. 基于矩阵分解的属性网络表示学习[J]. 计算机工程, 2020, 46(10), 67-73. DOI: 10.19678/j.issn.1000-3428.0055764.
ZHANG Pan, LU Guangyue, Lü Shaoqing, et al. Attributed Network Representation Learning Based on Matrix Factorization[J]. Computer Engineering, 2020, 46(10), 67-73. DOI: 10.19678/j.issn.1000-3428.0055764.

基金项目

陕西省教育厅科研计划项目(17JK0703)

作者简介

张潘(1991-), 男, 硕士研究生, 主研方向为网络表示学习、数据挖掘;
卢光跃, 教授;
吕少卿, 讲师、博士;
赵雪莉, 硕士研究生

文章历史

收稿日期:2019-08-19
修回日期:2019-10-02
基于矩阵分解的属性网络表示学习
张潘1,2 , 卢光跃1,2 , 吕少卿1,2 , 赵雪莉1,2     
1. 西安邮电大学 通信与信息工程学院, 西安 710121;
2. 陕西省信息通信网络及安全重点实验室, 西安 710121
摘要:为融合网络拓扑结构与节点属性信息以提高网络表示学习质量,提出一种新的属性网络表示学习算法(ANEMF)。引入余弦相似性概念,定义网络二阶结构相似度矩阵和属性相似度矩阵,通过对网络结构相似度和属性相似度损失函数进行联合优化学习,并利用矩阵分解的形式实现网络拓扑结构与节点属性信息的融合,同时应用乘法更新规则计算得到节点表示向量。在3个公开数据集上的实验结果表明,与DeepWalk和TADW算法相比,ANEMF算法得到的节点表示向量能够保留网络拓扑结构与节点属性信息,有效提升其在节点分类任务中的综合性能。
关键词机器学习    网络分析    数据挖掘    网络表示学习    矩阵分解    网络嵌入    
Attributed Network Representation Learning Based on Matrix Factorization
ZHANG Pan1,2 , LU Guangyue1,2 , Lü Shaoqing1,2 , ZHAO Xueli1,2     
1. School of Communications and Information Engineering, Xi'an University of Posts and Telecommunications, Xi'an 710121, China;
2. Shaanxi Provincial Key Laboratory of Information Communication Network and Security, Xi'an 710121, China
Abstract: To combine the information of network topological structure and node attribute to improve the quality of network representation learning, this paper proposes a new attributed network representation learning algorithm, named ANEMF.The algorithm introduces the idea of cosine similarity to define the second-order structural similarity matrix and the attribute similarity matrix of the network.Through the cooperative optimized learning of network structure similarity and attribute similarity functions, the information of network topological structure and node attribute is fused in the form of matrix factorization.Finally, the node representation vectors are obtained through the multiplication update rules.Experimental results on three public datasets show that compared with DeepWalk and TADW algorithms, the proposed algorithm can keep the information of network topological structure and node attribute in obtained node representation vectors.It can significantly improve the overall performance in the node classification tasks.
Key words: machine learning    network analysis    data mining    network representation learning    matrix factorization    network embedding    
0 概述

随着互联网络科技的快速发展, 网络已成为人们获取信息、互动交流的重要途径。在现实世界中, 很多复杂系统都可以表示为社交网络、引文网络、生物网络和信息网络[1-3]等网络形式, 而以Facebook、Twitter、微信和微博为代表的社交网络给人们的生活带来了巨大变化, 人们在社交网络中的活动产生了大量数据, 而这些数据通常蕴涵着丰富的可用信息。此外, 引文网络、移动互联网络和生物网络由于结构复杂, 并且隐含其中的深层信息通常具有重要的研究意义, 因此也受到了学术界的广泛关注。

机器学习是人工智能的重要研究方向, 近年来已有越来越多的机器学习算法被提出, 其性能远超传统算法, 但由于网络是一种特殊的数据结构, 其不能直接作为机器学习算法的输入进而实现网络分析任务, 因此网络表示学习技术应运而生[3]。网络表示学习旨在将网络中的节点表示为低维实值向量, 在一定程度上保留了原始网络信息。在学习并得到节点表示向量后, 可使用机器学习算法进行节点分类[4]和链路预测[5]等网络分析任务。基于局部线性嵌入(Locally Linear Embedding, LLE)[6]和拉普拉斯特征映射(Laplacian Eigenmaps, LE)[7]的传统网络表示学习算法通常依赖于求解亲和度矩阵的主导特征向量, 且时间复杂度较高, 因此很难将其应用于大规模网络。

Word2vec是Google于2013年推出的一个用于获取词向量的开源工具[8], 在词向量表示方面取得了良好的性能。受到Word2vec的启发, PEROZZI于2014年提出DeepWalk算法[9], 创造性地将深度学习技术引入网络表示学习领域, 通过随机游走生成一系列节点序列, 然后将这些序列作为Word2vec算法的输入得到节点的表示向量, 在节点分类、链路预测等网络分析任务中取得了较好的效果。文献[10]提出LINE算法且定义网络节点间的一阶相似性和二阶相似性并对其进行概率建模, 通过最小化概率分布和经验分布的KL散度, 得到最终的节点表示向量。文献[11]提出Node2vec算法, 其在DeepWalk算法的基础上设计广度优先游走和深度优先游走两种采样策略, 并挖掘出网络局部特性和全局特性, 最终得到节点的表示向量。

然而, 上述算法仅考虑了网络拓扑结构信息, 并未有效利用网络节点的属性信息, 而现实世界中的网络包含性别、爱好、职业和文本信息等节点属性信息。因此, 如何将这些属性信息有效融合到网络表示学习算法中是近年来急需解决的问题。为此, 研究人员提出TADW[12]、AANE[13]等算法。文献[12]证明了DeepWalk算法与矩阵分解的等价性, 并对网络文本信息加以利用, 使得TADW算法能得到质量更高的节点表示。AANE算法融合了网络结构信息和节点属性信息, 并将建模和优化过程分解为多个子问题, 通过分布式方式进行联合学习, 大幅提升了训练速度。但TADW算法针对的节点属性信息为文本信息, 忽略了文本中词的词序信息及网络结构的一阶相似性, 难以有效挖掘出深层语义信息[14]且解释性不强, 而AANE算法虽然保留了网络结构的一阶相似性, 却忽略了网络结构的二阶相似性。

本文提出一种基于矩阵分解的属性网络表示学习算法(ANEMF)。该算法定义二阶结构相似度矩阵和属性相似度矩阵, 通过对网络结构相似度和属性相似度损失函数进行联合优化, 实现网络结构信息和节点属性信息的融合, 从而得到节点的向量表示。

1 属性网络表示学习

为更好地描述本文提出的属性网络表示学习算法, 表 1列出了主要参数及其定义。

下载CSV 表 1 主要参数及其定义 Table 1 Main parameters and their definitions
1.1 相关概念

本节主要介绍与本文工作相关的一些定义和模型。

定义1(属性网络)  给定属性网络G=(V, E, T), 其中, V表示G中节点的集合, E表示G中边的集合, T$\mathbb{R}$n×m表示G的属性矩阵[15]

定义2(属性网络表示学习)  属性网络表示学习又称网络嵌入。对于给定的一个属性网络G=(V, E, T), 设A$\mathbb{R}$n×nG的邻接矩阵。对任一节点vV, 学习一个映射函数f:vrv$\mathbb{R}$d, 其中rv是一个稠密的实数向量, 使得该向量在保留原始网络结构信息的同时能保留其节点属性信息, 并且满足d < < V

1.2 结构相似性

网络中直接相连的两个节点更可能具有相似的向量表示(具有较高权重的节点对在表示空间中的距离更近), 即一阶相似性[10]。如果两个节点之间存在一条边, 那么它们在低维向量空间中的表示应该相似。可以看出, 一阶相似性是网络结构最为直接的表达形式, 因此有必要将其保留。

本文将网络邻接矩阵A作为节点间的一阶相似度矩阵, 为保留一阶结构相似性, 定义以下损失函数来最小化连接节点之间的表示差异:

$ {J_{{\rm{S1}}}} = \left\| {\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}} \right\|_{\rm{F}}^2 $ (1)

其中, ‖·‖F表示矩阵的F范数。

然而, 实际网络中观测到的边通常为稀疏[16], 对于没有边直接相连的两个节点, 并不意味着它们不相似。因此, 对于网络结构而言, 仅保留一阶相似性远不够。可以看出, 如果两个节点存在共同的邻居, 即使它们之间没有直接的边连接, 仍然应该相似, 即二阶相似性[10]。设S$\mathbb{R}$n×n为二阶结构相似度矩阵, 本文使用邻接矩阵行向量的余弦相似度作为其二阶结构相似度, 即:

$ {s_{ij}} = \frac{{{\mathit{\boldsymbol{a}}_i} \cdot {\mathit{\boldsymbol{a}}_j}}}{{\left\| {{\mathit{\boldsymbol{a}}_i}} \right\| \cdot \left\| {{\mathit{\boldsymbol{a}}_i}} \right\|}} $ (2)

其中, ai为邻接矩阵A的第i行, 为保留二阶结构相似性, 最小化以下损失函数:

$ {J_{{\rm{S2}}}} = \left\| {\mathit{\boldsymbol{S}} - \mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}} \right\|_{\rm{F}}^2 $ (3)

基于以上分析, 为同时保留网络结构的一阶相似性和二阶相似性, 本文将最终网络拓扑结构信息的损失函数定义为:

$ {J_{\rm{S}}} = {J_{{\rm{S1}}}} + \alpha {J_{{\rm{S2}}}} = \left\| {\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}} \right\|_{\rm{F}}^2 + \alpha \left\| {\mathit{\boldsymbol{S}} - \mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}} \right\|_{\rm{F}}^2 $ (4)

其中, 参数α>0为二阶结构相似性的权重系数, 通过调节α的大小以适应不同网络。

1.3 属性相似性

网络同质性表明:节点的属性信息与网络的拓扑结构紧密相关[17], 网络空间中的节点相似度应该与节点属性空间中的节点相似度一致。本文定义M$\mathbb{R}$n×n为网络节点的属性相似度矩阵, 与二阶相似度矩阵S类似, 本文使用属性矩阵行向量的余弦相似度作为其属性相似度, 即:

$ {m_{ij}} = \frac{{{\mathit{\boldsymbol{t}}_i} \cdot {\mathit{\boldsymbol{t}}_j}}}{{\left\| {{\mathit{\boldsymbol{t}}_i}} \right\| \cdot \left\| {{\mathit{\boldsymbol{t}}_j}} \right\|}} $ (5)

其中, ti为属性矩阵T的第i行。为保留属性相似性, 本文将属性信息的损失函数定义为:

$ {J_{\rm{A}}} = \left\| {\mathit{\boldsymbol{M}} - \mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}} \right\|_{\rm{F}}^2 $ (6)
1.4 网络表示联合学习

上文通过定义JSJA两个损失函数完成对网络结构信息和节点属性信息的建模。为使得到的表示向量能够同时保留网络结构信息和节点属性信息, 对上述两种信息进行联合建模, 其联合损失函数如式(7)所示:

$ \begin{array}{*{20}{l}} {J = {J_{\rm{S}}} + \beta {J_{\rm{A}}} = }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \left\| {\mathit{\boldsymbol{A}} - \mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}} \right\|_{\rm{F}}^2 + \alpha \left\| {\mathit{\boldsymbol{S}} - \mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}} \right\|_{\rm{F}}^2 + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \beta \left\| {\mathit{\boldsymbol{M}} - \mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}} \right\|_{\rm{F}}^2} \end{array} $ (7)

其中, β是调节节点属性信息贡献程度的一个非负参数, 以适应不同网络和特定任务。具体而言, β越大, 意味着节点属性对表示学习的影响越大。从式(7)可以看出, 该模型的基本思想旨在使节点表示向量的内积接近结构相似度的同时也尽可能地接近属性相似度。

1.5 模型优化

本节先介绍损失函数的优化, 即最小化式(7), 再给出基于矩阵分解的属性网络表示学习算法的伪代码。由矩阵的F范数和迹之间的关系得到:

$ \begin{array}{*{20}{l}} {J = tr ({\mathit{\boldsymbol{A}}^{\rm{T}}}\mathit{\boldsymbol{A}} + \alpha {\mathit{\boldsymbol{S}}^{\rm{T}}}\mathit{\boldsymbol{S}} + \beta {\mathit{\boldsymbol{M}}^{\rm{T}}}\mathit{\boldsymbol{M}}) - }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} 2 {\rm{tr}} ({\mathit{\boldsymbol{A}}^{\rm{T}}} + \alpha {\mathit{\boldsymbol{S}}^{\rm{T}}} + \beta {\mathit{\boldsymbol{M}}^{\rm{T}}})\mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}} + }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} (1 + \alpha + \beta ) {\rm{tr}} (\mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}\mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}})} \end{array} $ (8)

Y求偏导得到:

$ \begin{array}{*{20}{l}} {\frac{{\partial J}}{{\partial {y_{ij}}}} = [4(1 + \alpha + \beta )\mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}\mathit{\boldsymbol{Y}} - 2(\mathit{\boldsymbol{A}} + {\mathit{\boldsymbol{A}}^{\rm{T}}})\mathit{\boldsymbol{Y}} - }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} 2\alpha (\mathit{\boldsymbol{S}} + {\mathit{\boldsymbol{S}}^{\rm{T}}})Y - 2\beta (\mathit{\boldsymbol{M}} + {\mathit{\boldsymbol{M}}^{\rm{T}}})\mathit{\boldsymbol{Y}}{]_{ij}} = }\\ {{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {{[4(1 + \alpha + \beta )\mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}\mathit{\boldsymbol{Y}} - 4(\mathit{\boldsymbol{A}} + \alpha \mathit{\boldsymbol{S}} + \beta \mathit{\boldsymbol{M}})\mathit{\boldsymbol{Y}}]}_{ij}}} \end{array} $ (9)

因此, Y具有以下更新规则:

$ {y_{ij}} \leftarrow {y_{ij}} - {\eta _{ij}}\frac{{\partial J}}{{\partial {y_{ij}}}} $ (10)

由文献[18]可得Y的乘法更新规则为:

$ {y_{ij}} \leftarrow {y_{ij}}{\left( {\frac{{{{[(\mathit{\boldsymbol{A}} + \alpha \mathit{\boldsymbol{S}} + \beta \mathit{\boldsymbol{M}})\mathit{\boldsymbol{Y}}]}_{ij}}}}{{{{[(1 + \alpha + \beta )\mathit{\boldsymbol{Y}}{\mathit{\boldsymbol{Y}}^{\rm{T}}}\mathit{\boldsymbol{Y}}]}_{ij}}}}} \right)^{\frac{1}{4}}} $ (11)

根据以上分析可得基于矩阵分解的属性网络表示学习算法(ANEMF)的伪代码, 如算法1所示:

算法1  ANEMF算法

输入  属性网络G=(V, E, T), 迭代次数i, 二阶结构相似性权重系数α, 属性相似性权重系数β, 表示向量维度d

输出  网络节点表示矩阵Y, 每一行对应节点的表示向量rv, vV

1.计算邻接矩阵A

2.根据式(2)计算二阶相似度矩阵S

3.根据式(5)计算属性相似度矩阵M

4.初始化节点表示矩阵Y

5.J=0

6.for iter=1 to i

7.根据式(7)计算损失函数J

8.if相邻两次损失函数J的差值小于阈值, 跳出循环

9.根据式(11)更新Y

10.end

1.6 算法复杂度分析

由上文分析可以看出, 算法时间复杂度主要取决于矩阵的乘法运算, 每更新一次节点表示矩阵Y需要的时间复杂度为O(n2d), 其中, n表示节点数量, d表示节点表示维数。由于实际应用中d远小于宏准确率(Macro-P), 因此本文ANEMF算法的时间复杂度为宏召回率(Macro-R)。

2 实验结果与分析 2.1 实验数据集

本文选取3个公开的真实网络作为实验数据集进行实验仿真, 其统计数据如表 2所示。

下载CSV 表 2 实验数据集统计 Table 2 Experimental datasets statistics

Citeseer数据集包含3 312个节点和4 732条边, 以及6个类别标签, 其中每个节点表示一篇论文, 每条边代表两篇论文间的引用关系, 每篇论文都由一个3 703维的二进制0/1向量进行描述。在本文中, 将每个二值向量视为对应节点的属性信息。

Facebook数据集[19]包含1 034个节点和26 749条边, 其来自一个Facebook用户的匿名ego-network, 节点表示ego用户的朋友, 边表示朋友之间的友谊关系。每个节点包含“生日”“工作”“性别”“教育”“语言”“地区”等10个匿名属性信息, 使用一个576维的向量进行表示, 并将性别作为类别标签。

GPlus数据集[19]包含4 586个节点和309 864条边, 其来自一个Google Plus用户的匿名ego-network, 节点表示ego用户的朋友, 边表示朋友之间的友谊关系。每个节点包含“性别”“机构”“职业”“姓氏”“地区”“大学”6个属性信息, 使用一个3 293维的向量进行表示, 并将性别作为类别标签。

2.2 对比算法及参数设置

DeepWalk算法:基于Random Walk采样和SkipGram模型训练学习得到的节点表示向量, 仅利用网络结构信息进行网络表示学习。实验中DeepWalk算法的参数设置具体为:节点序列长度为40, 每个节点采样的序列数量为40, 滑动窗口大小为10。

TADW算法:基于矩阵分解模型将结构信息矩阵分解为两个参数矩阵和一个属性信息矩阵, 并将网络结构信息和节点属性信息相融合得到节点表示向量。实验中TADW算法的参数设置参考文献[12], 其中λ=0.2。

为保证对比的公平性, 实验中将节点的表示向量维度设置为d=100。另外, 本文ANEMF算法的参数设置为α=3、β=1。

2.3 节点分类性能分析

本文将节点表示向量用于多分类任务以评价算法性能。由文献[20]可知, 分类结果使用F1值作为算法评价指标, F1值是分类问题常用的衡量指标。对于有k个类别标签的数据集而言, 假设将第i类数据预测为第i类的个数(真正例)表示为TP(i)、将第i类数据预测为非第i类的个数(假反例)表示为FN(i), 将非第i类数据预测为第i类的个数(假正例)表示为FP(i), 则F1值定义为:

$ {\rm{F1}} = \frac{{2 \times P \times R}}{{P + R}} $ (12)

其中, P为准确率, R为召回率, 具体计算公式如下:

$ {P = \frac{{\sum\limits_{i = 1}^k {\rm{T}} {\rm{P}}(i)}}{{\sum\limits_{i = 1}^k {\rm{T}} {\rm{P}}(i) + \sum\limits_{i = 1}^k {\rm{F}} {\rm{P}}(i)}}} $ (13)
$ {R = \frac{{\sum\limits_{i = 1}^k {\rm{T}} {\rm{P}}(i)}}{{\sum\limits_{i = 1}^k {\rm{T}} {\rm{P}}(i) + \sum\limits_{i = 1}^k {\rm{F}} {\rm{N}}(i)}}} $ (14)

在通常情况下需要进行多次训练和测试同一数据集以客观评价模型优劣, 因此会产生多个不同的TP(i)、FP(i)、FN(i)和TN(i), 不妨假设得到n组不同值并对每组值分别计算PR, 从而得到nPR, 再对其进行求平均得到宏准确率(Macro-P)、宏召回率(Macro-R)和宏F1值(Macro-F1)以及微准确率(Micro-P)、微召回率(Micro-R)和微F1值(Micro-F1)。

$ {{\rm{Macro - P}} = \frac{1}{n}\sum\limits_{i = 1}^n {{P_i}} } $ (15)
$ {{\rm{Macro - R}} = \frac{1}{n}\sum\limits_{i = 1}^n {{R_i}} } $ (16)
$ {\rm{Macro - F1}} = \frac{{2 \times {\rm{ Macro - P }} \times {\rm{ Macro - R }}}}{{{\rm{ Macro - P + Macro - R }}}} $ (17)
$ {\rm{Micro - P}} = \frac{{\sum\limits_{i = 1}^k {\overline {{\rm{TP}}(i)} } }}{{\sum\limits_{i = 1}^k {\overline {{\rm{TP}}(i)} } + \sum\limits_{i = 1}^k {\overline {{\rm{FP}}(i)} } }} $ (18)
$ {\rm{Micro - R}} = \frac{{\sum\limits_{i = 1}^c {\overline {{\rm{TP}}(i)} } }}{{\sum\limits_{i = 1}^k {\overline {{\rm{TP}}(i)} } + \sum\limits_{i = 1}^k {\overline {{\rm{FP}}(i)} } }} $ (19)
$ {\rm{Micro - F1}} = \frac{{2 \times {\rm{ Micro - P }} \times {\rm{ Micro - R }}}}{{{\rm{ Micro - P }} + {\rm{ Micro - R }}}} $ (20)

本文对每个数据集进行10次独立重复实验, 取10次实验的Micro-F1值和Macro-F1值作为最终实验结果, 其中训练率设置为2%、4%、6%、8%、10%、15%、20%、30%、40%。表 3~表 5分别记录了3个数据集在不同训练率下的节点分类实验结果, 表中加粗数据表示对应训练率下的最大值。

下载CSV 表 3 Citeseer数据集上的节点分类F1值 Table 3 Node classification F1 value on Citeseer dataset 
下载CSV 表 4 Facebook数据集上的节点分类F1值 Table 4 Node classification F1 value on Facebook dataset 
下载CSV 表 5 GPlus数据集上的节点分类F1值 Table 5 Node classification F1 value on GPlus dataset 

可以看出, 仅利用网络结构信息的DeepWalk算法性能较差, 而同时考虑网络结构信息和节点属性信息的TADW算法和本文ANEMF算法的性能相对较好, 证明了节点属性信息对于网络表示学习质量的提升具有重要作用。在Facebook数据集和GPlus数据集上, 本文ANEMF算法在节点分类实验中的优势较为明显, 以Micro-F1为评价标准, 在Facebook和GPlus数据集上, 相比TADW算法的节点分类性能提高3.15%~5.11%和2.1%~5.37%;以Macro-F1为评价标准, 在Facebook和GPlus数据集上, 相比TADW算法的节点分类性能提高了0.17%~4.51%和1.73%~3.28%。在Citeseer数据集上, 本文ANEMF算法的性能表现在训练率较低时有较大优势, 随着训练率的提高, TADW算法的性能表现优于本文ANEMF算法, 但优势并不明显(Micro-F1值的差值在0.5%以内), 其原因为Citeseer数据集的节点属性信息为文本信息, 而TADW算法的设计初衷就是融合节点的文本信息。总体而言, 本文ANEMF算法在节点分类任务中的性能表现优于对比算法。

2.4 算法稳定性分析

本文ANEMF算法主要包括二阶结构相似性权重系数α、属性相似性权重系数β和节点表示向量的维数d 3个参数。为研究这3个参数对本文ANEMF算法的影响, 通过在Citeseer、Facebook和GPlus 3个数据集上的实验对这3个参数进行分析, 其中训练率固定为10%。图 1~图 3分别为本文ANEMF算法在3个数据集上选择不同αβ时的节点分类F1值的变化情况, 其中αβ的取值均为0.1、0.5、1.0、3.0、5.0。可以看出, 对于节点表示维数d=100, 性能指标Micro-F1值在Citeseer、Facebook和GPlus 3个数据集上的变化范围分别为3.0%、1.5%和1.6%。因此, 整体上看ANEMF算法的性能更稳定。

Download:
图 1 ANEMF算法在Citeseer数据集上选择不同αβ时的Micro-F1值变化情况 Fig. 1 The change of Micro-F1 value when the ANEMF algorithm selects different α and β on Citeseer dataset
Download:
图 2 ANEMF算法在Facebook数据集上选择不同αβ时的Micro-F1值变化情况 Fig. 2 e change of Micro-F1 value when the ANEMF algorithm selects different α and β on Facebook dataset
Download:
图 3 ANEMF算法在GPlus数据集上选择不同αβ时的Micro-F1值变化情况 Fig. 3 The change of Micro-F1 value when the ANEMF algorithm selects different α and β on GPlus dataset

图 4给出了本文ANEMF算法在3个数据集上的Micro-F1值随着表示维数d的变化情况, 其中d的取值分别为25、50、100、150、200。可以看出, 对于Citeseer数据集而言, 随着d的增加, 性能指标Micro-F1值也增大, 当d=50时, 实验结果更优, 当d>100后, 性能指标Micro-F1值开始下降, 并慢慢趋于稳定; 对于Facebook和Gplus数据集而言, 随着表示维数d的增加, Micro-F1值稳步提升, 最后趋于稳定。因此, 本文实验中选用d的默认值为100维, 在保证分类性能的同时具有较低的节点表示向量维数。综上所述, 当参数αβd在合理的取值范围内变化时, 本文ANEMF算法具有稳定的性能表现。

Download:
图 4 ANEMF算法在3个数据集上Micro-F1值随d的变化情况 Fig. 4 The change of Micro-F1 value with d on three datasets of ANEMF algorithm
3 结束语

本文提出一种基于矩阵分解的属性网络表示学习算法(ANEMF), 联合网络拓扑结构和节点属性信息进行网络表示学习, 使得到的节点表示向量能够同时保留网络拓扑结构信息与节点属性信息。在3个真实公开数据集上进行节点分类和算法稳定性实验, 结果表明本文ANEMF算法在3个数据集上的表现均优于DeepWalk和TADW算法, 能够有效提升节点表示向量在节点分类任务中的性能。但由于现实中的网络存在明显的社区结构特性, 因此后续可将网络社区结构信息融入网络表示学习算法中, 进一步提升网络表示学习质量, 使得到的节点表示能更精确地刻画原始网络特性。

参考文献
[1]
CUI Peng, WANG Xiao, PEI Jian, et al. A survey on network embedding[J]. IEEE Transactions on Knowledge and Data Engineering, 2019, 31(5): 833-852. DOI:10.1109/TKDE.2018.2849727
[2]
TU Cunchao, YANG Cheng, LIU Zhiyuan, et al. Overview of network representation learning[J]. SCIENTIA SINICA Informationis, 2017, 47(8): 980-996. (in Chinese)
涂存超, 杨成, 刘知远, 等. 网络表示学习综述[J]. 中国科学:信息科学, 2017, 47(8): 980-996.
[3]
CAI H Y, ZHENG V W, CHANG K C C. A comprehensive survey of graph embedding:problems, techniques, and applications[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 30(9): 1616-1637. DOI:10.1109/TKDE.2018.2807452
[4]
BHAGAT S, CORMODE G, MUTHUKRISHNAN S. Node classification in social networks[M]. Berlin, Germany: Springer, 2011.
[5]
LÜ Linyuan, ZHOU Tao. Link prediction in complex networks:a survey[J]. Physica A:Statistical Mechanics and Its Applications, 2011, 390(6): 1150-1170. DOI:10.1016/j.physa.2010.11.027
[6]
ROWEIS S T. Nonlinear dimensionality reduction by locally linear embedding[J]. Science, 2000, 290: 2323-2326. DOI:10.1126/science.290.5500.2323
[7]
BELKIN M, NIYOGI P.Laplacian eigenmaps and spectral techniques for embedding and clustering[C]//Proceedings of the 14th International Conference on Neural Information Processing Systems: Natural and Synthetic.New York, USA: ACM Press, 2001: 585-591.
[8]
MIKOLOV T, SUTSKEVER I, CHEN K, et al.Distributed representations of words and phrases and their compositionality[EB/OL].[2019-07-11].https://arxiv.org/abs/1310.4546.
[9]
PEROZZI B, AL-RFOU R, SKIENA S.DeepWalk: online learning of social representations[C]//Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York, USA: ACM Press, 2014: 701-710.
[10]
TANG Jian, QU Meng, WANG Mingzhe, et al.Line: large-scale information network embedding[C]//Proceedings of the 24th International Conference on World Wide Web.New York, USA: ACM Press, 2015: 1067-1077.
[11]
GROVER A, LESKOVEC J.Node2vec: scalable feature learning for networks[C]//Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York, USA: ACM Press, 2016: 855-864.
[12]
YANG Chen, LIU Ziyuan, ZHAO Deli, et al.Network representation learning with rich text information[C]//Proceedings of the 24th International Joint Conference on Artificial Intelligence.Palo Alto, USA: AAAI Press, 2015: 2111-2117.
[13]
HUANG Xiao, LI Jundong, HU Xia.Accelerated attributed network embedding[C]//Proceedings of 2017 SIAM International Conference on Data Mining.Philadelphia, USA: Society for Industrial and Applied Mathematics, 2017: 633-641.
[14]
LIU Zhengming, MA Hong, LIU Shuxin, et al. A network representation learning algorithm fusing with textual attribute information of nodes[J]. Computer Engineering, 2018, 44(11): 165-171. (in Chinese)
刘正铭, 马宏, 刘树新, 等. 一种融合节点文本属性信息的网络表示学习算法[J]. 计算机工程, 2018, 44(11): 165-171.
[15]
WEN Wen, HUANG Jiaming, CAI Ruichu, et al. Graph embedding by incorporating prior knowledge on vertex information[J]. Journal of Software, 2018, 29(3): 786-798. (in Chinese)
温雯, 黄家明, 蔡瑞初, 等. 一种融合节点先验信息的图表示学习方法[J]. 软件学报, 2018, 29(3): 786-798.
[16]
WANG Xiao, CUI Peng, WANG Jing, et al.Community preserving network embedding[C]//Proceedings of the 31st AAAI Conference on Artificial Intelligence.Palo Alto, USA: AAAI Press, 2017: 203-209.
[17]
LI Ye, SHA Chaofeng, HUANG Xin, et al.Community detection in attributed graphs: an embedding approach[C]//Proceedings of the 32nd AAAI Conference on Artificial Intelligence.Palo Alto, USA: AAAI Press, 2018: 338-345.
[18]
WANG Fei, LI Tao, WANG Xin, et al. Community discovery using nonnegative matrix factorization[J]. Data Mining and Knowledge Discovery, 2011, 22(3): 493-521. DOI:10.1007/s10618-010-0181-y
[19]
LESKOVEC J, MCAULEY J J.Learning to discover social circles in ego networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems.New York, USA: ACM Press, 2012: 539-547.
[20]
ZHANG Lei, QIAN Feng, ZHAO Shu, et al. Network representation learning based on multi-granularity structure[J]. CAAI Transactions on Intelligent Systems, 2019, 14(6): 1233-1242. (in Chinese)
张蕾, 钱峰, 赵姝, 等. 基于多粒度结构的网络表示学习[J]. 智能系统学报, 2019, 14(6): 1233-1242.