# CS224W - Machine Learning with Graphs

Course Instructor:: *Jurij Leskovec*

Description

This course covers important research on the structure and analysis of such large social and information networks and on models and algorithms that abstract their basic properties. Students will explore how to practically analyze large-scale network data and how to reason about it through models for network structure and evolution.

Complex data can be represented as a graph of relationships between objects. Such networks are a fundamental tool for modeling social, technological, and biological systems. This course focuses on the computational, algorithmic, and modeling challenges specific to the analysis of massive graphs. By means of studying the underlying graph structure and its features, students are introduced to machine learning techniques and data mining tools apt to reveal insights on a variety of networks.

Topics include:representation learning and Graph Neural Networks; algorithms for the World Wide Web; reasoning over Knowledge Graphs; influence maximization; disease outbreak detection, social network analysis.

Prerequisites

- Knowledge of
basic computer science principles, sufficient to write a reasonably non-trivial computer program (e.g., CS107 or CS145 or equivalent are recommended)- Familiarity with the
basic probability theory(CS109 or Stat116 are sufficient but not necessary)- Familiarity with the
basic linear algebra(any one of Math 51, Math 103, Math 113, or CS 205 would be much more than necessary)

Materials

The following books are recommended as optional reading:

- Graph Representation Learning by William L. Hamilton
- Networks, Crowds, and Markets: Reasoning About a Highly Connected World by David Easley and Jon Kleinberg
- Network Science by Albert-László Barabási

## # Lectures

- CS224W - Lecture 1.1 - Why Graphs
*CS224W - Lecture 1.2 - Applications of Graph ML**CS224W - Lecture 1.3 - Choice of Graph Representation**CS224W - Lecture 2.1 - Traditional Feature-based Methods - Node**CS224W - Lecture 2.2 - Traditional Feature-based Methods - Link**CS224W - Lecture 2.3 - Traditional Feature-based Methods - Graph**CS224W - Lecture 3.1 - Node Embeddings**CS224W - Lecture 3.2 - Random Walk Approaches for Node Embeddings**CS224W - Lecture 3.3 - Embedding Entire Graphs**CS224W - Lecture 4.1 - PageRank**CS224W - Lecture 4.2 - PageRank - How to Solve**CS224W - Lecture 4.3 - Random Walk with Restarts**CS224W - Lecture 4.4 - Matrix Factorization and Node Embeddings**CS224W - Lecture 5.1 - Message passing and Node Classification**CS224W - Lecture 5.2 - Relational and Iterative Classification**CS224W - Lecture 5.3 - Collective Classification**CS224W - Lecture 6.1 - Introduction to Graph Neural Networks**CS224W - Lecture 6.2 - Basics of Deep Learning**CS224W - Lecture 6.3 - Deep Learning for Graphs**CS224W - Lecture 7.1 - A general perspective on GNNs**CS224W - Lecture 7.2 - A Single Layer of GNN**CS224W - Lecture 7.3 - Stacking layers of a GNN**CS224W - Lecture 8.1 - Graph Augmentation for GNNs**CS224W - Lecture 8.2 - Training Graph Neural Networks**CS224W - Lecture 8.3 - Setting up GNN Predication Tasks**CS224W - Lecture 9.1 - How Expressive are Graph Neural Networks**CS224W - Lecture 9.2 - Designing the Most Powerful GNNs**CS224W - Lecture 10.1 - Heterogenous and Knowledge Graph Embedding**CS224W - Lecture 10.2 - Knowledge Graph Completion**CS224W - Lecture 10.3 - Knowledge Graph Completion Algorithms**CS224W - Lecture 11.1 - Reasoning in Knowledge Graphs**CS224W - Lecture 11.2 - Answering Predictive Queries**CS224W - Lecture 11.3 - Query2box - Reasoning over KGs**CS224W - Lecture 12.1 - Fast Neural Subgraph Matching and Counting**CS224W - Lecture 12.2 - Neural Subgraph Matching**CS224W - Lecture 12.3 - Finding Frequent Subgraphs**CS224W - Lecture 13.1 - Community Detection in Networks**CS224W - Lecture 13.2 - Network Communities**CS224W - Lecture 13.3 - Louvain Algorithm**CS224W - Lecture 13.4 - Detecting Overlapping Communities**CS224W - Lecture 14.1 - Generative Models for Graphs**CS224W - Lecture 14.2 - Erdos Renyi Random Graphs**CS224W - Lecture 14.3 - The Small World Model**CS224W - Lecture 14.4 - Kronecker Graph Model**CS224W - Lecture 15.1 - Deep Generative Models for Graphs**CS224W - Lecture 15.2 - Graph RNN - Generating Realistic Graphs**CS224W - Lecture 15.3 - Scaling Up and Evaluating Graph Gen**CS224W - Lecture 15.4 - Applications of Deep Graph Generation**CS224W - Lecture 16.1 - Limitations of Graph Neural Networks**CS224W - Lecture 16.2 - Position-Aware Graph Neural Networks**CS224W - Lecture 16.3 - Identity-Aware Graph Neural Networks**CS224W - Lecture 16.4 - Robustness of Graph Neural Networks**CS224W - Lecture 17.1 - Scaling up Graph Neural Networks**CS224W - Lecture 17.2 - GraphSAGE Neighbor Sampling**CS224W - Lecture 17.3 - Cluster GCN - Scaling up GNNs**CS224W - Lecture 17.4 - Scaling up by Simplifying GNNs**CS224W - Lecture 18 - GNNs in Computational Biology**CS224W - Lecture 19.1 - Pre-Training Graph Neural Networks**CS224W - Lecture 19.2 - Hyperbolic Graph Embeddings**CS224W - Lecture 19.3 - Design Space of Graph Neural Networks*