#podcast

Grand Theory of Social Networks

Anyone who knows me would be unsurprised that I have a grand theory for social networks (hence the title). In fact, this idea has been at the back of my head for many years (like with the dozen other things on the backburner), but a recent AI #podcast episode inspired me to see if there’s something to it. In fact, in 2016, I wrote some initial thoughts down, part of which I will reproduce below.

The generative models for social networks of yesteryear were these beautifully crafted simple models that yielded complex epiphenomena at scale. Small worlds/random ties produce small diameter; preferential attachment yields power law degree distributions. Are there other such simple ideas that can produce the complex dynamics of social network formation?

My hope is that homophily, together with the randomness of human personality/traits, might be the driving force of the social network realizations. Actually, I think it is the combination of having characteristics, and the relative ranking/disposition towards certain characteristics, that drives the global complexity of network. Thus, this dream falls in the realm of complexity theory.

Homophily

Let us model individuals as high-dimensional random vectors \(\in \mathbb{R}^{p}\) that correspond to different characteristics. The dimension of the ambient space, \(p\), shall vary, as it might be the case that the magnitude of \(p\) drives some of the emergent properties.1 For instance, one could claim that as civilization progresses, you have more characteristics to compare, which might then explain differences between rural and modern social networks. Similarly, the choice of the noise distribution (standard vs fat-tailed) might also have implications – for now, we default to Gaussian noise.

The basic idea is that relationships are formed based on similarity (vectors/individuals that are close in some metric should be friends). This idea is clearly not new – objects such as \(k\)-nearest neighbour graphs or the \(\epsilon\)-neighbour graph have been proposed and studied extensively. However, it seems they’re mainly used to generate ad-hoc similarity graphs, which is far removed from a social network.

The piece of insight from the podcast episode – and why I am revisiting this idea many years down the road – is that homophily on its own doesn’t really produce sufficiently complex graphs.2 What do I mean by this? Clearly (?) for any graph \(G\) there exists a set of vectors such that its similarity graph

set.seed(0)
n <- 5 # no. of people
p <- 10 # no. of characteristics
X <- matrix(rnorm(n*p), nrow=n)

Envisioning the Future

Some advice that Sergey Levine gave at the end of the AI #podcast is to envision what you would want to see solved, and then work backwards. It’s a very simple turn of perspective, but I think it might be helpful to try this exercise. For instance, clearly all this work I’m doing on matrix completion and collaborative filtering, it doesn’t feel like it’s in service of any higher goal.

Though, now that I’ve thought about it for a second, I wonder if this is a more difficult exercise in a field like statistics (less so in machine learning).

I think the things that drive me are sort of meta. There are things I want to see change.

Now that I’m thinking about this more, I realize that I think a lot like an academic in that I am interested in descriptive research, have sweeping generalizations of the phenomenon, but nothing prescriptive. Though the engineering side of my personality would disagree with that.

If I had to come up with concrete things that I want to accomplish:

Big Questions