1.2 Applications of Graph ML
1.2.1 Classic Graph ML Tasks
•
Node Classification
•
Link Prediction
•
Graph Classification (ex. Molecule property prediction)
•
Clustering
•
Graph generation(drug discovery), evolution(physical simulation)
•
Node-level ML Tasks
◦
Protein Folding (DeepMind’s AlphaFold)
•
Edge-level ML Tasks
◦
Recommender Systems
◦
Drug Side Effects (when taking multiple drugs)
◦
Traffic Prediction
•
Graph-level ML Tasks
◦
Drug discovery
◦
Physics Simulation
1.2.2 Choice of Graph Representation
•
Directed vs Undirected Graphs
•
Node degrees
•
Bipartite graph
◦
two different types of nodes
◦
where nodes only interact with the other type of node
◦
Folded/Projected Bipartite Graphs
▪
Bipartite graph → Projection graph
•
Representing Graphs: Adjacency Matrix
◦
In real-world matrix, adjacency matrices are extremely sparse
•
Representing Graphs: Edge list
◦
Easier to work with large & sparse graph
◦
Allow us to quickly retrieve all neighbors of a given node
•
Node and Edge Attributes
•
More Types of Graphs
◦
Unweighted and Weighted
◦
Self-edges (self-loops)
◦
Multigraph
•
Connectivity
◦
Connected undirected graph
◦
Connected directed graph
▪
A strongly connected directed graph
▪
A weakly connected directed graph (disregard the edge directions)