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

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

图算法在反欺诈中的应用相关推荐

  1. 【统计技术】数据挖掘在反欺诈中的应用

    数据挖掘在反欺诈中的应用 目录 应用场景 Dr. Lightman 的方法 我们的方法 Dr. Lightman:主要根据社会学和心理学知识,通过分析对方的(微)表情.肢体动作.说话方式和语音语调等, ...

  2. 图模型在反欺诈中的应用

    最近在研究图模型在反欺诈中的应用,综合整理相关资料.在目前的工作中,线上用的是fast unfoloding社区发现算法. 1.阿里团队公开了用无监督模型,防范信用卡欺诈(autoencoder)(非 ...

  3. DataFun Talk之算法架构系列活动 ——AI在反欺诈中的应用实践

    随着大数据的普及应用,大数据风控的概念随之而生,它是指通过运用大数据构建模型的方法对作弊和欺诈方进行风险控制和风险提示.大数据风控通过采集各项指标进行数据建模分析,不仅提高了效率,还使统计结果变得更加 ...

  4. 反欺诈中所用到的机器学习模型有哪些?

    作者 | 微调(知乎ID微调,普华永道高级数据科学家) 反欺诈方向的实际应用很多,我有做过保险业反欺诈和零售快消业的欺诈检测,抛砖引玉的谈谈反欺诈项目的"道"和"术&qu ...

  5. 【采用】无监督学习在反欺诈中的应用

    一.反欺诈技术的发展历程 反欺诈技术的的发展经历了四个阶段,第一阶段黑名单.信誉库和设备指纹:第二阶段规则系统:第三阶段有监督的机器学习:第四阶段无监督的大数据欺诈检测.目前来说,前三种还是大家应用最 ...

  6. 别忘记了修正反欺诈中的这些内容

    互金中做的较多的是贷前反欺诈相关内容,贷前反欺诈也是在整个风控环节中最关键和核心的部分. 反欺诈策略,跟所有的策略类似,都需要一套完整的反馈与修正机制,今天我们也稍微谈谈这套与反欺诈策略修正相关的内容 ...

  7. 无监督学习应用在反欺诈中

    传统对于欺诈行为的几种处理方式: 黑名单.信誉库和设备指纹,这种方法的缺点是覆盖率和准确率有限,而且虚拟机等可逃避设备指纹监测: 规则系统,这种方法需要深入了解欺诈模式,但不能够有效应对不断变化的欺诈 ...

  8. 聚类分析在用户行为中的实例_基于行为数据的消费信贷反欺诈方案

    随着技术的革新,金融行业的新模式.新业态不断涌现,对公共安全和社会治理也提出了诸多新挑战,如何有效管控这些新模式.新业态,使其朝着正确的轨道稳步前进,是摆在行业和监管部门面前的共同难题.近年来,数字金 ...

  9. 【总结】反欺诈(Fraud Detection)中所用到的机器学习模型

    反欺诈(Fraud Detection)是指识别和预防欺诈行为的过程,通常是通过监视和分析数据来识别异常行为和模式.机器学习在反欺诈中发挥了重要作用,可以使用各种机器学习算法来建立预测模型.下面列举了 ...

  10. 【风控体系】互联网反欺诈体系漫谈

    转:原文链接:https://mp.weixin.qq.com/s/9TUNBIbf85MVZ6QlyN34lw 感觉类似金融风控实验室的概念,会越来越火,也希望越来越多志同道合的小伙伴可以加入这个圈 ...

最新文章

  1. 蚂蚁森林合种计划(2020.12.19更新,7天有效)
  2. R语言ggplot2可视化使用ggridges包可视化山脊图(Ridgeline Plots):山脊图(Ridgeline Plots)应用场景、受试者口服茶碱的之后观察茶碱的浓度变化的山脊图
  3. 德国人工智能研究中心波尔特:人工智能与工业4.0并驾齐驱
  4. IT项目监理的三种模式比较
  5. 我的Oracle 9i学习日志(20)-- profile
  6. sqoop动态分区导入mysql,sqoop 导入数据到hive分区表(外表,内表) 指定分区 指定数据库 指定表...
  7. 前端学习(2050)vue之电商管理系统电商系统之实现node创建服务器
  8. java流读写_java流概述以及文件读写示例
  9. readonly和const比较
  10. 解决后台json数据返回的字段需要替换的问题
  11. IE与FF脚本兼容性问题
  12. 汽车和山羊问题matlab_三门问题:为什么换门会增加得到汽车的概率
  13. 画虚线_夏天穿马丁靴?热死你!她仅在脚上画五条“虚线”,显高7cm
  14. hello world!——VS使用教程
  15. QT课程设计:C++英语单词记忆软件程序开发
  16. 十年互联网 十个风云人物
  17. python实现排列组合
  18. 七大云架构设计在线绘图工具
  19. 桌面的「微信」坏了,「如何恢复」
  20. 令人困惑的fitsSystemWindows

热门文章

  1. 老毛桃+360急救箱结合(转)
  2. 人脉网中应该具备的10种人
  3. crm客户管理软件的精髓
  4. 织梦采集侠自动采集伪原创发布设置
  5. 【weblogic部署应用】
  6. JavaScript特效——开关灯泡
  7. 快播资源地址转百度影音地址v1.2
  8. qq for android 1.0,QQ for Pad 1.0正式发布 Android专版
  9. t450加固态硬盘教程_Thinkpad t450s拆机换240G ssd+加8G内存
  10. php 登陆代码,php登陆代码_php实现简单用户登录功能程序代码