今天的博客主要参考了2014年facebook在会议SIGSAC上发表的paper《Uncovering Large Groups of Active Malicious Accounts in Online Social Networks》。主要讲解了facebook应用机器学习方法在OSN(online social network)反团伙欺诈方面的解决方案。由于有部分读者对于facebook在OSN场景下的团伙欺诈不是特别熟悉,我这里先讲2个针对facebook应用欺诈的案例方式:1 刷粉丝(国内的新浪微博也存在这种现象),某些博主通过购买黑产服务拥有大量粉丝,进而提升账号的价值;2 海量上传垃圾photo,众多黑产账号一起行动,同时上传大量垃圾photo,对整个平台生态造成破坏。

首先作者大致说明了一下在此之前,业界针对该场景下使用的一般方法:
1 利用用户账号之间的关联关系进行判断。其假设前提是,在社交网络中,正常账户肯定会和其他账号之间有很多关联关系,而黑产账号的关联关系是比较少的。这种方法的缺点显而易见,一方面有些不活跃的正常用户的关联关系也是比较稀疏的,另一方面,随着黑产欺诈手段的提升,他们之间也会存在复杂的关联关系。
2 使用传统基于的机器学习方法,就是提取特征训练有监督模型,这种方法最大的缺点就是黑产的欺诈模式在不断变化,如果改变了欺诈模式,而提取的特征又没有及时反馈到这些信息,模型的效果就会显著下降。

基于此,作者提出了paper中的算法模型。其motivation是非常直观明了的:一般来说在OSN场景下黑产作案的团伙特征是比较明显的,而要找团伙其实就是找账号之间的关联关系,构建网络模型进行处理。而账号之间的关联关系一般是通过其他的实体关联起来的,这和具体的应用场景是强相关的。比方说在“刷粉丝”场景下,两个黑产账号如果在短时间内关注了一个follower账号,他们就是有关系的,在“上传垃圾photo”场景下,两个黑产账号在短时间内登录同一个IP上传了photo,他们就是有关系的。


上述就是paper对于用户某一笔操作的抽象,其实就是几个关键字段。需要提前说明一点的是,APPID的作用是为了区分应用场景(比方说对抗“刷粉丝”还是对抗“上传垃圾photo”),因为facebook的应用场景非常丰富,各个场景的数据量又十分巨大,区分了应用计算场景,才能显著降低模型的计算复杂度。接下来,作者定义了用户action match的概念,即用户的两个action是匹配的,形式化的定义如下:
(Ui,Ti,Ci)≈(Uj,Tj,Cj)(U_i,T_i,C_i)\approx(U_j,T_j,C_j)(Ui​,Ti​,Ci​)≈(Uj​,Tj​,Cj​) if Ci=CjC_i=C_jCi​=Cj​ and ∣Ti−Tj∣<=Tsim|T_i-T_j|<=T_{sim}∣Ti​−Tj​∣<=Tsim​
也就是说两个账号UiU_iUi​和UjU_jUj​,在时间窗口TsimT_{sim}Tsim​内关联同一个实体CiC_iCi​(相同IP,followed ID等)就认为它们是匹配的。

有了匹配的定义,下面就有了两个节点相似度的定义:
Sim(Ui,Uj,Ck)=∣Aik⋂Ajk∣∣Aik⋃Ajk∣Sim(U_i,U_j,C_k)=\frac{|A_i^k \bigcap A_j^k|}{|A_i^k\bigcup A_j^k|}Sim(Ui​,Uj​,Ck​)=∣Aik​⋃Ajk​∣∣Aik​⋂Ajk​∣​即是账号UiU_iUi​和账号UjU_jUj​在关联实体CkC_kCk​ 上的相似度.
那么,Sim(Ui,Uj)=∣Ai⋂Aj∣∣Ai⋃Aj∣=∑k∣Aik⋂Ajk∣∑k∣Aik⋃Ajk∣Sim(U_i,U_j)=\frac{|A_i \bigcap A_j|}{|A_i \bigcup A_j|}=\frac{\sum_k|A_i^k \bigcap A_j^k|}{\sum_k|A_i^k\bigcup A_j^k|}Sim(Ui​,Uj​)=∣Ai​⋃Aj​∣∣Ai​⋂Aj​∣​=∑k​∣Aik​⋃Ajk​∣∑k​∣Aik​⋂Ajk​∣​即UiU_iUi​和UjU_jUj​的全局相似度,是它们在所有关联属性上的相似度的和。

其实当定义完了相似度之后,直接计算就可以了,但由于facebook每日的记录量是十分大的,直接计算一段时间范围内的用户相似度基本上是工程上不可行的。
假设要计算的时间区间是[t,t+5],作者利用分治法的思想提出了一种工程上的解决方法,具体过程如下所示:

即以天为单位进行计算,然后把每天的计算结果进行合并,合并公式如下所示:
Sim(Ui,Uj,Ck)=∣Aik⋂Ajk∣∣Aik⋃Ajk∣=∣Aik⋂Ajk∣∣Aik∣+∣Ajk∣−∣Aik⋂Ajk∣=∑t∣Ai,tk⋂Aj,tk∣∑t∣Ai,tk∣+∑t∣Aj,tk∣−∑t∣Ai,tk⋂Aj,tk∣Sim(U_i,U_j,C_k)=\frac{|A_i^k \bigcap A_j^k|}{|A_i^k\bigcup A_j^k|}=\frac{|A_i^k \bigcap A_j^k|}{|A_i^k|+|A_j^k|-|A_i^k\bigcap A_j^k|}=\frac{\sum_t|A_{i,t}^k \bigcap A_{j,t}^k|}{\sum_t|A_{i,t}^k|+\sum_t|A_{j,t}^k|-\sum_t|A_{i,t}^k \bigcap A_{j,t}^k|}Sim(Ui​,Uj​,Ck​)=∣Aik​⋃Ajk​∣∣Aik​⋂Ajk​∣​=∣Aik​∣+∣Ajk​∣−∣Aik​⋂Ajk​∣∣Aik​⋂Ajk​∣​=∑t​∣Ai,tk​∣+∑t​∣Aj,tk​∣−∑t​∣Ai,tk​⋂Aj,tk​∣∑t​∣Ai,tk​⋂Aj,tk​∣​
这里说一点细节,在进行一天内的账号之间的关联关系计算的时候,作者并没有针对一天内的所有记录进行shuffle操作,而是把一天内的数据划分以2Tsim2T_{sim}2Tsim​为窗口的很多数据片,因为只有时间间隔在TsimT_{sim}Tsim​内的用户记录才有可能是匹配的。具体滑窗的示意图如下所示:

可以发现窗口的长度为2Tsim2T_{sim}2Tsim​,而移动的距离每次为TsimT_{sim}Tsim​,这样两个窗口之间就会有重叠区域,为了避免重复计算,在进行match数统计的时候,一方面考虑到两个账号行为之间的时间间隔是否小于TsimT_{sim}Tsim​,还要看是否同时处于2Tsim2T_{sim}2Tsim​窗口中的前半部分还是后半部分(每次只计算前半部分或者后半部分中的一半就可以避免重复计算)。

当计算完了账号两两之间的相似度之后,就可以构建出一个账号关系图出来,图中的点代表了账号,边就是账号产生了关系,边的权重就是账号之前计算出来的相似度,如下图所示:

这里作者想采用single-linkage层次化的聚类算法,进行节点间的聚类操作。但是发现当节点的规模很大的时候,算法的执行效率非常低。这里作者采用技巧把问题进行了巧妙的转化,即通过设定阈值将权重小于某一阈值的所有边删除掉,然后计算剩余部分图的全联通子图,处于同一子图中的节点就被划分到了同一团伙中。这样就在保证工程能够实现的情况下,确保了模型的正确运行。

接下来作者通过大量实验证明了该算法挖掘出团伙的准确率往往能达到90%以上,而且团伙中的账号越多,该团伙为黑产的概率越高。

一种基于时间滑动窗口的黑产团伙挖掘算法相关推荐

  1. Hive实现时间滑动窗口计算

    Hive实现时间滑动窗口计算 时间滑动计算 外部调用实现时间循环 自关联实现滑动时间窗口 扩展基于自然周的的滚动时间窗口计算 总结 时间滑动计算 需求大致是这样的,我们有一个业务涉及到用户打卡,用户可 ...

  2. DataScience:数据处理技术之针对时间序列数据衍变—构造时间滑动窗口数据的简介、代码实现、案例应用之详细攻略

    DataScience:数据处理技术之针对时间序列数据衍变-构造时间滑动窗口数据的简介.代码实现.案例应用之详细攻略 目录 时间滑动窗口数据的简介

  3. 什么是陀螺仪的dr算法_一种基于DR/GPS/MM的组合定位系统数据融合算法

    摘 要: 针对盲区中使用INS惯性导航系统进行定位存在误差积累的问题,提出一种基于DR航位推算.GPS全球定位系统和MM地图匹配的组合定位系统数据融合算法.该算法利用GPS和MM中得到的位置信息,一方 ...

  4. 一种基于神经网络的由PPG信号估计连续血压算法【翻译】

    一种基于神经网络的由PPG信号估计连续血压算法 摘要 由光体积描记(PPG)信号得到的血压和脉搏持续时间之间存在关系,但并不总是线性的.为了从PPG信号中估计血压,本文采用了人工神经网络(ann).训 ...

  5. 一种基于伪标签半监督学习的小样本调制识别算法

    一种基于伪标签半监督学习的小样本调制识别算法 人工智能技术与咨询 来源:<西北工业大学学报>,作者史蕴豪等 摘 要:针对有标签样本较少条件下的通信信号调制识别问题,提出了一种基于伪标签半监 ...

  6. python模糊神经网络预测_一种基于模糊神经网络的化学分子生物毒性预测模型算法的制作方法...

    本发明属于化工 技术领域: ,具体是一种基于模糊神经网络的化学分子生物毒性预测模型算法. 背景技术: :近些年来,化学物质合成技术飞快发展,合成物质已经应用于社会的各行各业,随着工业的高度发展,全球化 ...

  7. skew算法_一种基于FPGA的多通道高速输入信号自动de‑skew算法的制作方法

    本发明涉及高速数据采集技术,更具体的涉及一种基于FPGA的多通道高速输入信号自动de-skew算法. 背景技术: 随着对精度和速率要求越来越高,目前数据采集系统向着多通道和超高速两个方向发展.多通道高 ...

  8. 抖音举办平台治理开放日 半年捣毁25个黑产团伙

    12月1日,抖音在北京举办以平台治理为主题的开放日,负责抖音平台治理的抖音安全中心团队首次对外亮相,就安全运营.审核.技术攻防.联合打击等方面进行了介绍. 记者在开放日上获悉,抖音安全中心每天拦截处理 ...

  9. 【论文解读】一种基于时间卷积网络的知识驱动股票趋势预测方法

    写在前面 下面这篇文章的内容主要是来自论文<Knowledge-Driven Stock Trend Prediction and Explanation via Temporal Convol ...

最新文章

  1. rhel5+nis+autofs+nfs
  2. VC++ 6.0下OpengGL配置以及glut配置
  3. 新冠疫苗厂商科兴成立房地产公司?网友:准备打疫苗送房子了?
  4. 复旦计算机考研19年录取线,2019年复旦大学考研复试分数线已公布
  5. Python3 数字转换为字符串str()函数
  6. Linux学习笔记006-启动流程
  7. 前端学习(1036):bootstrap-js插件2
  8. httperf ---linux web站点压力测试
  9. win10 设定 文件夹 联动 在 左侧窗口显示
  10. asp.net+mysql,asp.net+mysql后台盲注入
  11. python 10的次方_python e次方
  12. 13行列式02---余子式与代数余子式、行列式按行(列)展开法则、行列式计算、范德蒙行列式
  13. 国产计算机系统哪个好,5大国产手机操作系统分析评测,你更中意谁?
  14. 雷军:《我十年的程序员生涯》系列之三:阳光灿烂的日子
  15. 【PMP认证考试感悟】走向管理的开始
  16. python菜鸟教程 | print功能
  17. 怎么更改计算机用户为管理员账户,Win10如何更改为管理员账户,教您如何更改
  18. 软件开发与软件研发的区别
  19. Casbin入选2022 Google编程之夏
  20. 基于模型的无人机开发

热门文章

  1. CC2530 zigbee IAR8.10.1环境搭建
  2. igraph 利用节点列表输出子图并存储
  3. 深度学习系统 深度学习软件
  4. 淘宝api接口系列,获取sku详细信息
  5. 【思考】阿里云的混合云战略,凭啥扯上Zstack?
  6. 给body设置背景图片,整个图片完整的充满屏幕
  7. 俞渝手撕李国庆:他是同性恋,李回应:变态精神病患者!大量细节惊呆网友...
  8. vue实现跑马灯抽奖
  9. 2014美国大学计算机专业排名,2014年美国大学计算机专业研究生排名
  10. 计算机命令无法到达打印机,Win7打印机发送打印命令后不打印自动消失怎么办...