Traditionally, networks are usually represented as adjacency matrices. This suffers from data sparsity and high-dimensionality. Recently, fast-growing interest in learning continuous and low-dimensional representations of networks. Edges can be directed, undirected or weighted, and both nodes and edges may carry different semantics.
Node embeddings (intuition: similar nodes should have similar vectors).
- Laplacian EigenMap (an eigenvector based computation, OK when matrix is not too large)
- LINE Large-scale Information Network Embedding, most cited paper at WWW2015; Breadth first search
- DeepWalk (Perozi et al. 2014) (the technique to learn word embeddings adapted to nodes. Random walks on network as sentences
- Node2Vec (2016) (mixed strategy)
TUTORIAL: Representation Learning on Networks - TheWebConf 2018(About) Network representation learning (NRL): Approaches that automatically learn to encode network structure into low-dimensional embeddings, using techniques based on deep learning and nonlinear dimensionality reduction
**Goal of representation learning for networks: efficient task-independant feature learning for ML in networks.** But it's hard. DL toolbox are designed for single sequences or grids (for instance CNN for images, RNN or word2vec are fixed size), but networks are far more complex!
from the abstract:
> In this tutorial, we will cover key advancements in NRL over the last decade, with an emphasis on fundamental advancements made in the last two years. We will discuss classic matrix factorization-based methods (e.g., Laplacian eigenmaps), random-walk based algorithms (e.g., DeepWalk and node2vec), as well as very recent advancements in graph convolutional networks (GCNs). We will cover methods to embed individual nodes (see [node embeddings](/tag/node_embeddings)) as well as approaches to embed entire (sub)graphs, and in doing so, we will present a unified framework for NRL.