第一章:图网络基础——从团伙欺诈到GCN/GAT

大家好,我是你们这堂课的主讲。做了这么多年风控算法,我越来越觉得,传统的特征工程就像拿着手电筒找坏人——你只能照亮你想到的地方。而图网络,说白了,就是给你一张全景地图。今天我们就来聊聊这张地图怎么画,怎么用。

1.1 图论核心概念:节点、边、邻接矩阵

先别急着上公式。图论这东西,你想想看,其实特别直观。

  • 节点(Node):就是图中的一个个实体。在风控里,可以是用户、手机号、设备ID、银行卡号。我习惯叫它“点”。
  • 边(Edge):表示节点之间的关系。比如“同一个IP登录过”、“转账给”、“共用过设备”。
  • 邻接矩阵(Adjacency Matrix):这是图在计算机里的“身份证”。一个N×N的矩阵,A[i][j]=1表示节点i和j有边相连。

核心理解:邻接矩阵就是图的“连接表”。但实际风控场景中,图往往很稀疏——几百万用户,每个人只跟几十个人有关联。所以我们会用稀疏矩阵来存,不然内存直接爆炸。

举个例子。假设我们有4个用户:A、B、C、D。A和B是好友,B和C是好友,C和D是好友。那邻接矩阵长这样:

   A B C D
A  0 1 0 0
B  1 0 1 0
C  0 1 0 1
D  0 0 1 0

嗯,这里要注意:无向图的邻接矩阵是对称的。有向图则不一定,比如“A转账给B”就是单向的。

1.2 图在风控中的价值:团伙欺诈与关联网络

为什么图在风控里这么重要?我直接说一个我踩过的坑吧。

几年前我做信贷风控,单点特征(收入、年龄、历史逾期)都做得挺漂亮了,AUC到了0.85。但团伙欺诈一上来,直接被打穿。为什么?因为团伙里的每个单点看起来都是“好人”——收入正常、历史干净。但他们共用设备、共用IP、互相转账形成闭环。这种模式,你拿逻辑回归根本看不出来。

图网络的价值就在这里:

  • 团伙识别:通过关联关系,找到密集连接的子图。比如10个用户共用2台设备,这大概率是团伙。
  • 风险传导:一个节点变坏,它的邻居风险也会升高。我管这叫“近墨者黑”。
  • 异常检测:正常用户的图结构是“星型”(一个中心连几个点),欺诈团伙往往是“全连接”或“链式”。

避坑指南:我曾经犯过一个错——把所有关系都连成边。结果图太密了,每个节点都有上千个邻居,GCN直接跑不动。后来我学乖了,只保留“强关系”:比如7天内共用过设备、3天内互相转账。弱关系(比如同城)直接扔掉。

你想想看,一个用户有100个“弱关系”邻居,和只有5个“强关系”邻居,哪个更有信息量?显然是后者。

1.3 GCN与GAT的数学原理对比

好,到了硬核部分。但别怕,我会用大白话讲清楚。

1.3.1 图卷积网络(GCN)

GCN的核心思想就一句话:每个节点的新特征,等于它自己和邻居特征的加权平均

数学上,第l层到第l+1层的更新公式是:

H^(l+1) = σ( D̂^(-1/2) · Â · D̂^(-1/2) · H^(l) · W^(l) )

别被符号吓到。我来拆解一下:

  • Â = A + I(邻接矩阵加自环,让节点自己也能看到自己)
  • 是 Â 的度矩阵(对角线上是每个节点的邻居数+1)
  • D̂^(-1/2) · Â · D̂^(-1/2) 就是归一化操作。为什么要归一化?因为大度节点(比如大V)的邻居太多,如果不归一化,它的特征会淹没小度节点。
  • W 是可学习的权重矩阵,σ是激活函数(比如ReLU)。

个人经验:GCN的归一化方式其实挺讲究的。我试过直接用平均(除以度),也试过用对称归一化。实践中,对称归一化(就是上面那个公式)对风控场景最稳。因为它既考虑了目标节点的度,也考虑了邻居的度,不会让“大V”邻居过度影响小节点。

1.3.2 图注意力网络(GAT)

GCN有个硬伤:所有邻居的权重是一样的。但现实中,邻居的重要性显然不同。比如你的“亲密好友”和“点赞之交”,能一样吗?

GAT就是来解决这个问题的。它引入了一个注意力机制,让模型自己学每个邻居的权重。

核心公式:

α_ij = softmax( LeakyReLU( a^T · [W·h_i || W·h_j] ) )

其中:

  • h_ih_j 是节点i和j的特征
  • W 是共享的权重矩阵
  • a 是一个可学习的注意力向量
  • || 表示拼接操作
  • 最后用softmax归一化,让所有邻居的注意力系数加起来等于1

更新时,每个节点的新特征就是邻居特征的加权和:

h_i' = σ( Σ α_ij · W · h_j )

1.3.3 两者对比

维度 GCN GAT
邻居权重 固定(由度决定) 可学习(注意力系数)
表达能力 中等 更强(能区分不同邻居)
计算效率 高(矩阵运算,可并行) 稍低(需要计算每对邻居的注意力)
适用场景 图结构较均匀,邻居重要性差异不大 图结构复杂,邻居重要性差异大
风控实战 适合大规模、稀疏图(如设备网络) 适合小规模、高价值图(如交易网络)

注意:GAT不是万能的。我试过在千万级节点的图上跑GAT,训练时间直接翻了三倍。而且注意力头数(multi-head)设太多,反而容易过拟合。我的建议是:先跑GCN baseline,如果效果不够好,再上GAT。别一上来就搞复杂的。

1.4 本章知识体系总览

下面这张图,是我自己画的本章核心逻辑。你可以把它当作一个“思维导图”来看:

图网络在风控中的应用 图论核心概念 节点(实体) 边(关系) 邻接矩阵 风控中的价值 团伙欺诈识别 风险传导分析 异常子图检测 GCN vs GAT GCN:固定权重 GAT:注意力机制 实战选型建议 核心:图结构 + 邻居聚合 = 更强的风控特征 节点特征 图结构 聚合方式

这张图把本章的三个核心模块串起来了。从左到右看:先理解图的基础概念,再明白它在风控里能干什么,最后对比两种主流模型。我个人建议你把这个图存下来,后面学具体实现时,随时回来对照。

一个小技巧:如果你刚开始接触图网络,别急着调参。先把“节点定义”和“边定义”想清楚。我见过太多人模型调得飞起,结果发现边建错了——把“同IP”和“同设备”混在一起,模型根本学不到东西。图网络里,数据质量比模型复杂度重要十倍。


公众号:蓝海资料掘金营,微信deep3321