2. 图神经网络基础回顾:图的基本概念、邻居聚合、归纳式学习原理

在构建 GraphSAGE 团伙识别模型之前,必须牢固掌握图神经网络(GNN)的三大支柱:图的基本概念、邻居聚合机制以及归纳式学习原理。本节将系统梳理这些基础,为后续的模型部署与优化铺平道路。

2.1 图的基本概念

图(Graph)是描述实体及其关系的通用数据结构。在团伙识别场景中,实体(如用户、设备、账号)表示为节点,实体间的交互(如转账、通话、同设备登录)表示为边。

概念 符号 团伙识别示例
节点 (Node) \( v \in V \) 用户账号、手机号、设备ID
边 (Edge) \( e \in E \) 转账交易、通话记录、同IP登录
邻域 (Neighborhood) \( \mathcal{N}(v) \) 与目标用户直接交互的账号集合
节点特征 \( \mathbf{x}_v \) 注册时长、交易频次、设备型号
边特征 \( \mathbf{e}_{uv} \) 交易金额、通话时长、登录时间戳
图结构 \( G = (V, E) \) 用户-设备二部图、交易网络图
实战要点:团伙识别通常构建异构图(多种节点类型)或时序图(边带时间戳)。GraphSAGE 原生支持同构图,但可通过特征拼接或元路径扩展处理异构场景。

2.2 邻居聚合机制

GraphSAGE 的核心创新在于邻居聚合:通过采样固定数量的邻居节点,并聚合其特征来更新目标节点的表示。这一过程避免了传统 GCN 的全图拉普拉斯计算,使模型能够扩展到大规模图数据。

聚合过程分为三个步骤:

  1. 邻居采样:对每个节点,从其邻域中均匀采样固定数量(如 \( K=3 \))的邻居节点。
  2. 特征聚合:使用聚合函数(Mean、LSTM、Pooling)将采样到的邻居特征合并为一个向量。
  3. 节点更新:将聚合后的邻居向量与目标节点自身特征拼接,通过全连接层和激活函数生成新表示。
聚合函数对比:
  • Mean 聚合:对邻居特征取均值,计算快、稳定性高,适合稠密图。
  • LSTM 聚合:对邻居序列建模,表达能力更强,但需要随机排序,计算开销大。
  • Pooling 聚合:对每个邻居特征过 MLP 后取 max/mean,兼顾表达与效率。
GraphSAGE 邻居聚合流程 GraphSAGE 邻居聚合流程 目标节点 v 邻居 u₁ 邻居 u₂ 邻居 u₃ 采样 聚合函数 拼接 + 全连接 新表示 h_v 聚合公式: h_v = σ( W · CONCAT( x_v, AGG( { x_u : u ∈ N(v) } ) ) )

2.3 归纳式学习原理

GraphSAGE 最关键的突破是归纳式学习(Inductive Learning),它区别于传统 GCN 的直推式学习(Transductive Learning)。直推式模型在训练时依赖全图结构,无法泛化到未见过的节点;而归纳式模型仅学习“如何聚合邻居”的函数,可以应用于全新的图或节点。

对比维度 直推式学习 (Transductive) 归纳式学习 (Inductive)
训练依赖 需要全图结构(包含测试节点) 仅需训练子图,测试节点可完全未知
泛化能力 无法泛化到新节点 可泛化到任意新节点或新图
计算开销 每次新增节点需重新训练 训练一次,无限次推理
团伙识别场景 仅适用于静态已知网络 适用于实时新增用户/设备的动态网络
代表模型 GCN、GAT(原始版本) GraphSAGE、FastGCN、ClusterGCN
部署陷阱:如果团伙识别系统需要每天处理数百万新增用户,直推式模型将导致每天重新训练全图,成本不可接受。GraphSAGE 的归纳式特性使其成为生产环境的首选——模型部署后,新用户只需执行一次前向传播即可获得嵌入。
归纳式 vs 直推式学习对比 归纳式 vs 直推式学习对比 直推式学习(Transductive) v₁ v₂ v₃ 训练时包含所有节点 新节点 v₄ 加入需重训 v₄ ✗ 无法直接推理 归纳式学习(Inductive) v₁ v₂ v₃ 训练聚合函数 AGG(·) 新节点 v₄ 直接推理 v₄ ✓ 一次前向传播 AGG

2.4 本章小结

  • 图结构是团伙识别的基础,节点代表实体,边代表交互关系。
  • 邻居聚合通过采样+聚合+更新的三步流程,将局部结构信息编码到节点表示中。
  • 归纳式学习使 GraphSAGE 能够泛化到未见节点,是支撑大规模实时推理的关键设计。
  • 在部署阶段,Mean 聚合因其计算效率和稳定性,通常作为默认聚合函数。