Learning representations on graphs
Jun Zhu · National Science Review · 2017
Networks are everywhere. Popular examples include social networks, the hyper-linked World Wide Web, transportation networks, electricity power networks and biological gene networks. Networks are typically represented as a graph whose vertices represent entities and edges represent links or relationships between these entities. As the pervasiveness and scope of network data increase, there has been significant interest in developing statistical models to learn from networks for prediction or reasoning tasks. The early work has been focused on designing good proximity (or similarity) measures between nodes, using features related to certain topological properties of a graph, such as common neighbors, Jaccard’s coefficient, Adamic/Adar and Katz (see [1] for example). Inspired by the substantial success of deep learning, learning a good representation from networks has attracted increasing attention, though this was not the first attempt to learn latent features of networks (see, for example, the previous attempts at using Bayesian nonparametric techniques [2]). Learning representations on graphs. With the feature vectors μ, we can define a model for the prediction task. For example, if we want to classify each node, each single vector can be used as the input to a classifier. If the goal is for link prediction, we can use a pair of vectors μi and μj to define a probabilistic model for the link Eij to present, and if the prediction is for the whole network, we can aggregate all vectors into a single vector and fit it into a classifier. Then, we can optimize the objective to find optimal feature vectors, similar in spirit to an expectation–maximization algorithm that alternatively infers the unknown vectors and updates the parameters. This framework can be generalized to deal with dynamic networks for temporal reasoning [4], when temporal information is important.