利用三种信息进行属性网络嵌入
1. 研究背景与相关工作
网络嵌入算法近年来受到了越来越多的关注。早期的一些方法,如DeepWalk采用截断随机游走捕获节点间的结构邻近性,再用Skip - Gram模型获取节点表示;Node2Vec通过广度优先(BFS)和深度优先(DFS)搜索策略探索结构信息,同样使用Skip - Gram生成网络嵌入;LINE明确定义两个目标函数分别描述一阶和二阶邻近性,优化后学习节点表示;GraRep利用节点间的k阶邻近性寻找节点表示;SDNE则利用深度自动编码器模型捕获非线性结构信息以获得网络嵌入。
然而,上述方法大多仅关注利用网络结构进行嵌入学习,忽略了属性网络中的其他有价值信息,导致生成的表示效果欠佳。为了获得更好的节点表示,一些相关研究尝试联合利用网络结构、节点属性和标签信息这三种信息源。例如,PTE利用标签信息和不同层次的词共现信息生成预测性文本表示;TriDNR利用节点链接、节点内容和节点标签(若有)生成节点表示;LANE研究将标签与网络结构和节点属性集成到嵌入表示中的潜力;SEANO通过聚合当前节点属性及其平均邻域属性来平滑表示学习过程中离群值的负面影响。
2. 问题描述
给定一个属性网络$G = (V, E, X, Y)$,其中$V$是$|V|$个节点的集合,$E$是边的集合。矩阵$X \in R^{|V|×m}$收集所有节点的属性信息,其行$x_i$表示节点$v_i$的$m$维属性向量。设$Y \in R^{|V_L|×H}$是一个标签矩阵,描述$G$中$|V_L|$个有标签节点的集合,$H$是标签类别的数量。$Y$中的每个元素$y_h^i = 1$表示节点$v_i$与标签$l_h$相关联,否则$y_h^i = 0$。相应地,属性网络$G$中有$|V_U|$个无标签节点,且$|V| = |V_L| + |V_U|$。
我们的问题是将每个节点$v_i \in V$表示为低维向量空间$\varphi_i \in R^d$,其中$d \ll |V|$。学习到的节点表示要有效地整合网络结构、节点属性和节点标签这三种信息,同时保留它们之间的相关性。之后,将学习到的节点表示作为后续分析任务(如节点分类和链接预测)的输入。
3. EANE模型方法
我们提出了EANE模型,该模型综合利用网络结构、节点属性和标签这三种信息,为网络$G$中的每个节点生成最优表示。
3.1 自动编码器模块
由于节点属性通常具有噪声且维度较高,因此从属性信息中提取有用特征很重要。我们设计了一个自动编码器模块来建模节点属性,它由编码器和解码器两部分组成。编码器将具有属性$x_i$的节点$v_i$投影到低维隐藏表示中,保留节点属性中的有价值信息并降低属性维度。解码器则从隐藏表示中重建输入属性。
隐藏层的表示公式为:
$y^{(1)}_i = \sigma (W^{(1)} \cdot x_i + b^{(1)})$
$y^{(k)}_i = \sigma (W^{(k)} \cdot y^{(k - 1)}_i + b^{(k)})$,$k = 2, \ldots, K$
其中$K$表示编码器和解码器的层数,$\sigma (·)$定义激活函数(如ReLU),$W^{(k)}$和$b^{(k)}$分别是第$k$层的变换矩阵和偏置向量。自动编码器的目标是最小化输入和输出的重建误差,其过程可写为:
$L_{ae} = \sum_{i = 1}^{|V|} | \hat{x}_i - x_i |^2_2$
为了获得更好的训练性能,对参数$W^{(k)}$和$\hat{W}^{(k)}$进行正则化,损失函数重写为:
$L_{ae} = \sum_{i = 1}^{|V|} | \hat{x}
i - x_i |^2_2 + \frac{\beta}{2} \sum
{k = 1}^{K} (| W^{(k)} |^2_F + | \hat{W}^{(k)} |^2_F)$
其中$|·|^2_F$是$\ell_2$范数,$\beta$是正则化系数。
3.2 Skip - Gram模块
近期的工作广泛使用Skip - Gram模型来编码网络结构。实际上,节点属性与网络结构密切相关,节点属性信息可以加强节点之间的相似性,有助于获得更好的节点表示。
目标函数通过给定当前节点$x_i$及其学习到的表示$f(x_i)$,最小化Skip - Gram模型的对数概率:
$L_{sg} = - \sum_{i = 1}^{|V|} \sum_{v_j \in C_i} \log Pr(v_j|x_i)$
其中$v_j \in {v_{i - t}, \ldots, v_{i + t}} \setminus v_i$是生成的随机游走中的节点上下文,$t$是窗口大小。条件概率$Pr(v_j|x_i)$的公式为:
$Pr(v_j|x_i) = \frac{\exp (v^T_j \cdot f(x_i))}{\sum_{s = 1}^{|V|} \exp (v^T_s \cdot f(x_i))}$
为了加速训练过程,采用负采样策略,目标函数重写为:
$L_{sg} = - \sum_{i = 1}^{|V|} \sum_{v_j \in C_i} [\log \sigma (v^T_j f(x_i)) + \sum_{n = 1}^{|neg|} E_{v_n \sim P_n(v)} \log \sigma (-v^T_n f(x_i))]$
优化该式后,与网络结构一致的有用节点属性信息可以保留在表示空间中。
3.3 MLP模块
节点标签信息与节点连接性和属性信息存在内在关系。当节点具有相似的标签时,它们通常也具有结构邻近性和属性相似性,这可以增强网络中节点的相似性。因此,EANE模型引入一个规范的多层感知器(MLP)模块,通过输入学习到的表示来预测当前节点的标签。
其损失函数为:
$L_{la} = - \sum_{i \in V_L} \log Pr(y_i|f(x_i))$
其中$Pr(y_i|f(x_i))$的定义为:
$Pr(y_i|f(x_i)) = \frac{\exp (f(x_i) \cdot W^{(S)}
{y_i})}{\sum
{y_j \in Y} \exp (f(x_i) \cdot W^{(S)}_{y_j})}$
优化该式时,节点属性和标签信息将共同影响学习到的节点表示,使它们相互补偿。
3.4 联合优化框架
这三种信息具有内在相关性,能够潜在地加强网络中节点的相似性,从而产生更好的节点表示。受相关研究启发,我们构建了一个联合优化框架,将这三种信息有效地映射到统一表示中,同时最大化它们之间的相互关系。
最终的损失函数为:
$L = L_{ae} + \alpha L_{sg} + L_{la}$
其中$\alpha$是平滑Skip - Gram模块损失的超参数。我们使用随机梯度算法最小化$L$,迭代优化各个组件,将三种信息集成到统一的表示空间中。联合优化框架的算法流程如下:
输入: 一个属性网络$G = (V, E, X, Y)$,窗口大小$t$,每个节点的游走次数$\gamma$,游走长度$l$,学习到的节点表示的维度$d$,权衡参数$\alpha$,正则化系数$\beta$。
输出: 每个节点$v \in V$的节点表示$\Phi (v) \in R^{|V|×d}$。
1: 从每个节点开始进行$\gamma$次长度为$l$的随机游走
2: 为每个节点构建节点上下文$C$,并采样其负上下文
3: 随机初始化模型EANE中的所有参数。
4: while 未收敛 do
5: 采样一批带有上下文和负样本的节点。
6: 根据公式(3)计算$\nabla L_{ae}$的梯度;
7: 更新自动编码器模块的参数。
8: 根据公式(7)计算$\nabla L_{sg}$的梯度;
9: 更新Skip - Gram模块的参数。
10: 根据公式(8)计算$\nabla L_{la}$的梯度;
11: 更新MLP模块的参数。
12: end while
13: 根据公式(1)为每个节点$v \in V$生成表示$\Phi (v)$。
4. 实验设置
4.1 数据集
我们采用三个真实世界的属性网络数据集:Cora、Citeseer和Pubmed。这些数据集中的节点表示论文,边表示论文之间的引用关系,节点属性是相应论文的词袋表示,每个节点只有一个类别标签。数据集的统计信息如下表所示:
| 数据集 | 节点数量 | 边数量 | 属性数量 | 标签数量 |
| — | — | — | — | — |
| Cora | 2,708 | 5,429 | 1,433 | 7 |
| Citeseer | 3,327 | 4,732 | 3,703 | 6 |
| Pubmed | 19,717 | 44,328 | 500 | 3 |
4.2 基线方法
为了验证EANE模型的性能,我们将其与以下五种基线方法进行比较:
- DeepWalk:在普通网络上执行截断随机游走生成节点序列,然后将这些序列输入Skip - Gram模型学习节点表示。
- LINE:分别利用节点之间的一阶和二阶邻近性,学习两种表示后拼接形成最终的节点表示。
- SDNE:使用多层非线性函数捕获高度非线性的网络结构,生成节点表示。
- LANE:利用节点结构、属性和标签三种信息为网络中的每个节点学习表示。
- SEANO:利用深度模型获取节点嵌入,同时保留拓扑邻近性、属性相似性和标签信息相似性。
4.3 实验参数设置
对于所有基线方法,我们使用原作者发布的实现,并根据他们的报告设置默认参数。为了公平比较,所有算法学习到的表示维度$d$都设置为128。对于EANE,窗口大小$t$设置为10,游走长度$l$设置为80,每个节点的游走次数$\gamma$设置为5,负样本数量设置为5。不同数据集的神经网络层结构信息如下表所示:
| 数据集 | 每层神经元数量 |
| — | — |
| Cora | 1,433→1,000→500→128→500→1,000→1,433 |
| Citeseer | 3,703→1,000→500→128→500→1,000→3,703 |
| Pubmed | 500→200→128→200→500 |
5. 实验结果
5.1 节点分类
我们随机选择30%的有标签节点作为训练集,其余节点作为测试集。使用学习到的节点表示训练SVM分类器,对测试集进行预测,通过Macro - F1和Micro - F1值衡量预测结果,重复该过程10次并报告平均结果。实验结果如下表所示:
| 数据集 | 评估指标 | Cora | Citeseer | Pubmed |
| — | — | — | — | — |
| | Micro F1 | 0.648 | 0.587 | 0.809 |
| DeepWalk | Macro F1 | 0.602 | 0.534 | 0.795 |
| | Micro F1 | 0.612 | 0.546 | 0.766 |
| LINE | Macro F1 | 0.572 | 0.512 | 0.749 |
| | Micro F1 | 0.623 | 0.571 | 0.699 |
| SDNE | Macro F1 | 0.591 | 0.528 | 0.677 |
| | Micro F1 | 0.631 | 0.578 | 0.784 |
| LANE | Macro F1 | 0.608 | 0.541 | 0.765 |
| | Micro F1 | 0.713 | 0.719 | 0.842 |
| SEANO | Macro F1 | 0.706 | 0.671 | 0.828 |
| | Micro F1 | 0.778 | 0.738 | 0.886 |
| EANE | Macro F1 | 0.756 | 0.694 | 0.862 |
从表中可以看出,EANE在所有三个数据集上都取得了最佳性能。这表明EANE联合利用自动编码器、Skip - Gram和MLP模块有效地建模三种信息,正确捕获它们之间的相关性,从而获得更好的性能。而仅利用结构信息的方法(如DeepWalk、LINE和SDNE)分类结果较弱,SEANO虽然考虑了三种信息,但未能充分整合它们,学习到的节点嵌入效果欠佳。
5.2 链接预测
我们仅在Cora和Citeseer两个数据集上进行链接预测任务。随机隐藏30%的现有链接作为正实例,生成相同数量的不存在链接作为负实例,使用剩余的网络链接训练不同模型。获取节点表示后,基于余弦相似性函数对正、负实例进行排序,使用AUC值作为评估指标。实验结果表明,EANE在两个数据集上始终获得最佳的AUC结果。例如,在Cora数据集上,EANE比表现最好的SEANO提高了约3%。这是因为EANE联合捕获了节点的结构邻近性、属性相似性和标签相似性,而DeepWalk、LINE和SDNE仅利用网络结构,SEANO忽略了三种信息之间的相互关系,导致预测结果较弱。
综上所述,EANE模型通过有效整合网络结构、节点属性和节点标签这三种信息,在节点分类和链接预测任务中表现出色,为属性网络嵌入提供了一种有效的方法。
利用三种信息进行属性网络嵌入
6. 结论与未来展望
EANE模型是一种创新的方法,它成功地将网络结构、节点属性和节点标签三种信息结合起来,为属性网络嵌入提供了更有效的解决方案。通过自动编码器、Skip - Gram和MLP三个模块,EANE不仅能够分别对三种信息进行编码,还能在联合优化框架下最大化它们之间的相互关系,从而生成更优的节点表示。
在实验部分,通过与多种基线方法的对比,EANE在节点分类和链接预测任务中都展现出了卓越的性能。这充分证明了该模型在整合多种信息、增强节点相似性以及提高预测准确性方面的有效性。
然而,EANE模型也并非完美,仍有一些方面可以在未来的研究中进一步改进和拓展:
-
信息融合策略的优化
:虽然EANE已经考虑了三种信息的相互关系,但在信息融合的具体策略上,可能还有提升的空间。例如,可以探索更复杂的融合机制,使三种信息能够更加紧密地相互作用,进一步提高节点表示的质量。
-
模型的可扩展性
:随着网络规模的不断增大,模型的计算效率和存储需求可能会成为瓶颈。未来的研究可以致力于提高EANE模型的可扩展性,使其能够更好地处理大规模的属性网络。
-
更多应用场景的探索
:目前的实验主要集中在节点分类和链接预测任务上,EANE模型在其他网络分析任务,如社区发现、异常检测等方面的应用潜力还有待进一步挖掘。
7. 总结与启示
本次研究提出的EANE模型为属性网络嵌入领域带来了新的思路和方法。它强调了综合利用多种信息的重要性,打破了以往仅关注网络结构的局限。以下是一些从本次研究中得到的启示:
-
信息互补的价值
:网络结构、节点属性和节点标签三种信息之间存在着内在的相关性,它们相互补充、相互增强。在进行网络分析时,充分利用这些信息可以显著提高模型的性能。
-
多模块联合的优势
:通过设计多个模块分别处理不同类型的信息,并构建联合优化框架,能够有效地将这些信息整合到统一的表示空间中。这种多模块联合的方法为解决复杂的网络问题提供了一种有效的途径。
-
实验验证的重要性
:通过严格的实验验证,能够客观地评估模型的性能,为模型的改进和优化提供依据。在实际应用中,应该根据具体的任务需求和数据特点,选择合适的模型和评估指标。
8. 流程图展示
下面是EANE模型联合优化框架的mermaid流程图:
graph TD;
A[输入属性网络G, 窗口大小t, 游走次数γ, 游走长度l, 维度d, 参数α, 系数β] --> B[进行随机游走];
B --> C[构建节点上下文并采样负上下文];
C --> D[随机初始化模型参数];
D --> E{是否收敛};
E -- 否 --> F[采样一批节点及上下文和负样本];
F --> G[计算$L_{ae}$梯度];
G --> H[更新自动编码器模块参数];
H --> I[计算$L_{sg}$梯度];
I --> J[更新Skip - Gram模块参数];
J --> K[计算$L_{la}$梯度];
K --> L[更新MLP模块参数];
L --> E;
E -- 是 --> M[生成节点表示];
M --> N[输出节点表示];
这个流程图清晰地展示了EANE模型联合优化的整个过程,从输入数据开始,经过多次迭代优化,直到收敛并生成最终的节点表示。
9. 关键要点回顾
为了方便读者快速回顾本文的关键内容,下面列出了一些重要的要点:
-
研究目的
:提出EANE模型,联合利用网络结构、节点属性和节点标签三种信息进行属性网络嵌入。
-
模型架构
:包括自动编码器模块、Skip - Gram模块和MLP模块,分别处理节点属性、网络结构和节点标签信息。
-
联合优化
:构建联合优化框架,将三种信息映射到统一表示空间,最大化它们的相互关系。
-
实验结果
:在节点分类和链接预测任务中,EANE模型的性能优于多种基线方法。
-
未来展望
:可以从信息融合策略、模型可扩展性和更多应用场景等方面进行进一步研究。
通过本次研究,我们可以看到综合利用多种信息进行属性网络嵌入是一种具有广阔前景的研究方向。EANE模型为这一领域的发展提供了一个有价值的范例,相信在未来会有更多的创新和突破。
超级会员免费看
13万+

被折叠的 条评论
为什么被折叠?



