FRAUDAR: Bounding Graph Fraud in the Face of Camouflage
1、一段话概括算法
FRAUDAR算法来源于2016年KDD会议,该论文获得了当年的最佳论文奖。该算法要解决的问题是找出站内最善于伪装的虚假账户簇。其原理是虚假账户会通过增加和正常用户的联系来进行伪装,而这些伪装(边)会形成一个很紧密的子网络,这样就可以通过定义一个全局的度量,再移除二部图结构中的边,使得剩余网络结构对应的度量的值最大,这样就找到了最紧密的子网络,而这个网络就是最可疑的。
2、论文主页
http://www.andrew.cmu.edu/user/bhooi/projects/fraudar/index.html
3、背景
在社交网络或者电商网站中,存在着用户关注其他用户或者用户浏览商品的二部图,其中的虚假用户会通过关注正常用户来伪装自己,而用户也会通过多浏览其它商品来伪装其真正要浏览的商品。更严重的情况是有一些正常的用户可能被盗,从而被利用来进行关注或者浏览等。在这样的情况下,虚假用户或者被盗用户与目标之间就会形成一个“dense”的子网络。算法的目的就是找到这样的子网络,从而完成虚假用户行为的识别。
4、计算过程
算法的核心计算过程可以简要描述如下,具体可以参考原论文中Algorithm1的伪代码:
- a、建立优先树(一种用于快速移除图结构边的树结构);
- b、对于二部图中的任意节点,贪心地移除优先级最高(由优先树得到)的节点,直至整个网络结构为空;
- c、比较上述每一步得到的子网络结构对应的全局的度量,取该值最大的子网络结构,那么该子网络结构就是最紧密的子网络,也就是最可疑的团伙。
其中最关键的地方是定义了一个全局度量,该Metric的定义是(目标度量),可以理解成子网络结构中每个点的平均可疑程度
g(s)=f(s)|s|