logo头像
Snippet 博客主题

风控算法-CopyCatch

CopyCatch是Facebook的一个风控算法,它的核心是基于用户行为和时间的双聚类。值的借鉴的是它提出的lockstep behavior的想法。


摘要

算法的假设:由于facebook已经存在比较多的反作弊系统,所以对于作弊者来说如果想要取得想要的收益,就需要不断地“复用”账户,进而导致有些账户团伙会在比较相近的时间做着相似的事情(lockstep behavior)。


For spammers to be successful they need many users to Like their Pages. However, Facebook already has many anti-phishing and anti-malware mechanisms making it difficult for real accounts to be compromised, and many algorithms to detect fake accounts. As a result, it is hard for an adversary to control many accounts, and instead they need to use the same few to Like many Pages. Therefore, we look for lockstep behavior - groups of users acting together, generally Liking the same Pages at around the same time.


Copycatch将作弊团伙行为命名为lockstep behavior,它的定义是在一个时间窗口内有一批用户与一批页面组成了近似二部核。即每个用户都与团伙中超过一定比例的页面有交互行为,因为并不是要求团伙内任意两个用户和页面都有互动所以被称为是近似的(公式9),反之是下图的公式(8)。



Lockstep behavior如下图中的b所示,两个不同时间的作弊团伙:


算法详情

论文中阐述了两个实现版本,一个单机的版本,一个分布式的版本(更具工业价值)。


先进行一些符号定义:


算法优化目标如下:


单机版

简单来说,copycatch在设定初始团伙信息后,每个轮次分别更新可疑用户列表和可疑页面列表。算法详细过程如下:


分布式版

算法过程:

  1. 首先选定一些初始中心
  2. for i in iteration:
    1. Mapper:对于每个可疑的Page判断是否归属于某一个团伙,条件是团伙中有超过一定阈值的用户都与Page相关联。
    2. Reduce:更新时间窗口、用户团伙等信息

评论系统未开启,无法评论!