亿展宏图 第四篇|当图算法遇到大数据
作者|陈圣茜&韩志超
编辑|林颖
供稿|eBay支付风控团队
本文共4891字,预计阅读时间10分钟
更多干货请关注“eBay技术荟”公众号
导读
“亿展宏图”是eBay 支付风控团队推出的系列文章,分享了eBay风控团队工作在图算法方面的一些理解和研究。在上期的亿展宏图 第三篇|如何高性能训练图神经网络里,我们介绍了训练图神经网络的三种图采样范式和DeGNN算法,以此来更高性能地训练图神经网络。本期亿展宏图,我们将介绍在图算法中解决海量数据的方法。
引 言
在大数据场景中,海量的数据往往意味着超大的图,这会影响到我们对问题的处理速度,各类算法的应用也会受到限制。如下面这张梯形漏斗图(为了数据安全性考虑,我们图中展示的是假数据,不过大致和我们真实数据的数量级比较近似),可见每一次进行缩小处理之后都会发生很大量级的变化。
那每一次的缩小处理是采用什么方法,适用的场景又是什么样的呢?下面就带大家从构图开始,一步一步来看如何处理图太大的问题,每一步处理过程中又有哪些取舍问题需要考虑。
一
全量交易图
1、构图
这时,我们引入同质偏好的概念。同质偏好是指个体更倾向于与他们相似的个体建立连结,即“物以类聚”。我们标注已知的风险点为“label1”,未知风险点为“0”,且n0为label的节点数量,n1为非label的节点数量。然后,我们定义三类二元组,分别为(1, 1)、(1, -0)和(0, -0)。它们分别表示(label1, -label1)、(label1, -label0)和(label0, -label0)形式的两点一边。再计算每一类二元组的节点数量总和,分别为m11、m10和m00,得到:
如果点和点之间的边是随机连接的,与他们本身的风险点(label)并无关系,那么m11和m10的期望值(如下公式计算得到)应该是相等的。
(点击可查看大图)
2、去掉超级节点
网络图[1]
二
风险交易图
在全量交易图中,包含着海量的数据,其中包含一些无关紧要的信息。这就需要对图进行“瘦身”,从而得到我们关注的信息——风险交易图。我们一般采取K跳算法对图进行瘦身。
(点击可查看大图)
三
风险社群1、连通图
(Connected Components)
连通图[2]
2、标签传播算法
(label propagation algorithm,LPA)
在实际应用中, LPA的迭代十分迅速有效率。但因为传播的随机性,划分结果并不稳定(甚至会出现标签震荡、两个点不能出现在同一个社区的情况)。如上图所示,四个节点为一个小社区在两次经过标签传播后,得到了完全不同的结果。LPA的另一个问题是在传播结束后,会看到有很多孤立的点不在任何社区内,在我们的例子中这样的节点占比超过了20%。
3、幂迭代聚类
(power iteration clustering,PIC)
维度变换[3]
① 输入按行归一化的关联关系矩阵W,和期望聚类数k;
② 随机选取一个非零初始向量;
③ 计算
④ 增加t,重复迭代步骤③,直到
为止;
⑤ 使用k-means对向量中的点进行聚类;
⑥ 输出社团C₁, C₂,..., C𝚔。
PIC的具体原理有更复杂的论证,具体可以参考这篇论文:power iteration clustering[4]。
PIC的特点是可以用提前停止(early stopping)来快速有效地找到特征向量(eigen vector),得到一个低维空间的映射,这个映射后的数据恰好是适合聚类的特征输入。这样,PIC会更均匀地切分社区,且不会有孤立点存在,很好地解决了LPA丢失太多孤立点的问题。如下图所示,我们以一个中心点加两圈同心圆的图为例,PIC在经过多轮迭代后,能完美地切分出三个社区。Power Iteration Clustering[5]
(点击查看大图)
那么在我们的实际例子中,基于这三种算法得到的社群到底是什么样的呢?我们通过下面这些统计值来看一下:
四
高危社群
2)根据S构建邻接矩阵W和度矩阵D,并算出拉普拉斯矩阵L;
3)计算L的前k个特征向量u1, …, uk,把u1, ..., uk组成矩阵U,U∈n×k;
4)U中的一行作为一个样本,对n个样本做K-means聚类,由此输出k个群落。
由于传统的谱聚类无法设定社区的最小规模,也无法避免最终输出时社区之间可能存在的大小失衡,我们采用以下这些优化过的算法:1、ACL
(Spectral Clustering with ACL Approximate PageRank Vectors)[6]
而ACL算法提出了一种近似算法得到特征向量,从而能大大地提高运行速度。ACL可以在指定点附近找到一个相对小的社区,且计算时间与这个小社区的规模成正比(对比整个网络图,可以节省计算时间)。与传统谱聚类不同的是,我们需要设定一个起始点和一些其他超参数来计算PR(PageRank)向量,并以一些条件来搜索社区。在我们的样本数据中,选取一个较大的子图,如下图所示,其中绿色表示订单,黄色表示与其有连接关系的实体(地址、电话号码、邮件等等)。在图中随机选择一个起始点,得到以通过acl算法筛选出的点为中心的局部社区,即在一个相对较大的联通图上得到更贴近目标节点的邻居节点。这些更有关系的邻居节点,用放大的节点表示。此外,在ACL的基础上使用l1-regularized PageRank(PR)这一优化目标,并用FISTA来得到最优解[7]。用上述的改良算法,应用在相同的样本和起始点,得到的社区与ACL完全一致。
(点击可查看大图)
2、MQI
(Max Flow Quotient Cut Improvement)[8]
在ACL探测完一个社区后,有时候这个社区还是相对较大或者连着旁枝末节。这时,我们可以使用MQI在已经寻找出的社区里寻找一个更优社区。
(点击可查看大图)
在得到这个社区之后我们就可以放大缩小坐标系,来查看聚焦的小社区,也可以做进一步的检验或分析。
总结
下一期“亿展宏图”,我们将介绍异构图的深度学习模型和xFraud异构图算法模型,敬请期待!
参考资料:
[1]https://www.acspri.org.au/summer-program -2020/network-analysis-social-business-and-political-research
[2]https://en.wikipedia.org/wiki/Strongly_connected _component
[3]https://www.earthdatascience.org/courses /earth-analytics/spatial-data-r/intro-to-coordinate -reference-systems/
[4]http://www.cs.cmu.edu/~wcohen/postscript /nips-2009-pic.pdf
[5]Power Iteration Clustering www.cs.cmu.edu /~frank/papers/icml2010-pic-final.pdf
[6]http://www.math.ucsd.edu/~fan/wp/localpartition.pdf
[7]https://arxiv.org/pdf/1602.01886.pdf
[8]https://link.springer.com/chapter/10.1007/ 978-3-540-25960-2_25
往期推荐
亿展宏图 第一篇|两张图入门图算法
亿展宏图 第二篇|图算法在eBay支付风控领域的应用
亿展宏图 第三篇|如何高性能训练图神经网络
点击阅读原文,一键投递
eBay大量优质职位虚席以待
我们的身边,还缺一个你