Detecting overlapping communities is essential to analyzing and exploring natural networks such as social networks, biological networks, and citation networks. However, most existing approaches do not scale to the size of networks that we regularly observe in the real world. In the paper by Gopalan et al. discussed in this week’s group meeting, a scalable approach to community detection is developed that discovers overlapping communities in massive real-world networks. The approach is based on a Bayesian model of networks that allows nodes to participate in multiple communities, and a corresponding algorithm that naturally interleaves subsampling from the network and updating an estimate of its communities.

The model assumes there are $latex K$ communities and that each node $latex i$ is associated with a vector of community memberships $latex \theta_i$. To generate a network, the model considers each pair of nodes. For each pair $latex (i,j)$, it chooses a community indicator $latex z_{i \rightarrow j}$ from the $latex i^{th}$ node’s community memberships $latex \theta_i$ and then chooses a community indicator $latex z_{i \leftarrow j}$ from $latex \theta_j$. A connection is then drawn between the nodes with probability $latex \beta$ if the indicators point to the same community or with a smaller probability $latex \epsilon$ if they do not.

This model defines a joint probability $latex p(\theta,\beta,z,y)$ where $latex y$ is the observed data. To estimate the posterior $latex p(\theta,beta,z | y)$, the method uses a stochastic variational inference algorithm. This enables posterior estimation using only a sample of all-possible node pairs at each step of the variational inference, making the method applicable to very large graphs (e.g analyzing a large citation network of physics papers shown in the figure below identifies important papers impacting several sub-disciplines).

One limitation of the method is that it does not incorporate automatic estimation of the number of communities, which is a general problem with clustering algorithms. Still, enabling sophisticated probabilistic analysis of structure in massive graphs is a significant step forward.