网站大量收购独家精品文档,联系QQ:2885784924

051-社区检测算法之“模块最大化”【萌萌家】.pdf

051-社区检测算法之“模块最大化”【萌萌家】.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

051|社区检测算法之“模块最大化”

2017-12-29洪亮劼来自北京

《AI技术内参》

一起来回顾下本周的内容。周一我们介绍了用图(Graph)来表达网页与网页之间的关系并计

算网页的重要性,就是经典的PageRank算法。周三我们介绍了PageRank的一个姊妹算

法,HITS算法,并且分析了这两种算法的内在联系,这两类算法都希望给网页赋予一个权重

来表达网页的重要性。

今天,我们来看一类完全不一样的网页分析工具,那就是希望把网页所代表的图分割成小块的

图,或者叫图聚类,每个小聚类代表一个“社区”。这类分析有时候被称作图上面的“社区检

测”(CommunityDetection),意思就是从一个图上挖掘出潜在的社区结构。

社区检测的简要历史

提到社区检测就不得不提到这么一位学者,他与我们今天要介绍的算法有非常紧密的联系,而

且他的研究在2000年~2010年间成了社区检测研究的标杆,影响了后续的大量研究工作。

这位学者就是密歇根大学(UniversityofMichigan)的物理学教授马克·纽曼(Mark

Newman)。

1991年,纽曼从牛津大学获得理论物理博士学位。在接下来的10年里,他在康奈尔大学和

圣塔菲学院(SantaFeInstitute)分别担任博士后研究员和研究教授。2002年,纽曼来到密

歇根大学物理系担任教授,并且一直在这里进行网络科学(NetworkScience)的基础研究。

2006年,纽曼在《物理评论》杂志上发表了一个叫“模块最大化”(Modularity

Maximization)的社区检测算法。从某种程度上来说,这个算法很快就成了社区检测的标准

算法,吸引了研究领域的广泛关注,激发了大量的针对这个算法的分析和研究。对这个算法的

最原始论述,请参阅参考文献[1]和[2]。

今天我们就来讲一讲这个“模块最大化”算法的基本原理。

模块最大化的基本原理

在我们讲解模块最大化算法之前,我们先来看一看“社区”的含义。在图分析以及网络科学

中,“社区”定义为一组结点,它们互相之间的联系比它们跟社区之外结点的联系要更加紧

密。你可以注意到,在这个定义中,什么叫紧密,怎么来衡量“更紧密”这个关系都是没有说

明的,这就为各类社区检测算法或模型带来了很大的发挥空间。

社区检测(有时候也说社区发掘)算法的核心就是要根据给定的一组结点和它们之间的关系,

在无监督的情况找到这些社区,并分配哪些结点属于哪个社区。

我们先来谈一谈“模块最大化”的一个整体思路。这里,我们讨论一种简化的情况,那就是如

何把一个网络分割成两个社区。首先,算法按照某种随机的初始化条件,把网络分成两个社

区。然后,算法逐一检查每一个结点,看如果把这个点划归到另外一个社区的话,会不会增加

“模块化”这个目标函数。最终,算法决定改变那些能够最大化模块化目标的结点的社区赋

值。然后整个算法不断重复这个过程,直到社区的赋值不再发生变化。

现在我们来讨论一下模块化这个目标函数。根据上面提到的社区含义,我们希望社区里结点之

间的联系紧密。在模块化目标函数里,就表达为两个结点的连接数目减去这两个结点之间的

“期望连接数”。模块化最大化说的就是,对于同一个社区中的所有结点,我们希望这个差值

的和最大化。什么意思呢?就是说,如果我们把两个结点放到一个社区中,那它们的连接数

(其实就是1或者0)要足够大于它们之间的连接数的期望值,这就解决了我们刚才所说的如

何来衡量“更加紧密”的难题。

那么,怎么来定义两个结点之间的“期望连接数”呢?最初纽曼在介绍模块最大化的时候,他

给出了这么一个计算方法。那就是,用两个结点各自的总连接数相乘,除以整个网络的总连接

数的2倍。直观上说,这是在衡量这两个结点之间出现任何连接的可能性。

那么,整个模块最大化的目标函数就是,针对现在网络中的所有结点,根据它们是否在同一个

社区,我们计算他们两两之间的模块化数值,也就是它们之间的连接减去“期望连接数”,最

后对所有的两两配对进行加和。我们希望这个目标函数最大化,这个目标函数中的未知数,就

是社区的分配,也就是哪个结点属于哪个社区。一旦社区的分配已知,整个模块最大化这个目

标函数的数值就可以很容易地计算出来。

那么如何得到这些社区的分配呢?和我们之前介绍的PageRank以及HITS的思路类似,纽曼

使用了矩阵的表达方法对整个模块最大化进行了一个重构,经过一系列代数变形之后[1],纽

曼得到了一个新的目标函数,那就是一个向量s的转置,乘以一个矩阵B,然后再乘以向量

s,最后除以4倍的网络

文档评论(0)

133****9720 + 关注
实名认证
内容提供者

物业管理师证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年04月23日上传了物业管理师证

1亿VIP精品文档

相关文档