2. 图神经网络基础:图的基本概念与消息传递范式

在反欺诈场景中,用户、设备、交易、IP 地址天然构成一张复杂的关联网络。传统的机器学习模型(如 XGBoost、逻辑回归)假设样本独立同分布,无法捕捉这种关联关系。图神经网络(GNN)正是为解决这一问题而生。本章从最基础的图概念出发,逐步深入到消息传递范式与图卷积网络(GCN)原理,为后续实现 GraphSAGE 打下坚实的理论基础。

2.1 图的基本概念

图(Graph)由节点(Node)和边(Edge)组成,记为 \( G = (V, E) \)。在反欺诈场景中,节点可以是用户、设备、银行卡、IP 地址;边表示它们之间的交互关系,如“同一设备登录”、“同一 IP 转账”、“同一手机号注册”。

概念 符号 反欺诈示例
节点集合 \( V \) 用户 A、用户 B、设备 D1、IP 192.168.1.1
边集合 \( E \) (用户A, 设备D1)、(用户B, 设备D1) → 共用设备风险
邻接矩阵 \( A \in \mathbb{R}^{N \times N} \) \( A_{ij}=1 \) 表示节点 i 与节点 j 相连
节点特征矩阵 \( X \in \mathbb{R}^{N \times F} \) 每行是一个用户的年龄、交易频次、历史逾期次数
关键理解:邻接矩阵是图的“骨架”,节点特征矩阵是图的“血肉”。在反欺诈中,仅靠邻接矩阵就能发现团伙结构(如星型拓扑、环状转账),而加入节点特征后,模型能同时利用结构信息和属性信息。
图的基本结构:节点、边与邻接矩阵 图结构 用户A 用户B 设备D1 IP 1.1 邻接矩阵 A 用户A 用户B 设备D1 IP 1.1 用户A 用户B 设备D1 IP 1.1 0 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 邻接矩阵中 1 表示节点间有边相连,0 表示无边;对角线通常为 0(无自环)

2.2 消息传递范式(Message Passing)

消息传递是图神经网络的核心计算范式。其基本思想是:每个节点通过聚合其邻居节点的信息来更新自身的特征表示。这个过程通常分为三个步骤:消息生成、消息聚合、节点更新。

  1. 消息生成:每个节点根据自身特征和邻居特征生成待传递的消息。通常使用线性变换 \( W \cdot h \) 或可学习的 MLP。
  2. 消息聚合:目标节点收集所有邻居发来的消息,使用聚合函数(如 Mean、Max、Sum)合并成一个固定长度的向量。
  3. 节点更新:将聚合后的邻居信息与节点自身的历史特征结合,通过激活函数得到新的节点表示。
消息传递公式(通用形式):
\[ h_v^{(k+1)} = \sigma\left( W^{(k)} \cdot \text{AGGREGATE}\left( \{ h_u^{(k)}, \forall u \in \mathcal{N}(v) \} \right) + B^{(k)} \cdot h_v^{(k)} \right) \] 其中 \( \mathcal{N}(v) \) 表示节点 v 的邻居集合,\( \sigma \) 为激活函数(如 ReLU)。

2.3 聚合函数对比

聚合函数决定了如何将邻居信息合并。不同的聚合函数对图结构信息的提取能力不同,在反欺诈场景中需要根据任务特点选择。

聚合函数 计算方式 特点 反欺诈适用场景
Mean \( \frac{1}{|\mathcal{N}(v)|} \sum_{u \in \mathcal{N}(v)} h_u \) 平滑邻居特征,对噪声鲁棒 正常用户群体特征提取,降低个别异常节点影响
Max \( \max_{u \in \mathcal{N}(v)} h_u \)(逐元素) 捕捉最显著特征,对极端值敏感 识别团伙中“最异常”的行为模式(如最大交易金额)
Sum \( \sum_{u \in \mathcal{N}(v)} h_u \) 保留邻居数量信息,区分度最高 检测“多对一”集中交易模式(如多个账户向同一账户转账)
实战注意:在反欺诈 GraphSAGE 中,Sum 聚合往往比 Mean 和 Max 更有效,因为它能区分邻居数量的差异。例如,一个节点有 100 个邻居和 10 个邻居,Sum 聚合后的特征向量长度差异明显,而 Mean 会归一化掉这种数量信息。

2.4 图卷积网络(GCN)原理

GCN 是消息传递范式的一个经典实现。它通过归一化的邻接矩阵来聚合邻居信息,并引入自连接让节点在更新时保留自身特征。GCN 的核心公式如下:

# GCN 单层前向传播伪代码
# 输入:邻接矩阵 A (N x N),特征矩阵 X (N x F),权重矩阵 W (F x F')
# 输出:更新后的节点特征 H (N x F')

# 1. 添加自连接:A_hat = A + I(I 为单位矩阵)
# 2. 度矩阵 D_hat = diag(sum(A_hat, axis=1))
# 3. 对称归一化:A_norm = D_hat^(-0.5) @ A_hat @ D_hat^(-0.5)
# 4. 特征传播:H = ReLU(A_norm @ X @ W)

归一化的目的是防止节点度数差异导致特征尺度失衡。度数高的节点(如中心设备)聚合大量邻居信息后特征值过大,度数低的节点(如孤立用户)特征值过小。对称归一化通过 \( D^{-0.5} A D^{-0.5} \) 平衡了这种差异。

GCN 消息传递与聚合流程 目标节点 邻居1 邻居2 邻居3 邻居4 AGGREGATE(Mean/Max/Sum) GCN 通过对称归一化邻接矩阵聚合邻居特征,再经线性变换和 ReLU 激活得到新表示

2.5 从 GCN 到 GraphSAGE 的演进

GCN 是直推式(Transductive)学习:训练时需要看到全图结构,无法泛化到新节点。GraphSAGE 则采用归纳式(Inductive)学习:通过采样邻居并学习聚合函数,可以在新节点出现时动态生成其表示。这是 GraphSAGE 在反欺诈实时推理场景中的核心优势。

特性 GCN GraphSAGE
学习方式 直推式(全图训练) 归纳式(采样+聚合)
邻居使用 全部邻居(固定图结构) 随机采样固定数量邻居
泛化能力 无法泛化到新节点 可泛化到未见节点
反欺诈适用性 离线团伙挖掘 实时交易风控、新用户注册审核
本章小结:图的基本概念(节点、边、邻接矩阵)是理解一切图模型的基础;消息传递范式是 GNN 的通用框架;聚合函数的选择直接影响反欺诈特征提取效果;GCN 作为奠基性模型,其归一化思想被后续模型继承。下一章我们将正式进入 GraphSAGE 的采样与聚合机制,并开始编写第一个反欺诈 GraphSAGE 模型。