Machine Learning with Graphs Overview
Machine Learning with Graphs Overview
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 2
Graph Representation Learning alleviates
the need to do feature engineering every
single time.
Input Structured Learning
Prediction
Graph Features Algorithm
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 3
Goal: Efficient task-independent feature
learning for machine learning with graphs!
node vector
𝑢
𝑓: 𝑢 → ℝ!
ℝ!
Feature representation,
embedding
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 4
¡ Task: map nodes into an embedding space
§ Similarity of embeddings between nodes indicates
their similarity in the network. For example:
§ Both nodes are close to each other (connected by an edge)
§ Encode network information
§ Potentially used for many downstream predictions
Vec Tasks
• Node classification
• Link prediction
• Graph classification
• Anomalous node detection
embeddings ℝ! • Clustering
• ….
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 5
Example
2D embedding of nodes of the Zachary’s
¡
Karate
• Zachary Club network:
s Karate Network:
Image from: Perozzi et al. DeepWalk: Online Learning of Social Representations. KDD 2014.
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 6
CS224W: Machine Learning with Graphs
Jure Leskovec, Stanford University
[Link]
¡ Assume we have a graph G:
§ V is the vertex set.
§ A is the adjacency matrix (assume binary).
§ For simplicity: no node features or extra
information is used
4
3
2 æ0 1 0 1ö
1
ç ÷
ç1 0 0 1÷
A=ç
V: {1, 2, 3, 4} 0 0 0 1÷
ç ÷
ç1 1 1 0 ÷ø
è
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 8
¡ Goal is to encode nodes so that similarity in
the embedding space (e.g., dot product)
approximates similarity in the graph
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 9
Goal: similarity 𝑢, 𝑣 ≈ 𝐳"# 𝐳$
in the original network Similarity of the embedding
Need to define!
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 10
1. Encoder maps from nodes to embeddings
2. Define a node similarity function (i.e., a
measure of similarity in the original network)
3. Decoder 𝐃𝐄𝐂 maps from embeddings to the
similarity score
4. Optimize the parameters of the encoder so
that: 𝐃𝐄𝐂(𝐳 "𝐳 ) ! #
similarity 𝑢, 𝑣 ≈ 𝐳"# 𝐳$
in the original network Similarity of the embedding
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 11
¡ Encoder: maps each node to a low-dimensional
vector d-dimensional
ENC 𝑣 = 𝐳! embedding
node in the input graph
¡ Similarity function: specifies how the
relationships in vector space map to the
relationships in the original network
similarity 𝑢, 𝑣 ≈ 𝐳"# 𝐳$ Decoder
Similarity of 𝑢 and 𝑣 in dot product between node
the original network embeddings
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 12
Simplest encoding approach: Encoder is just an
embedding-lookup
ENC 𝑣 = 𝐳𝒗 = 𝐙 ⋅ 𝑣
Dimension/size
𝐙= of embeddings
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 14
Simplest encoding approach: Encoder is just an
embedding-lookup
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 16
¡ Key choice of methods is how they define node
similarity.
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 17
¡ This is unsupervised/self-supervised way of
learning node embeddings
§ We are not utilizing node labels
§ We are not utilizing node features
§ The goal is to directly estimate a set of coordinates
(i.e., the embedding) of a node so that some aspect
of the network structure (captured by DEC) is
preserved
¡ These embeddings are task independent
§ They are not trained for a specific task but can be
used for any task.
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 18
CS224W: Machine Learning with Graphs
Jure Leskovec, Stanford University
[Link]
¡ Vector 𝐳! :
§ The embedding of node 𝑢 (what we aim to find).
¡ Probability 𝑃 𝑣 𝐳! ) : Our model prediction based on 𝐳#
§ The (predicted) probability of visiting node 𝑣 on
random walks starting from node 𝑢.
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 20
10
9
12
2 Step 3 Step 4
8 Step 5
1
11
3
Given a graph and a starting
4 Step 1 Step 2 point, we select a neighbor of
it at random, and move to this
neighbor; then we select a
6
5 neighbor of this point at
random, and move to it, etc.
The (random) sequence of
7 points visited this way is a
random walk on the graph.
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 21
probability that u
"
𝐳! 𝐳# ≈ and v co-occur on
a random walk over
the graph
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 22
1. Estimate probability of visiting node 𝒗 on a
random walk starting from node 𝒖 using
some random walk strategy 𝑹
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 23
1. Expressivity: Flexible stochastic definition of
node similarity that incorporates both local
and higher-order neighborhood information
Idea: if random walk starting from node 𝒖
visits 𝒗 with high probability, 𝒖 and 𝒗 are
similar (high-order multi-hop information)
exp(𝐳!( 𝐳$ )
ℒ=# # −log( ( )
∑)∈# exp(𝐳! 𝐳) )
!∈# $∈%3 (!)
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 30
But doing this naively is too expensive!
exp(𝐳!( 𝐳$ )
ℒ=# # −log( ( )
∑)∈# exp(𝐳! 𝐳) )
!∈# $∈%3 (!)
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 31
Why is the approximation valid?
Technically, this is a different objective. But
exp 𝐳'4 𝐳(
logistic regression (sigmoid func.) to
distinguish the target node 𝑣 from nodes 𝑛!
log( ) sampled from background distribution 𝑃" .
$ℒ
§ For all 𝑖, make a step towards the direction of derivative:𝑧' ← 𝑧' − 𝜂 .
$&$
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 34
§ Stochastic Gradient Descent: Instead of evaluating
gradients over all examples, evaluate it for each
individual training example.
§ Initialize 𝑧" at some randomized value for all 𝑖.
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 35
1. Run short fixed-length random walks starting
from each node on the graph
2. For each node 𝑢 collect 𝑁& (𝑢), the multiset of
nodes visited on random walks starting from 𝑢
3. Optimize embeddings using Stochastic
Gradient Descent:
ℒ=1 1 −log(𝑃(𝑣|𝐳% ))
%∈6 7∈8& (%)
We can efficiently approximate this using
negative sampling!
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 36
¡ So far we have described how to optimize
embeddings given a random walk strategy R
¡ What strategies should we use to run these
random walks?
§ Simplest idea: Just run fixed-length, unbiased
random walks starting from each node (i.e.,
DeepWalk from Perozzi et al., 2013)
§ The issue is that such notion of similarity is too constrained
¡ How can we generalize this?
Reference: Perozzi et al. 2014. DeepWalk: Online Learning of Social Representations. KDD.
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 37
¡ Goal: Embed nodes with similar network
neighborhoods close in the feature space.
¡ We frame this goal as a maximum likelihood
optimization problem, independent to the
downstream prediction task.
¡ Key observation: Flexible notion of network
neighborhood 𝑁9 (𝑢) of node 𝑢 leads to rich node
embeddings
¡ Develop biased 2nd order random walk 𝑅 to
generate network neighborhood 𝑁9 (𝑢) of node 𝑢
Reference: Grover et al. 2016. node2vec: Scalable Feature Learning for Networks. KDD.
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 38
Feature Learning for Networks
s1 s2 s8
careful
s7
cent re-
BFS
d to sig- u s6
features DFS
sitive to s4 s9
s3 s5
r learn- Figure 1: BFS and DFS search strategies from node u (k = 3).
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 39
Jure Leskovec
Stanford University
jure@[Link]
BFS: DFS:
Micro-view of Macro-view of
neighbourhood neighbourhood
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 41
Biased fixed-length random walk 𝑹 that given a
node 𝒖 generates neighborhood 𝑵𝑹 𝒖
¡ Two parameters:
§ Return parameter 𝒑:
§ Return back to the previous node
§ In-out parameter 𝒒:
§ Moving outwards (DFS) vs. inwards (BFS)
§ Intuitively, 𝑞 is the “ratio” of BFS vs. DFS
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 42
Biased 2nd-order random walks explore network
neighborhoods:
§ Rnd. walk just traversed edge (𝑠7 , 𝑤) and is now at 𝑤
§ Insight: Neighbors of 𝑤 can only be:
Same distance to 𝒔𝟏
s2 s3
w Farther from 𝒔𝟏
u s1
Back to 𝒔𝟏
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 44
¡ Walker came over edge (𝐬𝟏 , 𝐰) and is at 𝐰.
Where to go next?
Target 𝒕 Prob. Dist. (𝒔𝟏 , 𝒕)
s2 1
1/𝑞 s3 s1 1/𝑝 0
w w → s2 1 1
1/𝑞
u s1 1/𝑝 s4
s3 1/𝑞 2
s4 1/𝑞 2
Unnormalized
§ BFS-like walk: Low value of 𝑝 transition prob.
segmented based
¡ Linear-time complexity
¡ All 3 steps are individually parallelizable
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 46
¡ Different kinds of biased random walks:
§ Based on node attributes (Dong et al., 2017).
§ Based on learned weights (Abu-El-Haija et al., 2017)
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 47
¡ Core idea: Embed nodes so that distances in
embedding space reflect node similarities in
the original network.
¡ Different notions of node similarity:
§ Naïve: similar if 2 nodes are connected
§ Neighborhood overlap (covered in Lecture 2)
§ Random walk approaches (covered today)
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 48
¡ So what method should I use..?
¡ No one method wins in all cases….
§ E.g., node2vec performs better on node classification
while alternative methods perform better on link
prediction (Goyal and Ferrara, 2017 survey)
¡ Random walk approaches are generally more
efficient
¡ In general: Must choose definition of node
similarity that matches your application!
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 49
CS224W: Machine Learning with Graphs
Jure Leskovec, Stanford University
[Link]
¡ Goal: Want to embed a subgraph or an entire
graph 𝐺. Graph embedding: 𝐳𝑮 .
𝒛"
¡ Tasks:
§ Classifying toxic vs. non-toxic molecules
§ Identifying anomalous graphs
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 51
Simple idea 1:
¡ Run a standard graph embedding
technique on the (sub)graph 𝐺
¡ Then just sum (or average) the node
embeddings in the (sub)graph 𝐺
𝒛𝑮 = # 𝑧#
#∈%
¡ Used by Duvenaud et al., 2016 to classify
molecules based on their graph structure
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 52
¡ Idea 2: Introduce a “virtual node” to
represent the (sub)graph and run a standard
graph embedding technique
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 55
Number of anonymous walks grows exponentially:
§ There are 5 anon. walks 𝑤" of length 3:
𝑤* =111, 𝑤+ =112, 𝑤, = 121, 𝑤- = 122, 𝑤. = 123
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 56
¡ Simulate anonymous walks 𝑤. of 𝑙 steps and
record their counts
¡ Represent the graph as a probability
distribution over these walks
¡ For example:
§ Set 𝑙 = 3
§ Then we can represent the graph as a 5-dim vector
§ Since there are 5 anonymous walks 𝑤# of length 3: 111, 112,
121, 122, 123
§ 𝒁𝑮 [𝑖] = probability of anonymous walk 𝑤5 in 𝐺
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 57
¡ Sampling anonymous walks: Generate
independently a set of 𝑚 random walks
¡ Represent the graph as a probability distribution
over these walks
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 60
¡ Run 𝑻 different random walks from 𝒖 each of length 𝒍:
𝑁. 𝑢 = 𝑤7' , 𝑤H' … 𝑤J'
¡ Learn to predict walks that co-occur in 𝚫-size window
¡ Estimate embedding 𝑧5 of anonymous walk 𝑤5
Let 𝜂 be number of all possible walk embeddings
JPO
1
Objective: max : log 𝑃 𝑤N {𝑤NPO , … , 𝑤NQO , 𝒛𝑮 )
K,M 𝑇
N6O
All possible walks
123(4 5& )
§ 𝑃 𝑤, {𝑤,-., … , 𝑤,/., 𝒛𝑮 ) = ∑)
(require negative sampling)
$'( 123(4(5$ ))
7 .
§ 𝑦 𝑤, = 𝑏 + 𝑈 ⋅ 𝑐𝑎𝑡( ∑ 𝑧 , 𝒛𝑮 )
8. '9-. '
*
§ 𝑐𝑎𝑡( ∑,-./, 𝑧- , 𝒛𝑮 ) means an average of anonymous walk embeddings in window,
+,
concatenated with the graph embedding 𝒛𝑮
§ 𝑏 ∈ ℝ, 𝑈 ∈ ℝ1 are learnable parameters. This represents a linear layer.
Anonymous Walk Embeddings, ICML 2018 [Link]
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 61
¡ We obtain the graph
embedding 𝒛𝑮 (learnable Overall Architecture
parameter) after
optimization
¡ Use 𝒛𝑮 to make predictions
(e.g. graph classification)
§ Option1: Inner product
Kernel 𝒛2𝑮𝟏 𝒛𝑮𝟐 (Lecture 2)
§ Option2: Use a neural
network that takes 𝒛𝑮 as
input to classify
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 62
We discussed 3 ideas to graph embeddings
¡ Approach 1: Embed nodes and sum/avg them
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 64
¡ How to use embeddings 𝒛𝒊 of nodes:
§ Clustering/community detection: Cluster points 𝒛𝒊
§ Node classification: Predict label of node 𝑖 based on 𝒛𝒊
§ Link prediction: Predict edge (𝑖, 𝑗) based on (𝒛𝒊 , 𝒛𝒋 )
§ Where we can: concatenate, avg, product, or take a difference
between the embeddings:
§ Concatenate: 𝑓(𝑧2 , 𝑧3 )= 𝑔([𝑧2 , 𝑧3 ])
§ Hadamard: 𝑓(𝑧2 , 𝑧3 )= 𝑔(𝑧2 ∗ 𝑧3 ) (per coordinate product)
§ Sum/Avg: 𝑓(𝑧2 , 𝑧3 )= 𝑔(𝑧2 + 𝑧3 )
§ Distance: 𝑓(𝑧2 , 𝑧3 )= 𝑔(||𝑧2 − 𝑧3 ||4 )
§ Graph classification: graph embedding 𝒛𝑮 via aggregating
node embeddings or anonymous random walks.
Predict label based on graph embedding 𝑧D
2/14/21 Jure Leskovec, Stanford CS224W: Machine Learning with Graphs, [Link] 65
We discussed graph representation learning, a way to
learn node and graph embeddings for downstream
tasks, without feature engineering.
¡ Encoder-decoder framework:
§ Encoder: embedding lookup
§ Decoder: predict score based on embedding to match
node similarity
¡ Node similarity measure: (biased) random walk
§ Examples: DeepWalk, Node2Vec