在三十而立的日子,把很久之前写的东西发出来,以纪念这个特殊的日子。
因为研究生研究经历,以及工作经历中前前后后涉及过这块,之前也和很多人私下探讨过这个领域问题,现在把里面一些关键点写出来,算抛砖引玉吧。
范涛
发表于2017/12/07
--------------------------------------------------------------------------------------------------------------
背景
为什么是图模型?
(1) 现实世界,实体之间本身就是存在自然关联的。
(2)欺诈者容易改变自身欺诈手法,逃避风控规则,但是他难以改变的全部关联关系,以及难以掌握全局视图,难以让他所在网络群体同步执行相同操作来躲避风控。还有一句话"天网恢恢,疏而不漏",当关联网络覆盖到一个很大范围时候,欺诈者即使再小心,可能也会无意中暴露出一点蛛丝马迹。在一个大型关联网络中,是十分容易发现逻辑不一致的地方(当一个人用一个谎言弥补自己的的过错时候,未来他会用更多的谎言去圆当初的谎言,这个时候是十分容易出现逻辑悖论)。
图模型挑战:
(1)标记数据获取难度大,效果评估难度大;
(2)工业界关联网络规模巨大,要求算法不仅识别精度高,在时间和空间上能scalable。
(3) 如何对模型进行解释
技术方案
一:
Structure based
1.1 Feature based
1.1.1 构建分类模型
计算节点的入度,出度,聚类系数,节点介数,node2vec(节点向量表现形式)等,利用这些feature,以及节点本身具备的额外属性特征构建分类器,识别是否欺诈。这种监督方法也比较主流,效果还是不错的(蚂蚁金服人工智能部对外技术分享提到过他们把node2vec,融入到风控模型中,带来不错的效果提升[1])。
风险点:把图模型的特征融合到样本特征体系中,需要考虑覆盖情况,当你的关联数据不够庞大时候,图模型特征可以覆盖的样本可能不足,这在训练和应用监督模型时候可能是个问题。
1.1.2 挖掘异常subgraph
在网络结构,比如某些subgraph在某些feature上(如平均degree值)远高于其他,那这种结构在我们定义的网络关系中是否合理?
当我们根据历史欺诈case发现某种欺诈场景的关联网络subgraph基本呈现特定结构,那我们可以在全局的关联网络图中把符合这个特定结构的subgraph都找出来。