AAAI 2023 | 基于Conductance的高效率和高质量的图聚类算法

news2024/11/18 7:27:49

点击蓝字

d998cd0d2fa642681c43472de04780a0.jpeg

关注我们

AI TIME欢迎每一位AI爱好者的加入!

╱ 作者简介╱

dcf32b3d787d16143bff5238eb801189.png

林隆龙

博士、副教授

目前任职于西南大学计算机与信息科学学院 软件学院。2022年6月于华中科技大学计算机科学与技术学院获博士学位。目前主要研究兴趣包括(时序)社区挖掘、局部聚类、Personalized PageRank计算、图神经网络的可扩展算法设计等领域。目前发表论文于AAAI,TSMC, ICDCS, TBD, DASFAA, JCST等顶级期刊/会议论文

01

内容简介

图聚类是一个重要的算法基础,它被广泛地应用在图像分割、社区发现、机器学习等领域。一般地,图聚类旨在将一个完整的图划分为几个互不重叠的簇,使得每个簇的内部有较稠密的边,而簇之间有较稀疏的边。许多图聚类的模型被提出,比如,模块度、结构聚类以及稠密子图。其中,基于Conductance的图聚类是当今最为主流的一种方式,它有很好的结构性质以及坚固的理论基础。然而,目前的基于Conductance的图聚类算法面临可扩展性低和质量差的困境。为了更好地解决上述困境,我们提出了一种基于Peeling的贪婪计算框架,它能囊括现存方法的计算范式。基于该框架,我们提出了一个高效率的启发式算法PCon_core和一个高效率和高质量的近似算法PCon_de。其中,PCon_de具有线性的时间复杂度和近似线性的近似比。

02

Problem Definition & Applications

Background

图聚类是一个非常重要的理论和实际问题,它旨在将一个图划分为不同的簇,使得簇内部的联系或者边较簇之间的联系更多。用通俗的话解释就是:物以类聚、人以群分。

49034c90313eb17bc203f45c74715f0e.png

基于这种直观,学者们提出了大量的模型,主要包括两大类。第一类是图论模型,包括Clique、Quasi-Clique、K-truss、K-core、Densest subgraph和K-ECC等。第二类是统计物理模型,包括Betweenness Centrality、Modularity、Conductance、Graph Partitioning等。而这里我们主要关注的是Conductance,这是因为Conductance能更好地符合图聚类的直观,并且它有很好的理论保证,与图代数中的谱图理论也有较多的联系。

Problem Definition: 

Conductance-based Graph Clustering

Conductance:给出一个无向图G,基于Conductance的图聚类旨在找到具有最小Conductance的顶点集C。Conductance的定义是一个比值的关系,即

8c19f4ecb326ecad5debcd73962f6be6.png

式中,分子是基于edge cut来定义的,分母的取值是顶点集C中结点度数和与补集度数和差值的最小值。我们最终的研究目的是希望Conductance的值最小,即分子最小(与外部联系最少),分母最大(C内部结点度数最多)。

Applications

Conductance也有很多应用。比较经典的应用是图像分割、社区发现、机器学习。

03

Existing Solutions

现存的基于Conductance的图聚类方法主要分为三类。第一类是基于费德勒向量(Fidler Vector)的图聚类;第二类是基于扩散的局部聚类,主要目的是得到查询结点与其余结点之间的关系,比较经典的三种方式分别是Truncated Random Walk、Personalized PageRank、Heat Kernel PageRank;第三类是除了上述两类方法以外的方式,代表性的有SDP、LP、Flow-based等。

Fiedler vector-based spectral clustering

该方法主要分为三个步骤:(1)计算归一化拉普拉斯矩阵(D-1/2(D-A)D-1/2)的第二小特征值对应的特征向量x,其中x称为费德勒向量。(2)对x中的所有项按照递增的方式进行排序,使得xv1≤xv2≤…≤xvn。(3)输出S=arg minφ(Si),其中Si={xv1,xv2,…,xvi}。

该方法的优势在于通过顺序的学习将指数的组合转化成线性的组合,缺点是第一步中计算第二小特征值的过程较慢,时间复杂度为O(n3)。

Diffusion-based local clustering

为了解决上述方法存在的问题,研究者们提出了基于扩散的局部聚类方法。该方法的主要步骤为:(1)给定一个种子节点q,它们通过一些图扩散的方式(比如:Truncated Random Walk、Personalized PageRank、Heat Kernel PageRank)计算一个概率分布π (w.r.t q),令y= π/D,其中D为对角度矩阵。(2)对y中所有非零项进行排序,使yv1≥yv2≥…≥ysup(y),其中sup(y)是y中非零项的个数。(3)输出S=arg minφ(Si),其中Si={yv1,yv2,…,yvi}。这种方式在效率上会提升很多,但是聚类质量不高。

Deficiencies of Existing Solutions

该表显示了现有解决方案的不足,有两种基于特征向量的方法,即SC和ASC。有三种基于扩散的方法。从表中可以看出,基于特征向量的算法具有较高的时间和空间复杂度。基于扩散的方法没有全局Conductance保证的启发式方法。

6ec9950d8177f67453eff77285912983.png

04

Proposed Solutions: PCon_core & Pcon_de

Our Solution——Framework

由于之前工作的不足,我们提出了一个三阶段计算框架,它包含了大多数现有方法的计算范式。即现有的解决方案可以被归纳为以下三个阶段:(1)我们根据相应的应用为每个顶点给出一个预先定义的得分函数。简单来说,我们用s(u)表示顶点u的分数。(2)我们迭代地删除分数最小的顶点。这样的迭代删除过程被称为Peeling过程。(3)我们输出Peeling过程中Conductance最小的结果。但如何设计一个有效的得分函数并能有效地得到是该框架的一个重大挑战!

Degeneracy Ordering

给定一个无向图G,在G的所有顶点上的一个排列(u1,u2,…,un),如果每个顶点ui在G的子图中由ui, ui+1,…,un所构成的子图中度数最小,这样的排序称之为Degeneracy Ordering。

PCon_core

在上述框架的基础上,我们首先利用著名的Degeneracy Ordering提出了一种简单的算法PCon_core。该算法的输入为无向图,输出为聚类S。我们使用简并排序来计算出Degeneracy Ordering,并分配顶点u的分数s(u)。显然,Pcon_core具有线性的时间和空间复杂度,但在质量方面它是启发式的,没有全局的Conductance保证。

917bb6ca6feb536bfabedca2d5bf907d.png

那么如何在不牺牲效率的前提下提高聚类质量?我们尝试将Conductance进行一个转换,证明在vol(S)小于m的情况下,g(S)的值最大。那么进一步能够证明最优的Conductance的顶点集的顶点有

2b024f41848661c2885244319cfa4031.png

的结论,进而我们将其做出形式化的定义——度比,即u在S内部的度数与u在整个原始图度数的比值,这其实也是对顶点u赋予一个分数值。

732e3b223942329bbccf0e790201936f.png

PCon_de

于是,我们设计了一种称为PCon de的线性时间贪婪算法——PCon_de。该算法首先将当前搜索空间S初始化为V,候选结果为V,并且根据定义,每个顶点u∈S的度比为DrS(u)。随后,它在每一轮中执行贪心去除过程以提高目标簇的质量。具体来说,在每一轮中,它都会获得一个度数比最小的顶点u。第5-11行中更新当前搜索空间S、候选结果(如果有)和DrS(v)。一旦当前搜索空间为空,迭代就会终止。最后,返回作为近似解。

e4a66758da5ad504ef6cc0cd7ee0db02.png

05

Experiments

Datasets

我们在六个现实生活中的公开数据集上评估了我们提出的解决方案,这些数据集是基于Conductance的图聚类的广泛使用的基准。实验中使用了这些数据集的最大连通分量。我们还使用五个人造图LFR、WS、PLC、ER和BA。以下六个竞争对手被实施以进行比较:基于特征向量的方法:SC和ASC;Diffusion-based methods: NIBBLE PPR、HK Relax;Flow-based methods: SimpleLocal、CRD。

4acdf38cf0ec72b2c9e061bc2cb69d29.png

Results on real-world graphs

由下表可以看出:(1) PCon_core和P Con_de在大多数图上始终比其他方法更快,尤其是对于较大的图。特别是,它们在DBLP、Youtube、LJ和Twitter上分别实现了SC的5、14、42和17倍的加速。(2) PCon_core比PCon de稍快,但PCon_core的Conductance值较差。(3) PCon_de返回的聚类质量在六个数据集中的五个上优于其他方法。因此,这些结果清楚地表明,与基线相比,所提出的算法可以实现显著地加速和高聚类质量。

4ac29a3fb648ac7bea63a32f74c9dc11.png

从图4中,我们可以看到PCon_core和PCon_de的内存开销在所有数据集上始终小于SC。特别地,与SC相比,它们节省了1.4∼7.8倍的内存开销。这是因为PCon_core和PCon_de只需要线性空间复杂度来计算每个顶点的分数。然而,SC采用矩阵的特征向量来计算每个顶点的得分,因此在最坏情况下需要平方空间复杂度。这些结果表明PCon_core和PCon_de的内存消耗更低。

fdedbe71d5d61b1373ce215d6762e1c1.png

Results on synthetic graphs

我们进一步使用人造网络来评估我们提出的解决方案的可扩展性和有效性。特别地,我们只展示了图5(a)中顶点数量不同的ER的可扩展性,但所有其他合成图都有类似的趋势。可以看出,PCon_core和PCon_de 相对于图的大小接近线性。然而,SC的可扩展性较差,因为它的时间成本随着图大小的增加而波动很大。这些结果表明我们提出的算法可以处理大量图,而SC不能。

9ae8c1b7dcda3935addb2ff4b50cc84b.png

我们使用四个合成图LFR、WS、PLC和BA来评估我们提出方案的可扩展性,图6显示了结果。可以看出,PCon_core和PCon_de 相对于图的大小接近线性。因此,这些结果表明我们提出的算法可以处理大规模图。

fb802250ba8dbd9d7287272c13a8f190.png

06

Summary

(1)我们引入了PCon,这是一种新颖的基于Peeling的图聚类框架,它可以包含大多数最先进的算法。

(2)在PCon上,我们开发了两种新颖且高效的算法,具有线性时间和空间复杂度。一种是旨在优化效率的启发式算法,另一种是可以获得可证明聚类质量的近似算法。

(3)在真实和人造数据集上的结果表明,我们的算法可以在保证高聚类精度的情况下实现5~42倍的加速,而使用的内存比基线算法少1.4~7.8倍。

整理:陈研

审核:林隆龙

点击“阅读原文”跳转可以查看回放哦!

往期精彩文章推荐

919bd18a227b86dcf8defe85ce49e32e.jpeg

记得关注我们呀!每天都有新知识!

 关于AI TIME 

AI TIME源起于2019年,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法和场景应用的本质问题进行探索,加强思想碰撞,链接全球AI学者、行业专家和爱好者,希望以辩论的形式,探讨人工智能和人类未来之间的矛盾,探索人工智能领域的未来。

迄今为止,AI TIME已经邀请了1000多位海内外讲者,举办了逾500场活动,超500万人次观看。

bafbc671e04dda1c2057d2d67b098ed4.png

我知道你

在看

~

4bf3f1c94208b8e1d75c5301b46000f8.gif

点击 阅读原文 查看回放!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/437996.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Altium Designer 20 导出 Gerber 制造文件流程及注意事项

一、导出 Gerber 流程 设置原点:在Edit菜单中选择Origin-Set (快捷键E-O-S)定好原点,一般放在左下角附近即可。 放置分孔图表:在Place菜单中选择String放置“.Legend”(快捷键P-S)…

C++多线程编程(一) thread类初窥

多线程编程使我们的程序能够同时执行多项任务。 在C11以前,C没有标准的多线程库,只能使用C语言中的pthread,在C11之后,C标准库中增加了thread类用于多线程编程。thread类其实是对pthread的封装,不过更加好用&#xff…

ThreadLocal的相关面试题

ThreadLocal的特点:实现线程间的资源隔离,实现线程内的资源共享 2.原理是,每个线程都有一个ThreadLocalMap类型的成员变量,用来储存资源对象 1.调用set方法,就是以ThreadLocal自己作为key,资源对象作为val…

《花雕学AI》比尔・盖茨:AI 和 ChatGPT 可以改善人类生活,但也要防止滥用和危害

3月21号,微软创始人比尔盖茨,发表最新AI文章《人工智能时代已经开始——人工智能与手机、互联网一样具有革命性》,文章中表示:「自1980年首次看到图形用户界面(graphical user interface)以来,O…

通过logstash实现mysql与es的双向数据同步

参考题目 一种基于MySQL和Elasticsearch的数据同步方法及系统基于MySQL和Elasticsearch的数据同步方法一种基于MySQL和Elasticsearch的数据同步系统基于MySQL和Elasticsearch的数据同步技术 目录 1【理论调研】 方案1:使用Logstash实现数据同步 方案2&#xff1a…

Spring MVC基本认识与操作

SpringMVC是隶属于Spring框架的一部分,主要是用来进行Web开发,是对Servlet进行了封装。 先来介绍三个概念: SpringMVC是处于Web层的框架,所以其主要的作用就是用来接收前端发过来的请求和数据然后经过处理并将处理的结果响应给前…

SpringCloud 微服务系列——【基础与服务注册中心详解】

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

文本批量翻译-批量翻译文件名

批量将英文翻译成中文的软件 批量将英文翻译成中文的软件的主要用途场景主要是在需要大量翻译英文文本到中文的场景下使用,例如: 商务文件翻译:许多企业需要将其商务文件,如合同、报告、信函等翻译成中文,以便其中文读…

HTML5 <p> 标签、HTML5 <pre> 标签

HTML5 <p> 标签 实例 HTML5 <p>标签用于定义一个段落。请参考下述示例&#xff1a; 以下代码标记了一个段落&#xff1a; <p>这是一个段落。</p>尝试一下 (在页面下部&#xff0c;您可以找到更多实例) 浏览器支持 目前大多数浏览器支持 <p>标…

java健身房会员签到,会员提醒,留言,消费,公告

1. 主页&#xff1a;即时登录,提供会员和管理员的登录。 2. 会员卡办理&#xff1a;登记健身会员的信息,设置卡到期时间。 3. 会员消费系统&#xff1a;对健身会员的日常消费进行添加。 4. 在线交流&#xff1a;健身会员之间的交流,管理员可以对其问题进行回复。 5.提醒功能&am…

一篇文章快速入门Spring AMQP

文章目录 一、AMQP二、Spring AMQP2.1 介绍2.2 SpringAMQP发送消息2.3 SpringAMQP接收消息2.4 WorkQueue模型2.4.1 概念2.4.2 示例 2.5 发布订阅模型2.5.1 介绍2.5.2 Fanout Exchange2.5.3 Direct Exchange2.5.4 Topic Exchange 2.6 消息转换器2.6.1 介绍2.6.2 切换消息转换器 …

重写equlas时为什么一定要重写hashcode方法?

equals方法和hashCode方法都是Object类中的两个基本方法&#xff0c;它们共同来判断两个对象是否相等。为什么要两个方法结合起来使用呢&#xff1f;原因是在 ‘性能’ 上面。 使用过 hashMap 我们知道&#xff0c;通过 hash 计算 &#xff0c;可以快速的在常量时间内找到某个…

webpack基本认知,它是什么,做什么的

一、基本概述 webpack本质是, 一个第三方模块包, 用于分析, 并打包代码 支持所有类型文件的打包支持less/sass > css支持ES6/7/8 > ES5压缩代码, 提高加载速度 二、安装 创建一个文件并运行以下命令&#xff1a; npm init -y npm i webpack webpack-cli -S 运行命令…

DNS域名解析服务

目录 一、DNS的简介 1&#xff09;DNS 数据结构分布 2&#xff09;服务器的类型 3&#xff09;DNS 域名解析方式 4&#xff09;DNS的查询方式 递归查询 迭代查询 二、DNS配置 1&#xff09;两台主从服务器进行配置操作 ​编辑 2&#xff09;DNS主域名服务器配置&am…

ITSS服务经理 、服务工程师线上开班在即

为了促进企业信息技术服务-运行维护服务能力&#xff0c;全面系统的提升员工的IT服务知识和技能水平&#xff0c;且更好的满足参训企业的时间需求&#xff0c;我司将于5月份开展ITSS服务经理、服务工程师线上班。 日期和形式 五月份&#xff1a;ITSS服务项目经理&#xff1a;…

Qlik Sense 集合表达式详解

文章目录 1 概述2 集合表达式 expression2.1 标识符 identifiers2.2 修饰符 modifiers2.2.1 多值用 &#xff0c;隔开2.2.2 引号区分大小写2.2.3 搜索 2.3 运算符 operators 3 应用 1 概述 #mermaid-svg-bQWKUrD934SlJaj9 {font-family:"trebuchet ms",verdana,arial…

电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

营造全面规范安全的电子招投标环境&#xff0c;促进招投标市场健康可持续发展 传统采购模式面临的挑战 一、立项管理 1、招标立项申请 功能点&#xff1a;招标类项目立项申请入口&#xff0c;用户可以保存为草稿&#xff0c;提交。 2、非招标立项申请 功能点&#xff1a;非招标…

CompletableFuture的基本使用和原理

CompletableFuture CompletableFuture是对Future的扩展和增强。CompletableFuture实现了Future接口&#xff0c;并在此基础上进行了丰富的扩展&#xff0c;完美弥补了Future的局限性&#xff0c;同时CompletableFuture实现了对任务编排的能力。借助这项能力&#xff0c;可以轻…

如何将matlab的m文件转换成python文件

因为matlab的内存实在太大了&#xff0c;所以我只在实验室电脑安装了matlab&#xff0c;自己电脑没有安装&#xff0c;现在跑实验需要把matlab文件转成python文件。在网上找到可以使用smop小工具。 我是在本地的anaconda转换的。先创建一个新环境到指定路径 conda create --pr…

HttpWebRequest类

HttpWebRequest类与HttpRequest类的区别。 HttpRequest类的对象用于服务器端&#xff0c;获取客户端传来的请求的信息&#xff0c;包括HTTP报文传送过来的所有信息。而HttpWebRequest用于客户端&#xff0c;拼接请求的HTTP报文并发送等。 HttpWebRequest这个类非常强大&#…