北京大学 刘钰
原文《SimTab: Accuracy-Guaranteed SimRank Queries through TighterConfidence Bounds and Multi-Armed Bandits》收录于VLDB2020.
SimRank是一种经典的基于图结构的节点相似度衡量指标,由Jeh和Widom于SIGKDD2002提出。其很大程度受PageRank算法启发,主要思想为(1)每个节点与自身最相似(相似度为1);(2)两个节点的相似度递归的由它们所有入邻居的组合的相似度定义,即如果它们的邻居之间相似,则它们也比较相似。SimRank在社交网络、推荐系统乃至图嵌入(Graph Embedding)等领域有广泛应用,目前原始SimRank论文已有超过1500次引用。
除了递归的定义外,SimRank也有若干基于随机游走(Random Walk)的定义。例如,将从某个点开始的随机游走定义为每一步以1-\sqrt{c}的概率停止在当前节点,以\sqrt{c}的概率走到随机选取的某个入邻居节点。则节点u和v的SimRank相似度等于从u和v分别开始的两个随机游走在某个节点相遇的概率。需要注意的是,相遇的定义为两个随机游走的步数也相同。
由于SimRank的定义导致其具有较高的计算复杂度,在大规模图上计算SimRank一直是图相似度计算的热点研究问题。近年来,不少图数据管理领域的研究对单对(Single Pair)、单源(Single-Source)和任意点对(All-Pair)SimRank计算提出了相应算法,相关论文发表于数据管理和相关领域的国际顶级会议/期刊。不过,SimRank计算的效率和可扩展性问题很大程度上仍未解决;同时,提出的大部分算法为启发式算法,即计算的SimRank估计值与SimRank真实值间的误差没有理论上的精度保证;少部分算法给出了基于计算误差的理论保证,可适用于单源和单对查询等。
然而,实际应用中最多的两种查询,即Top-k查询和阈值(Thresholding)查询的直接研究工作较少;即使是有查询误差理论保证的单源算法也不能直接用于这两种查询而保证较好的精度。
本论文从另一角度出发,将Top-k和阈值SimRank查询建模为多臂赌博机(Multi-Armed Bandits,MAB)问题。具体来说,给定查询点u,对每个图中的节点v,将节点对(u,v)建模为一个arm,通过对不同arm进行反复采样得出查询结果。更严格的说,因为MAB算法的采样策略(此处称为Sample-one-arm策略)根据每个arm的估计值决定采样次数,可以实现理论上接近最优的采样复杂度。
此外,注意到已有MAB算法虽然保证了理论上的接近最优复杂度,但实际效率无法处理大规模图上的SimRank计算,即arm数量过多的问题。针对此,我们提出了适用于基于随机游走定义相似度的arm采样策略,即Sample-all-arms策略,大幅提升了算法的实际效率。同时,更仔细的分析发现算法的理论复杂度较已有MAB算法也得到了提升。
总体来讲,Top-k和阈值SimRank查询算法的框架由两部分构成。我们首先执行Sample-all-arms策略,不断排除不可能在结果中的节点;当候选节点数量足够少以至于使用Sample-one-arm策略处理每个节点复杂度更低时,算法切换到后一种采样策略继续执行。
除此之外,本文还提出了若干算法优化策略提升实际运行效率,包括使用更紧致的集中不等式(Concentration Inequality)、结合SimRank的局部遍历(Local Push)策略等。
本文提出的算法在理论计算复杂度、实际计算效率和计算结果的准确性三方面都较已有算法有很大提升。
在四个大规模图数据上的实验表明本文提出的算法具有明显的效率和准确度优势。同时,本文首次对两类查询做了详细的实验对比,分析了目前若干state-of-the-art SimRank算法的实际表现。
微信公众号“图谱学苑”每周发布最新知识图谱动态,专业知识图谱论文导读,欢迎关注投稿。