本文的内容基于对《Benchmark graphs for testing community detection algorithms》一文的总结,该文章名翻译过来就是测试社区检测算法的基准图,作者是Andrea Lancichinetti, Santo Fortunato, and Filippo Radicchi,因此也叫做LFR算法。
该算法如题目表达的一样,是为了生成一个能够用于测试社区检测算法优劣的网络。听起来好像很绕,只要记住一点,他的目的就是生成一个网络,而这个网络要满足一定的需求。具体的需求是什么呢,请看下文~
1.问题提出
在谈这个算法之前,需要知道网络、社区的概念。
先说网络,提到这个词,我们最快的应该是想到互联网,更深一点,可能会想到人际关系网之类。拿一个学校的人际关系网来说,把我们每个人看成一个节点,我们和他人的关系看作一条边,然后用边将节点之间联系起来,就形成了全校学生的一个社交网络。
学校社交网络形成后,我们可以猜想,他会有什么特点呢?很容易就会想到一点,我们可能会和我们同院系、同班同学认识的比较多,而与其他学院的同学可能就认识的比较少了,那在社交网络上是不是就呈现几个连接很紧密的小团体?这种小团体我们在网络中就可以称为社区(Community),或者叫做社团。
社区是复杂网络这门学科中很重要的概念,挖掘复杂网络中的社团也成了一个很重要的课题。其应用也有很多,比如通过社交关系发现社区的存在,并对同个社区的人们投放类似的广告。再比如很多电商企业通过某些地区的一些社团关系和社区人们的一些喜好,在某些地区的仓库投放更多的该商品等。
社区检测算法发展到现在,已经有很多算法涌向,但是如何评价这些算法的准确程度是很难的。对于一个真实网络,网络内部的社区结构并不是已知的,这样就无法很准确的衡量算法的精度。最好的方式生成一个人人工的网络,网络内部的结构已知,就能够比较了。
2.解决方案
文章中首先提出了一种较为简单的人工网络生成方案

LFR算法由Andrea Lancichinetti等人提出,旨在生成复杂网络的基准图以测试社区检测算法。该算法考虑了节点度的幂律分布和社区混合参数,模拟真实网络特性。通过配置模型生成网络,随机分配节点到社区并调整度分布,以创建接近真实网络的基准图。
最低0.47元/天 解锁文章
3318

被折叠的 条评论
为什么被折叠?



