风控图算法之Graph Embedding

风控图算法之Graph Embedding


一、什么是Graph Embedding

图嵌入(Graph Embedding)是一种将图结构中的节点或边映射到低维向量空间的技术,旨在保留图结构的信息并捕捉节点之间的关系。在风控领域,图嵌入技术可以用于构建复杂的关系网络,在识别欺诈行为、降低风险等方面发挥重要作用。

在风控领域,数据通常呈现出复杂的关系网络,比如金融交易网络、社交网络等。这些网络由节点和边组成,节点代表实体(如用户、账户、交易),边代表实体之间的关系(如交易流向、用户关系等)。图嵌入技术通过将节点映射到低维向量空间来表征这些复杂网络。这种映射保留了节点之间的结构信息,使得相似的节点在向量空间中具有相近的表示,从而可以进行聚类、相似性计算等操作。举例来说,在金融风控中,可以将用户、账户、交易等节点映射为向量,并根据它们的相似性进行风险评估和欺诈检测。

图嵌入技术的关键在于设计合适的映射方法,常见的包括基于网络结构的方法(如DeepWalk、Node2Vec)、基于图神经网络的方法(如GraphSAGE、GCN)、基于矩阵分解的方法(如LINE、HOPE)等。这些方法根据不同的特点和应用场景选择合适的映射方式,以获得更加有效的图嵌入表示。

二、Graph Embedding用途

  1. 欺诈检测:通过将用户、交易等映射为向量,可以发现欺诈者之间的关联模式,帮助提高欺诈检测的准确性。
  2. 关系分析:分析用户与用户、用户与交易之间的关系,揭示隐藏的风险关联,为风险控制提供更精准的依据。
  3. 风险评估:基于节点之间的关联程度和相似性,进行风险评估和信用评分,更好地识别高风险客户或交易。
  4. 异常检测:发现网络中的异常模式或异常行为,及时预警和处理,减少风险发生的可能性。

三、常见Graph Embedding实现方案

1.DeepWalk——Graph Embedding早期技术(DFS)

DeepWalk算法是在KDD2014中提出的算法,是一种用于学习图结构中节点表示的无监督图嵌入方法(仅能用于无权图中),其原理基于随机游走和Word2Vec模型。

DeepWalk算法借鉴了word2vec算法的思想,word2vec是NLP中一种常用的word embedding方法,word2vec通过语料库中的句子序列来描述词与词的共现关系,进而学习到词语的向量表示。DeepWalk算法与word2vec类似,使用图中节点与节点的共现关系来学习节点的向量表示。在DeepWalk中通过使用随机游走(RandomWalk)的方式在图中进行节点采样来模拟语料库中的预料,进而使用word2vec的方式学习出节点的共现关系,其具体过程如下图所示:
在这里插入图片描述

  • 随机游走(Random Walk): 从图中的每个节点开始,以随机游走的方式探索图的结构;随机游走是指从当前节点出发,以一定的概率选择一个邻居节点进行移动,直到达到指定的步数或者满足其他条件为止;这样就可以得到大量的节点序列作为训练数据。
  • Word2Vec 模型训练: 使用得到的节点序列作为输入,训练Word2Vec模型;Word2Vec模型是一种经典的词嵌入模型,它能够将序列中的每个节点表示为一个向量,并保留节点之间的语义关系;通过在节点序列上训练Word2Vec模型,可以得到节点的向量表示。
  • 节点表示学习:训练完成后,从Word2Vec模型中提取每个节点的向量表示;这些向量具有低维度且保留了节点之间的关系信息,可以用于后续的数据分析、机器学习任务或可视化等应用。

2.LINE——DeepWalk的改进(BFS)

LINE(Large-scale Information Network Embedding)是一种用于学习大规模信息网络嵌入的算法(支持在有权图中使用)。其主要思想是利用一阶和二阶的信息来捕捉节点之间的结构和相似性,并将其映射到低维向量空间中。

LINE算法在一阶相似度已经不足以充分的概括网络结构特征时首次提出了二阶相似度的概念。
在这里插入图片描述
如上图所示,当在连接节点6和节点7的边上的权值很大时,节点6和节点7就会有很大的一阶相似度,故这两个节点在特征空间的表示会十分相似;节点5和节点6虽然没有直接相连,但是节点5和节点6拥有共同的邻居,因此这两个节点拥有很高的二阶相似度,在特征空间内的表示也会十分接近。

一阶相似度:一阶相似度是指直接相连的节点之间的相似度,即节点间的直接连接关系,可以用来捕获节点的局部结构信息。两个节点直接所连接的边的权重就代表着两个节点一阶相似性的强弱。
LINE通过最大化一阶相似度的条件概率来保留节点之间的直接连接信息。

二阶相似度:二阶相似度是指通过共享邻居节点间的相似度来度量节点间的相似度,即通过节点的共同邻居来表示节点之间的相似性。LINE通过最大化节点的二阶相似度来学习节点的向量表示,以捕获节点之间的高阶结构信息。二阶相似度可以帮助发现节点之间的隐含关系,尤其是对于稀疏网络而言。

LINE损失函数:对于一阶相似度,采用了随机梯度下降(SGD)来最大化条件概率。对于二阶相似度,采用了负采样的方式来最大化二阶相似度的条件概率。

嵌入学习:LINE算法最终得到的节点嵌入向量可以用于后续的节点相似性计算、节点分类、链接预测等任务。通过将节点映射到低维度的向量空间,可以在保留网络结构信息的同时,降低计算复杂度和存储空间的需求。

3.Node2Vec——DeepWalk的改进(DFS和BFS的结合)

Node2Vec 同样是一种用于学习图数据中节点嵌入的算法,它是 DeepWalk 的一种扩展。Node2Vec 通过在图上执行随机游走,并根据这些游走序列学习节点的向量表示。其主要思想是通过在图中随机游走来捕捉节点之间的结构信息,并通过学习节点嵌入向量来保留节点在图中的上下文信息。

Node2Vec算法的核心思想在于通过灵活地控制随机游走的过程来平衡图中的同质性(Homophily)和结构性(Structural Equivalence):

  • 同质性:相似的节点更有可能彼此连接。
  • 结构性:位于网络中相似结构位置的节点应该有相似的嵌入,即使它们不直接连接。

Node2Vec随机游走策略
Node2Vec采用了一种特殊的随机游走策略,即有偏随机游走,它通过两个参数p和q来控制游走过程:

  • 返回参数p:控制随机游走返回上一个节点的概率,当 p > 1时,游走更倾向于重复访问之前的节点。较小的p值鼓励探索远离源节点的区域,增加随机游走的“广度”。
  • 进出参数q:控制随机游走是向外探索新节点还是探索局部邻居,控制探索邻居节点和返回到之前节点之间的平衡,当 q > 1时,游走更倾向于访问与当前节点较远的节点。较小的q值倾向于使随机游走在局部区域内游走,增加随机游走的“深度”。

Node2Vec嵌入学习策略

  • 生成随机游走:基于上述有偏策略,从每个节点开始执行多次随机游走,生成大量节点序列。
  • 应用Word2Vec:将这些节点序列视为句子,节点视为单词,使用Skip-gram模型(一个Word2Vec模型的变体)学习节点的向量表示。具体来说,Skip-gram模型的目标是最大化特定节点的特征表示与其上下文节点(在随机游走序列中邻近的节点)的特征表示之间的点积。

Node2Vec算法通过调整p和q参数来探索不同类型的网络结构,使得生成的嵌入能够反映节点的同质性和结构性特征。这些参数的不同设置使Node2Vec非常灵活,能够适应不同的网络结构和嵌入任务。在实际应用中,Node2Vec的嵌入可以用于多种下游任务,如节点分类、链路预测和社区检测等。其效果通常优于传统的基于矩阵分解或浅层学习的图嵌入方法,因为它能更好地捕捉网络中的复杂模式和非线性结构。


总结

欢迎关注我的公众号~

  • 19
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值