【更新】社团检测(community detection)相关文献整理(2015-2018)

刚刚开始接触community detection相关的内容,在找资料和了解相关定义、算法的过程中发现自己的记录很混乱,所以借此记录下自己的一些学习过程,希望可以一起学习交流。

首先咱们来讨论一下文献查找,本文主要列出了机器学习、数据挖掘和人工智能领域的相关文献,我是直接搜索这些领域的相关会议,然后找到accepted papers,利用关键词(community)进行文章的查找和整理,当然也可以直接在百度学术、必应学术、谷歌学术等一系列搜索引擎中或者dblp之类的数据库利用关键词查找。其实深以为自己这样的查找方式有点低效,得一篇篇地看摘要,了解讲的啥才能知道是不是自己要找的文献,但是好像也没有更加高效的方法,毕竟要自己一步一步地去做,才能更了解。(所以我也不知道自己在说啥。。。)

好啦!现在来看看我选择的会议吧:

  • 机器学习(NIPS, ICML, ECML, COLT)
  • 数据挖掘(SIGKDD, ICDM, PAKDD, SDM, PKDD)
  • 人工智能(IJCAI, AAAI)

这些会议是相关领域内一些比较重要的会议,当然还有许多非常好的会议,我这边列得不全,可以自行查找。


文章列表

  1. 机器学习
  2. Community Detection on Evolving Graphs,NIPS2016

    ”In this paper, we study a model of clustering on evolving graphs that captures this aspect of the problem. Our model is based on the classical stochastic block model, which has been used to assess rigorously the quality of various static clustering methods. In our model, the algorithm is supposed to reconstruct the planted clustering, given the ability to query for small pieces of local information about the graph, at a limited rate. ”

  3. Community Detection via Measure Space Embedding,NIPS2015

    ”We present a new algorithm for community detection. The algorithm uses random walks to embed the graph in a space of measures, after which a modification of k-means in that space is applied. ”“We evaluate the algorithm on standard random graph benchmarks, including some overlapping community benchmarks.”

  4. GraphRNN: Generating Realistic Graphs with Deep Auto-regressive Models,ICML2018

    However, modeling complex distributions over graphs and then efficiently sampling from these distributions is challenging due to the non-unique, high-dimensional nature of graphs and the complex, non-local dependencies that exist between edges in a given graph. Here we propose GraphRNN, a deep autoregressive model that addresses the above challenges and approximates any distribution of graphs with minimal assumptions about their structure. GraphRNN learns to generate graphs by training on a representative set of graphs and decomposes the graph generation process into a sequence of node and edge formations, conditioned on the graph structure generated so far.

  5. Community Recovery in Graphs with Locality,ICML2016

    “we study the problem of community recovery in graphs with locality. In this problem, pairwise noisy measurements of whether two nodes are in the same community or different communities come mainly or exclusively from nearby nodes rather than uniformly sampled between all node pairs, as in m

  • 11
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
Girvan-Newman算法是一种基于图的社团检测算法,可以用来识别网络中的社团结构。它基于图的边介数(edge betweenness)的概念,该概念指的是在所有最短路径中经过某条边的次数。该算法的基本思想是:不断地割掉介数最大的边,直到图被分为若干个连通分量或者达到预设的社团数量为止。 在Python中,可以使用networkx库来实现Girvan-Newman算法。具体步骤如下: 1. 构建图:使用networkx库中的Graph()函数构建一个无向图。 ```python import networkx as nx G = nx.Graph() ``` 2. 添加边:使用add_edges_from()函数添加图的边。 ```python G.add_edges_from([(1,2), (1,3), (2,3), (2,4), (3,4), (4,5)]) ``` 3. 计算边介数:使用betweenness_centrality()函数计算每条边的介数。 ```python eb = nx.edge_betweenness_centrality(G) ``` 4. 删除介数最大的边:使用edge_betweenness()函数找到介数最大的边,并使用remove_edges_from()函数删除这些边。 ```python max_eb = max(eb.values()) for k, v in eb.items(): if v == max_eb: G.remove_edge(k[0], k[1]) ``` 5. 重复步骤3和步骤4,直到达到预设的社团数量或者图被分为若干个连通分量为止。 ```python def girvan_newman(G, k): c = list(nx.connected_components(G)) while len(c) < k: eb = nx.edge_betweenness_centrality(G) max_eb = max(eb.values()) for k, v in eb.items(): if v == max_eb: G.remove_edge(k[0], k[1]) c = list(nx.connected_components(G)) return c girvan_newman(G, 2) ``` 上述代码将图分为两个社团,并返回每个社团的节点集合。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值