### 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)