Efficient Graph Summarization using Weighted LSH at Billion-Scale

文章目录

  • ABSTRACT
  • 1 INTRODUCTION
  • 2 CORRECTION SET BASED GRAPH SUMMARIZATION
  • 3 PROPOSED METHOD
  • 4 EXPERIMENTS
  • 5 RELATED WORK
  • 6 CONCLUSION


ABSTRACT

就运行时间和可伸缩性而言,当前技术的计算中有几个步骤是严重的瓶颈。因此,本文提出LDME算法,其中引入了

  • 加权局部敏感哈希(weighted LSH)
  • 一种计算最佳归并的有效方法
  • 一种新的基于排序的编码算法

1 INTRODUCTION

由于大规模图的广泛应用,以及其规模还在已惊人的速度增长,因此将图压缩必不可少。图汇总便是其中一种,它可以减少原始图空间占用、高效回答查询和数据可视化。它可以通过分组、减少表示图所需要的位以及删除不重要的节点和边来构建。其中基于组更常见,这种方法里目前最先进的基于校正集的图摘要算法是SWeG,但是它有三个问题,合并算法时间复杂度为组大小的平方,合并算法采用近似度量寻求好的合并,编码算法复杂度为超点数量的平方,在大规模图表现不佳。而本文的LDME基于以上三点都做了改进,它引入了加权局部敏感哈希来减少合并阶段的计算量,使用了一种计算最佳合并的有效方法,并实现了更快、更可扩展的编码算法。

2 CORRECTION SET BASED GRAPH SUMMARIZATION

CGS符号描述
Efficient Graph Summarization using Weighted LSH at Billion-Scale_第1张图片

  • 通过CGS重建原始图步骤
    对超边所对应的两个超点表示的点集合做笛卡尔乘积,获得的边放入E,再将C+里的边填入E,C-的边从E中删除

  • 图汇总问题形式化描述
    Efficient Graph Summarization using Weighted LSH at Billion-Scale_第2张图片

  • 算法框架
    首先对超节点集合进行初始化,然后在每次迭代中合并节点,而SWeG在合并之前先对节点进行划分,最后在对节点编码即可。
    划分步骤:目的是提高速度、内存效率和并行性。通过使用shingle函数对其进行划分,相同的shingle值放到同一组里
    合并超节点

Efficient Graph Summarization using Weighted LSH at Billion-Scale_第3张图片
接下来给出了Saving函数的定义,但是由于计算成本昂贵,因此采用它的近似函数SuperJaccard来代替。
对边编码:利用合并得到的超节点集合,将E中的边编码成P、C+、C-。
删除边:从汇总图和校正集中删除一些边,使其更紧凑,但仍要满足约束。

3 PROPOSED METHOD

算法整体框架
Efficient Graph Summarization using Weighted LSH at Billion-Scale_第4张图片

  • 加速合并步骤
    SWeG在随机选出一个超点后,然后遍历组里每一个超点,选出最合适的作为它的配对点。这是平方级别的,需要降低复杂度。SweG在合并时使用SuperJaccard(后面简称SJ)作为近似度量,而LDME则是在划分时使用。为了避免对于每一对超点计算SJ,LDME使用LSH作为辅助对相似项进行划分,因为SJ可以被转换为加权Jaccard相似度。

  • 基于加权LSH的划分
    证明SJ与加权Jaccard相等,基于LSH的划分算法可以划分出更多更小的组,确保相似度高的超点尽量在同一组里

  • 更新的划分步骤
    对于任意的稀疏加权向量Va和Vb,Va和Vb的二值化形式有相同的DOPH签名的概率近似Va和Vb的加权Jaccard相似度,因此问题又转化为求超点的DOPH值,在根据DOPH值对超点进行划分。
    有如下算法:
    Efficient Graph Summarization using Weighted LSH at Billion-Scale_第5张图片
    Efficient Graph Summarization using Weighted LSH at Billion-Scale_第6张图片

  • 调优性能
    可以通过调整k来调优算法性能,k提高可以使得运行时间减少,但是压缩率减小,而且划分组的数目也可以由k来调整,具体等于(n/k+1)^k

  • 高效计算saving
    这里直接计算saving,不通过SuperJaccard近似,时间也不多于SJ。
    Efficient Graph Summarization using Weighted LSH at Billion-Scale_第7张图片
    在合并完A与B后,需要针对其中较小的超点对应的哈希表键集进行更新,最终将该点从哈希表中删除。

  • 改进编码步骤
    原始的编码算法需要对每个超点A,遍历V中所有点去获得与A有共同边的超点,这显然有有较大的开销,主要由于对每个超点计算、存储和查找相关边。

  • 更新的编码步骤
    基本思想是将E中的边e和包含e的超边s作为二元组加入集合L,然后根据s对L进行划分,每一组的超边都一样,再根据相应的规则决定是否编码一条超边。我认为SWeG算法里一个超点要和其他所有超点做操作,但是LDME算法的超点,只需和相连的超点做运算。
    Efficient Graph Summarization using Weighted LSH at Billion-Scale_第8张图片

  • 时间复杂度
    在这里插入图片描述
    其中S*为划分后最小的组,它表达式和SWeG类似,但是LDME的组大小却小很多,所以复杂度低很多。

  • 空间复杂度
    空间上主要用于存原图,压缩图、C+、C-、哈希表、划分后的组、签名和编码列表,最终的复杂度在O(E)

  • 并行实现描述

    • 超点的DOPH值的运算可并行
    • 划分后组的合并可并行
    • 对编码阶段每个超点并行化

4 EXPERIMENTS

实验的数据集
Efficient Graph Summarization using Weighted LSH at Billion-Scale_第9张图片

  • LDME v.s SWeG
    指标:

    • 压缩
    • 总运行时间
    • 划分和合并时间
    • 编码时间
      总体来看,LDME20的压缩率比SWeG低,比LDME5低。而在总运行时间、合并时间和编码时间上,LDME20好于LDME5,远远好于SWeG。这在更大数据集上依然如此,LDME20只比LDME20的压缩率少一点,但有更快的运行速度,而SWeG却不能运行完。
  • 调整k的结果
    增加k导致分组的增加,所有组中最大的组大小减小

  • LDME vs. Mosso and VoG
    LDME运行速度好于Mosso,好于VoG 40倍以上

  • 分布式实验环境
    LDME5实现了3到23.8倍的加速,LDME20实现了3.1到36倍的加速。而SWeG不能在12小时内完成AR数据集

  • 随机块模型实验
    根据输入点的数量和块矩阵,可以产生随机的图。在这种图上运行,LDME20>LDME5>SWeG>MoSSO>VoG(随着密度的增加,VoG时间增加非常大)

5 RELATED WORK

Graph Summarization

  • 基于分组
    • 非校正集
    • 校正集
  • 不基于分组

Navlakha et al.提出使用校正集,合并中选择best savings的超点,SAGS使用LSH替代Saving or Superjaccard,而VoG使用已存在聚类算法去找候选子图去总结。这些在保持可扩展性时不能实现高程度压缩。SWeG比RANDOMIZED 和 SAGS都要好,MoSSo是使用校正集来进行动态图总结。

6 CONCLUSION

LDME在SWeG的划分、合并和编码步骤上进行了改进,使用加权LSH进行划分可以对LDME调优,在运行时间和压缩上做权衡。LDME总的来说好于SWeG很多。

你可能感兴趣的:(算法,数据结构,数据挖掘)