小言_互联网的博客

图算法在反欺诈中的应用

225人阅读  评论(0)

在互联网业务开展的过程中,经常面临着黑产的批量攻击,这种攻击渗透在业务链路的各个环节,如注册、登录、营销、交易等等,团伙欺诈对互联网业务开展构成了巨大威胁。团伙欺诈发生时,同一团伙的账号间会存在或显性或隐性的关联,通过深入挖掘这些关联关系,构建账号间的关系网络,可以将这些欺诈团伙一网打尽。

图是表示事物之间关联关系的有效方式,包括节点和边。节点是一种实体,可以是账号,也可以是设备、手机号等,而边表示这些节点之间的关联关系,比如某个账号使用过某台设备,就可以在对应的账号和设备节点之间建立一条边。图又可分同构图和异构图,同构图是指图中只有一种类型的节点和一种类型的边,此外是异构图,即节点类型或边的类型超过一种。基于图的算法在反欺诈领域有着广阔的用武之地,在这里我们从3个不同的角度聊下图算法在反欺诈中的应用。

一、从传统图算法到图神经网络

就像在机器学习领域可细分为以逻辑回归、决策树为代表的传统机器学习和以卷积神经网络CNN、循环神经网络RNN为代表的深度学习一样,图算法领域可分为传统图算法和图神经网络,这里分开介绍。

1、传统图算法

传统图算法在反欺诈领域的典型应用主要包括社区发现算法和图的异常检测算法。社区发现算法的主要作用是根据节点关联的紧密程度将原图拆分成多个子图,子图内部关联紧密,子图之间无关联或关联微弱。通过社区划分后,可以根据社区规模及由社区内部关联构建的指标识别出异常社区即欺诈团伙。典型的社区发现算法有LPA[1]、Louvain[2]和infomap[3]等。这里简单介绍LPA的原理,如图1。在LPA中,每个节点会被分配一个不同的社区编号,然后在此后的迭代中,每个节点的社区编号会由邻居节点即有关联的节点中占据多数的编号所决定,如此迭代直至每个节点的社区编号不再变化。在第一轮迭代中,由于每个邻居节点的社区编号不同,节点会被随机分配一个邻居节点的编号。迭代收敛后,关联紧密的节点会拥有同一个社区编号。


图1 利用LPA进行社区划分


传统图算法的另一个典型应用是图的异常检测算法,主要是异常结构的检测,典型算法有Fraudar[4]。它是一种针对二部图识别稠密子图的算法。二部图是指图中包括两种类型的节点,算法构建了一种衡量子图密集程度的指标,利用贪心算法找出图中最稠密的子图。该算法可有效识别刷单、虚假评论、洗钱等。

2、图神经网络算法

传统图算法具有很强的解释性,在反欺诈领域发挥了重要作用,但也面临着一个痛点:它只能通过节点间的关联关系建模,并不能充分利用节点的特征。如在构建的账号关系网络中,不仅账号之间存在关联关系,账号本身也有自己的特征。早期的图神经网络主要是利用节点的拓扑关系,生成每个节点的嵌入表示即node embedding,然后可以和节点自身特征拼接使用,这样就能利用节点的结构信息和自身特征。典型的节点表示学习算法如deepwalk[5],它首先在图中根据节点的连接关系进行随机游走由节点组成一条路径,这条路径可类比成一句话,每个节点类比成一个单词,这时候可以用NLP中典型的word embedding学习算法skip-gram,为每个节点生成embedding。随着算法的发展,图神经网络算法可以同时考虑节点的关联关系和自身特征,典型的算法有图卷积神经网络GCN[6]。如图2,某节点将其自身节点特征和邻居节点特征进行加权求和后,通过非线性变换得到隐藏表示,然后可用于后续的分类任务。图神经网络算法在考虑节点关联关系基础上,可叠加节点特征,进一步提升了模型的表达能力,在实践中往往有更优秀的表现。


图2 图卷积神经网络GCN


二、从半监督学习到无监督学习

在反欺诈建模时,经常面临着没有标签或只有少量标签的情况,所以实际建模时主要采用半监督学习和无监督学习。在半监督学习中,基于已有的部分节点标签,可根据关联关系或叠加节点特征相似对未知节点的标签进行预测,典型的算法如上文提到的GCN。在无监督学习中,像传统图算法中的社区发现是一种应用方式,另外还可以利用无监督图神经网络算法综合节点特征和关联关系进行节点表示学习,节点表示可用于下游聚类任务识别出欺诈团伙。在无监督图神经网络算法中,可利用数据本身构建正负样本进行自监督学习。在DGI算法[7]中,如图3,通过保持邻接矩阵即节点的关联关系不变但打乱节点特征矩阵的方式构建负样本,然后利用区分正负样本的二分类问题得到节点表示。


图3 DGI


其实有些算法既可以进行半监督学习也可进行无监督学习,比如上文提到的LPA算法,是事先没有标签的一种情况,初始状态每个节点被分配了不同的社区编号,是一种无监督学习的方式。如果事先知道一部分节点的标签,可将这些节点的初始状态定义为相应的标签,然后确定的标签基于关系网络进行传播以识别出更多的风险用户,这是半监督学习的方式。

三、从静态图到动态图

目前已有的图算法主要是针对静态图,也就是学习时图中的节点和关联关系保持不变。而在现实世界中,大部分图是动态的,图的节点会随着时间增加,节点间的连接关系也会随着时间改变。最近,基于动态图的表示学习算法吸引了越来越多人的关注。如在算法[8]中,对新加入的节点,通过局部拓扑结构找出受其影响最大的节点,然后利用这些节点合成自身节点表示,并对受影响节点进行局部更新,由此可解决动态图新节点表示生成问题。在反欺诈领域,我们可以通过动态图的形式,更精确地刻画出团伙的演化信息,从而更精确更及时地发现欺诈团伙。


图4 实时流式图表示学习


在建模过程中,可根据业务对模型可解释性的要求,灵活选用传统图算法或图神经网络,另外还可以根据业务风险标签情况分别采用无监督或半监督的学习方式。相较静态图算法,动态图算法更符合反欺诈的时效性要求,然而目前受限于计算性能难以大规模应用。相信随着计算性能的提升和算法的不断优化,动态图算法在反欺诈领域将会有越来越大的应用空间。


往期好文推荐:
2020 ICDM 知识图谱竞赛获奖技术方案
一文读懂联邦学习的前世今生(建议收藏)
突破DevOps瓶颈:京东数科自动化测试平台建设实践
京东数科七层负载 | HTTPS硬件加速 (Freescale加速卡篇)
京东数科mPaaS:深度解读京东金融App(Android)的秒开优化实践


转载:https://blog.csdn.net/JDDTechTalk/article/details/111150782
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场