[Opinion|Idea] Using the Social Graph as an Artifical Neural Network (ANN)
What would come of applying this theory to social networks (and other occurrences of graph patterns throughout the internet)?
The reason that neural networking works is that the structures in the graph fundamentally represent patterns outside of the graph; effectively their logic mimics external mathematical patterns - they are a simplification of the information that the network digests as it is conditioned.
Extrapolating from this fact, shouldn't the patterns (and hence the logic) within social networks hold meaning? What would be the equivalent of running "pulses" through the social graph?
There would be two ways to do this.
1. Internally - create a simple algorithm that uses the logic held in the social graph to process inputs and outputs. For example, you might send an array of integers through a subgraph of Faceboook and get some other integers out from different end nodes within the subgraph. (With internal graph processing, you'd need access to the database, so only the social network would have the ability to run analytics like this.)
2. Externally - literally send a piece of information (an email that get's forwarded from one person (node) to the next, a tweet retweeted, or a hyperlink referenced) through the social work and follow it's path through the network. It's ending point would effectively be a function of it's starting point, and it's ending quality (for example, if the email was somehow changed by the end), would also be a function of it's starting point.
What could be made of such analytics? Are people already doing this? (I assume they are... I can't be the first one who thought of this.)
Btw, this is only my second post, so looking forward to getting familiar with the hacker community and hello. Let me know if this post was too long to be enjoyable.
5 comments
[ 3.2 ms ] story [ 20.7 ms ] threadExtrapolating from this fact, shouldn't the patterns (and hence the logic) within social networks hold meaning?
Probably, yeah.
What would be the equivalent of running "pulses" through the social graph?
Depends on how you see the analogy. Research on "diffusion of innovations"[1] could relate to this... the idea being that the introduction of a new "thing" (a technology innovation) is your "pulse" and its spread through the network is the analogue of the neural network processing. Also possibly related would be the idea of "information cascades" in networks[2]. Seems like there's something of a parallel between some of the SNA / Network Theory stuff and the Spreading Activation[3] stuff as well.
I don't know about trying to treat the social network as an analogue of a neural network, but the Social Network Analysis[4] folks certainly study the flow of information through a network. You might poke around the journals and forums on that, or the Network Science[5] and/or Complex Adaptive Systems[6] people and see if anybody is doing anything related.
[1]: http://en.wikipedia.org/wiki/Diffusion_of_innovations
[2]: http://en.wikipedia.org/wiki/Information_cascade
[3]: http://en.wikipedia.org/wiki/Spreading_activation
[4]: http://en.wikipedia.org/wiki/Social_network#Social_network_a...
[5]: http://en.wikipedia.org/wiki/Network_theory
[6]: http://en.wikipedia.org/wiki/Complex_adaptive_system
There's an interesting wiki full of links related to network science and complex systems here: http://netwiki.amath.unc.edu/ that might be fun to explore.
Funny, I was thinking of the exact same example of modeling diffusion of innovations when you edited your post to include that. Using a social network, you could simulate the diffusion of information about a product from the starting point of an advertisement. So theoretically, you could highly optimize your ad campaign to target just the right people that will spread the word of your product the farthest.
Yep. Gladwell talks about the marketing aspect of some of these ideas in this book The Tipping Point. Actually, despite being a "pop science" book, there's a lot of good stuff in The Tipping Point, in terms of providing good starting points to start exploring. Reading his book was one of the things that got me interested in this field. From there, I started reading the stuff by Duncan Watts and Albert-László Barabási and then some of the more technical stuff. It turns out that network science underlies and unifies all sorts of stuff. It's really proving to be fascinating... well, to me, anyway.
http://arxiv.org/PS_cache/arxiv/pdf/1001/1001.5285v2.pdf
They actually used some online networks for their simulations:
"We investigate (i) the friendship network between 3.4 million members of the LiveJournal.com community [15], (ii) the network of email contacts in the Computer Science Department of the University College London (Zhou, S., private communication), (iii) the contact network of inpatients (CNI) collected from hospitals in Sweden [16], and (iv) the network of actors who have co-starred in movies labeled by imdb.com as adult [17]"
They found some rules about how the structure of the network influences the spreading ability of each node. As you may suspect, they find highly connected individuals aren't necessarily the best spreaders.
>Extrapolating from this fact, shouldn't the patterns (and hence the logic) within social networks hold meaning?
Most likely not. Neural nets are trained to map relations between inputs and outputs. The way that each neuron relates to the others is set, during training, so that when you present a given input to the network, you get something close to the expected output. In a social network, you basically just have a (somehow weighted) graph of people, but you lack the means to "train" it. If you somehow found a way to use the social graph as a pre-trained neural net, you'd most likely get the old "garbage in - garbage out".
Also, what kind of inputs and outputs would you expect to use?
I think you'd be better off thinking of ways to exploit the social graph just as a graph (if you could have access to it, that is).