文章核心思想?
本文的目的是检测支付宝的异常用户。文中针对支付宝用户的“设备聚集性”和“活动聚集性”特征,在传统GCN的基础上进行改进提出GEM模型:考虑不同节点类型构建异构图,利用聚合函数结合邻居节点信息,此外还引入了注意力机制进行建模。对比其他模型取得了较好的效果
设备聚集性
对数据进行分析发现,异常用户往往会有设备聚集性,如果在一个设备上常常会登录大量用户,那么这个设备以及这些账号通常是可疑的。如图所示为正常用户与异常用户的设备-账号id分布,横坐标为设备id,纵坐标为账号id,左图为正常用户,右图为异常用户,可以看出异常用户在某些特定设备id上有较明显的群聚效应。
活动聚集性
对数据进行分析发现,异常用户往往会有活动聚集性。与正常用户随机时间有行为(登录、注册等)不同,异常用户会集中在某个时间段内集中行动,如图所示为正常用户与异常用户在每个时间点的行为,横坐标为时间,纵坐标为账号,左图为正常用户,右图为异常用户,每个点表示账号i在时刻t有行为,可以看出,异常用户往往行为规律性更强
异构图G=(V,E),N个节点(包括账号和设备),M个边,如果账号i在设备j上有行为(登录注册等),则有一条边相连。
这里的设备有更广泛的含义,比如说mac地址,IP地址等,本文中利用电话号码,UMID, MAC地址,IMSI, APPID, TID六种类型设备,可以根据不同设备类型构建不同子图, ,其中每个子图包括了全部节点,边只包含属于该类型设备的边。
数据特征:选取p个时间节点,分别记录每个时间节点的行为,|D|种类型的设备特征|D|维,因此每个账号有p+|D|维特征(也可以加入一些其他的账号画像特征),特征矩阵为
目标:给定时间[0,T)内用户行为与用户标签,构建邻接矩阵A与用户特征矩阵X,预测用户在时刻T时正常or异常
类别GCN模型,此处有两点改进:
将GCN模型用于异构图种
对邻居进行聚合
对于各个设备的子图 ,迭代:
其中, 均为要学习的参数, 为embedding矩阵,T为隐层个数,也可理解为聚合了几跳的邻居,比如 聚合5跳邻居;此外可以看出在迭代表达式中,X在每一隐层种都有出现,目的是连接远距离的关系,有点类似于残差网络的思想。
注意力机制
考虑到不同类型的设备影响不同,可以考虑加入注意力机制,此时迭代表达式为: ,
其中 是要被学习的参数
利用支付宝数据进行实验,实验中不考虑孤立节点,因为孤立节点的风险较小,利用连续4周的数据进行实验,预测新注册的账号在每周的最后一天是否会异常。
模型对比:
Base model: Connected Subgraphs
构图方法:
异构图转化为同构图:如果两个账号在同一个设备上登陆过,则有一条边相连
减少边:考虑用户行为,利用两个用户的行为向量做内积,根据内积相似度衡量两个用户的关系,如果相似度小于某一阈值,则取消这条边
利用每个账号所属的子图大小为每个用户打分
GBDT+Graph 利用图的基本统计信息(比如入度、出度等)以及用户信息当作特征,然后利用GBDT进行训练
GBDT+Node2vec
GCN
模型结果如图所示:
参考文献:
Liu, Z., Chen, C., Yang, X., Zhou, J., Li, X., & Song, L. (2018, October). Heterogeneous graph neural networks for malicious account detection. In Proceedings of the 27th ACM International Conference on Information and Knowledge Management (pp. 2077-2085).