跟Facebook学反欺诈 看CopyCatch算法如何搞定Lockstep

2018 年 1 月 31 日 数盟

自从有互联网以来,网络上便流传着各种垃圾和恶意信息。应对各种垃圾,作弊乃至欺诈信息成了各个互联网公司必须解决的问题。特别是随着各种社交网络网站的兴起,反作弊和互联网安全成为了研究界和工业界都面临的挑战。各大互联网公司都成立了专门的反作弊团队,应对每天出现的反作弊情况。

反作弊中最常用到的技术之一就是图论算法,反作弊问题经常可以归约为图论问题。例如可以利用 SVD 分解图的邻接矩阵的方法,还可以利用图遍历算法进行反欺诈检验。具体到金融领域,图论算法可以用来进行风控和失联修复方面的工作。

作为全球最大的社交媒体网站,Facebook 一直在设法积极应对网站上的欺诈和作弊行为。CopyCatch 是 Facebook 2013 年发表在知名国际会议 WWW 上的反作弊论文,讲述了 Facebook 处理一类叫作 Lockstep 欺诈行为的算法。

Lockstep 行为是指存在这样的页面,大量的用户都在较短的时间窗口内给这个页面点过赞。检测 Lockstep 行为也就变成了检测这样的用户和页面的集合。下面我们就来看一下 Facebook 是如何设计反作弊算法的:

首先构建一个二部图。二部图的节点有两类:一类是用户,另一类是 Facebook 的页面。当 Facebook 的用户给某个页面点赞时,便会在代表用户的节点和代表页面的节点之间构建一条边。Lockstep 行为可以用如下数学公式来描述:

这个问题本身可以转化为在二部图中检测二部核(Bipartite Core)的问题。检测二部核问题本身是 NP-hard 问题,因此需要设计近似算法来解决这个问题。Facebook 把这个问题设计为最优化问题。

首先重新定义一下问题描述:

这个问题可以归约为如下最优化问题:

其中 L 代表用户点击页面的时间矩阵,c 是欺诈用户发生欺诈行为的中心向量,而 P’ 是欺诈页面集合。这个最优化问题的实质是: 选择聚类中心 c 和页面子空间 P’ 来最大化聚类中给定的时间窗口内用户和用户喜欢行为的数量。解决该问题采用迭代的算法,算法的第一步是选定聚类中心 c ,算法的第二步是根据 c 来选定 P’。算法的框架如下所示:

其中 UpdateCenter 函数的流程如下:

UpdateCenter 函数的基本思想是在当前聚类中心的 范围内重新选择聚类中心,使得新的聚类中心能够覆盖更多的用户和更多的点赞行为。

FindUsers 函数的流程如下:

FindCenter 函数的流程如下:

FindCenter 函数的基本思想是将二部图中与某个页面关联的用户根据页面点赞时间进行排序,然后考察在给定时间窗口内用户子集合的点赞行为的最大值。将新的聚类中心点设置为用户子集合的中心。

UpdateSubspace 函数的流程如下:

UpdateSubspace 函数的基本思想是考察当前欺诈页面子集合之外的页面,看是否存在欺诈可能性更高的页面(也就是关联欺诈用户是当前欺诈页面对应用户的超集),如果存在,则将当前页面替换为新页面。

作者提供了 Map-Reduce 版本如下:

CopyCatch算法的收敛速度很快,在 Facebook 的数据集上大约10个迭代算法就可以收敛:

Facebook 的 CopyCatch 算法思路和实现均较为简单, 并且经过线上运行确认算法效果满足线上要求, 是非常优秀的算法。虽然算法发表距离今天已经有一段时间,但是仍然具有现实的参考意义。

CopyCatch 算法用到了图论的相关知识。截至今天,图论已被广泛的应用在反欺诈/反作弊/信息安全等领域。熟练的掌握图论相关知识已经成为大数据和人工智能从业者的必备技能。希望本文能够给互联网行业的相关从业者提供宝贵的经验。

原文标题:CopyCatch : Stopping Group Attacks by Spotting Lockstep Behavior in Social Networks

作者:Alex Beutel , Wanhong Xu , Venkatesan Guruswami , Christopher Palow , Christos Faloutsos

媒体合作请联系:

邮箱:contact@dataunion.org


登录查看更多
3

相关内容

Facebook 是一个社交网络服务网站,于 2004 年 2 月 4 日上线。从 2006 年 9 月到 2007 年 9 月间,该网站在全美网站中的排名由第 60 名上升至第 7 名。同时 Facebook 是美国排名第一的照片分享站点。 2012年 2 月 1 日,Facebook向美国证券交易委员会提交集资规模为 50 亿美元的上市申请。
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
164+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
120+阅读 · 2020年5月10日
近期必读的6篇顶会WWW2020【推荐系统】相关论文-Part3
专知会员服务
58+阅读 · 2020年4月14日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
65+阅读 · 2020年3月26日
推荐系统产品与算法概述 | 深度
AI100
11+阅读 · 2019年6月13日
100行Python代码,轻松搞定神经网络
大数据文摘
4+阅读 · 2019年5月2日
如何解决自然语言处理中 90% 的问题
AI研习社
4+阅读 · 2018年2月15日
JavaScript 背包问题详解
前端大全
7+阅读 · 2018年1月17日
新闻客户端AI推荐系统解析
产品经理读书会
9+阅读 · 2018年1月12日
侦测欺诈交易(异常点检测)
GBASE数据工程部数据团队
19+阅读 · 2017年5月10日
3D-LaneNet: end-to-end 3D multiple lane detection
Arxiv
7+阅读 · 2018年11月26日
Arxiv
3+阅读 · 2018年3月21日
Arxiv
5+阅读 · 2018年3月6日
Arxiv
8+阅读 · 2018年1月25日
Arxiv
5+阅读 · 2016年12月29日
VIP会员
相关资讯
推荐系统产品与算法概述 | 深度
AI100
11+阅读 · 2019年6月13日
100行Python代码,轻松搞定神经网络
大数据文摘
4+阅读 · 2019年5月2日
如何解决自然语言处理中 90% 的问题
AI研习社
4+阅读 · 2018年2月15日
JavaScript 背包问题详解
前端大全
7+阅读 · 2018年1月17日
新闻客户端AI推荐系统解析
产品经理读书会
9+阅读 · 2018年1月12日
侦测欺诈交易(异常点检测)
GBASE数据工程部数据团队
19+阅读 · 2017年5月10日
相关论文
Top
微信扫码咨询专知VIP会员