论文导读 | 使用有偏随机游走进行带约束的局部图聚类

北京大学 庞悦

 

编者按

原文《Constrained Local Graph Clustering by Colored Random Walk》发表于WWW 2019,提出了一个新问题:带约束的局部图聚类(Constrained Local Graph Clustering),即种子结点(seed nodes)带有预先标定的聚类标签的图聚类问题;并给出一种基于有偏的随机游走(文章中称为Colored Random Walk)的算法解决此问题。

图片

图片

 

论文地址:

https://dl.acm.org/doi/abs/10.1145/3308558.3313719

(或点击文末“阅读原文”跳转)

 

 

一、问题背景及定义

 

 

 

图聚类(Graph Clustering,或称社区发现, Community Detection)以在图中识别出相互关联密切的结点集合(即聚类,或称社区)为目的。它是一个基本的图问题,也是许多实际应用的基础,例如推荐系统、医学诊断、社交网络和生物网络分析等。图聚类问题又可以进一步细分为两类:全局图聚类(Global Graph Clustering)局部图聚类(Local Graph Clustering)。虽然这两类问题的动机和目的类似,但问题定义有所不同:给定一张图,全局图聚类要求找出图中的所有聚类;而局部图聚类仅要求在给定的图中找出某个或某若干个给定的种子结点(seed nodes)所归属的聚类。因此,局部图聚类更适用于海量图场景。

种子结点的聚类标签可以发挥非常重要的作用。如果已知多个种子结点属于同一个聚类,将有助于把多个本来可能被分隔开的子聚类融合起来。例如下图是一个会议PC推荐系统中使用的论文合作关系图。已知Dr. Ke Wang和Dr. Kitagawa是PC候选人。

图片

如果单独从这两位学者之一出发进行聚类,将会找到与该学者紧密合作的学者群体,不符合会议的多样性要求。但是,如果事先已知他们属于同一科研社区,将他们作为两个种子结点联合发起局部图聚类,就能将原本分隔开的两个学者群体相融合(不一定如图所示为两个子聚类的简单并集,而可能额外加入与两个种子结点关系都较为密切的、排除仅与其中一个种子结点关系密切而与另一个无关的结点等),得到更具多样性的推荐结果。

更重要的是,如果已知多个种子结点属于不同的聚类,将有助于把一个看似是聚类的稠密子图分割成多个更符合实际语义的聚类。例如下图是用于自动诊断系统的胃病相似性网络,其中红色结点代表恶性胃病,蓝色结点代表良性胃病,结点之间的边代表相似性(文中未说明边是否具有权重及权重的定义)。已知图中的种子结点1代表一种恶性胃病,种子结点2代表一种良性胃病。

图片

如果不利用两个种子结点分属不同聚类的信息,单独从某个种子结点出发进行局部图聚类,将会得到近似于红色虚线的分界线,错误地将Polyps这种良性胃病划分为恶性。调用本文提出的算法、利用种子结点不同的聚类标签,则能得到蓝色实线分界线,成功将Polyps聚类为良性。

种子结点的聚类标签不仅有用,在实践中也不难获得:由于种子结点的数量不会太多,由用户或领域专家对它们的所属聚类进行人工标注并不困难。但是,在这篇工作发表前已有的局部图聚类方法要么只接受单个种子结点(如带重启的随机游走,即Random Walk with Restart),要么假定所有种子结点属于同一聚类(如个性化PageRank,即Personalized PageRank)。

为了在能够预先获取种子结点的聚类标签的场景下得到更高质量的聚类结果,这篇工作给出了带约束的局部图聚类(Constrained Local Graph Clustering)这一新的问题定义:给定一张图、某个或若干个给定的种子结点,以及所有种子结点的聚类标签(具有相同标签的种子结点属于同一聚类、具有不同标签的种子结点属于不同聚类),识别出所有种子结点所归属的聚类。

图片

 

二、方法框架

 

 

 

局部图聚类的计算目标是一个所有结点与种子结点之间的邻近度(proximity measurement)向量。计算结点间邻近度常用基于随机游走的方法,如带重启的随机游走。由于基于随机游走的方法能够有效利用图的局部结构、效率较高,本文选择基于带重启的随机游走进行改进以解决带约束的局部图聚类问题。

2.1 带重启的随机游走(Random Walk with Restart)

带重启的随机游走从给定的种子结点出发,在每个时间点,以α概率(称为前向概率,forward probability)向邻居结点游走(与边权成比例进一步划分概率),以1-α概率返回种子结点(称为重启, restart)。带重启的随机游走所定义的任意结点相对种子的邻近度为收敛时游走访问该结点的概率,此时邻近度向量即为狭义的Personalized PageRank向量。递推式如下:

图片

其中s和带上标的c均为长度为结点数量的访问概率分布向量,s为初始分布,除种子结点对应的元素为1以外全部元素为0;c^((t))为t时刻的分布。矩阵A为邻接矩阵,元素A_ji为结点i指向结点j的边权(若不存在由结点i指向结点j的边,则为0);矩阵B为带重启的随机游走的转移矩阵(transition matrix),元素P_ji为不重启的情形下结点i游走到结点j的概率,图片

 

带重启的随机游走可以扩展到有多个种子结点的场景,只需将初始分布向量s修改为除每个种子结点对应的元素为图片(n为种子结点的数量)以外全部元素为0即可;收敛时邻近度向量即为广义的Personalized PageRank向量。但是,如果多个种子结点属于不同的聚类,即使从属于不同聚类的种子结点分别发起带重启的随机游走,仍然无法充分有效利用聚类标签,因为缺乏由不同聚类发起的随机游走相互排斥的机制。

2.2 Colored Random Walk

为了有效利用种子结点的聚类标签信息,本文提出了基于带重启的随机游走改进得到的Colored Random Walk算法。算法的基本思想是:属于不同聚类的种子结点被染上不同颜色,由各种子结点发起的随机游走携带对应的颜色,将颜色传递到它访问的结点;同时随机游走被已具有相同颜色的结点吸引,被已经具有不同颜色的结点排斥,以达到更好地区分开不同聚类的效果。

实现上述机制的方法是对每个已知存在的聚类,即每种颜色,设置不同的转移矩阵,以计算出不同的概率分布向量,每个向量中某结点对应的元素为它属于该聚类的概率。即对第k种颜色,有如下递推式:

图片

其中图片即为第k种颜色对应的转移矩阵,与当前各种颜色的分布相关:(下式为逐元素相乘后正规化)

图片

图片为表示颜色间相互吸引或排斥作用的系数矩阵:

图片

即携带第k种颜色的随机游走从结点i游走到结点j的概率为原概率的图片倍,其中图片为结点j在每种颜色的分布向量中的概率值分别乘一个系数:若该颜色正是当前随机游走携带的颜色,系数为正,表示吸引,使转移概率增大;否则,系数为负,表示排斥,使转移概率减小。

然而,上述递推式中的转移矩阵图片不仅每种颜色各有不同值,而且会随时间而变。为了使Colored Random Walk收敛,需要将递推式进一步修改为以下形式:

图片

其中

图片

直观上,当ψ(t)→0时,显然有图片,也即图片会随时间而收敛,上述递推式也因此能够随时间而收敛。具体证明过程请参考原文。

将上述计算过程转写成一系列矩阵运算,就得到了算法的幂迭代(Power Iteration)版本: 

图片

2.3 加速策略

上述幂迭代算法实际上是在全图范围内寻找局部聚类,时间复杂度与图的总边数成正比,显然有加速优化的空间。加速策略的基本思想是将运算局部化,只对种子结点附近具有足够影响力的结点进行进一步搜索。影响力的度量即是结点在当前分布向量中的概率值。具体实现中,只对当前概率值大于θ的结点进行操作,将其当前概率值的α倍按转移矩阵推送给各邻居结点(伪代码第15行),1-α倍推送回种子结点(伪代码第17行):

图片

这一策略能使算法在真实图上的运行速度提升高达2个数量级。但是注意,2.2中为收敛性加入的ψ(t)被忽略,加速后算法中遵循的实际上是未考虑收敛性时的递推式,不能保证其能够收敛。本文通过对比真实图上两个算法版本最终得出的邻近性向量尝试证明实践中加速后的算法一般能收敛到相同的结果。

 

至此本文首次提出的带约束的局部图聚类问题、针对它提出的Colored Random Walk算法及其优化策略已大体介绍完毕,实验效果明显优于此前的局部图聚类算法,具体数据详见原文。

 

相 / 关 / 链 / 接

论文导读 | 滑动窗口模型下含重复边的图流上的三角形近似计数算法

论文导读 | 加速GPU上的三角形计数算法

论文导读 | 基于GPU的个性化PageRank实时计算

论文导读 | 基于顺序邻接表扫描的事务型图存储系统

gStore官网全新改版上线

图谱动态|学苑周刊 NO.37

导师访谈 | 邹磊:对数据科学以及本科生科研的思考

讲座录播|图数据管理与分析在线名家讲座-第七期

 

图片

图片

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值