GraphRAD: A Graph-based Risky Account Detection System
GraphRAD: A Graph-based Risky Account Detection System
GraphRAD系统详解
1. 交易记录
将交易记录分为训练集和测试集。对于参数估计和调优,我们只使用出现在训练集中的账户标签,而在性能评价阶段使用测试集中的账户进行评价。在测试中,我们特别关注那些“遗漏的未被检测到的风险账户”。
2. 图生成器(Graph Generator)
在同一笔交易中,如果两个账户有相同的某种属性(如,收货地址),就在这两个用户中间构建一条边。
以此,将一段时期内的交易记录,构建成图,称 account link graph。
依照启发式方法,执行两步过滤操作:
- degrees filter:移除图中度非常大的节点
- 评价标签:
- Trusted labels 被分配给长期建立的账户,自建立以来没有任何关于它的欺诈报告
- Fraud labels 被分配给我们确信它就是欺诈账户的
- Risky labels 被分配给我们认为这个账户存在风险,但不确定它是不是欺诈账户
3. 种子模型(Seeding module)
Seeding module使用一组启发式规则为社区检测(Community Detection)模块挑选种子顶点(account)。种子顶点包括所有带欺诈标记的顶点和部分带风险标记的顶点。
4. 社区检测(Community Detection )
社区检测模块接收Seeding module提供的种子顶点,并在“account link graph”上执行局部图聚类算法,输出是一组子图(社区),每个子图都以种子顶点为中心。
local graph clustering
5. 筛选+合并(Screen + Merge)
利用社区统计训练的回归模型对社区风险进行排序,只保留风险较大的社区,称 big-comm,这样就进一步缩减了社区检测输出的子图规模,最后提交专家评审,又节约了大量时间和专家。
6.社区提取(Community Extractor)
该模块对欺诈者帐户进行集群,并为每个集群提取社区,它从“big-comm”中提取出几乎不重叠的小型欺诈社区。与后面将会介绍的评分模块中的帐户风险评分一起,这些小社区将呈现给人类专家。
hierarchical clustering + local graph clustering
7. 特征提取(Feature Extractor)
此模块使用交易记录中的属性为“big-comm”的每个顶点(帐户)生成特征向量。注意,这些属性不同于用于构建“big-graph”的属性,而是一组本文没有描述的交易风险指标。
8. 评分(Scoring)
评分模块接收从Feature Extractor中获得的特征向量,并执行半监督分类规则化的“big-comm”图。输出是分配给“big-comm”的每个顶点(帐户)的风险分数。