# Free From Stanford: Machine Learning with Graphs

Check out the freely-available Stanford course Machine Learning with Graphs, taught by Jure Leskovec, and see how a world renowned researcher teaches their topic of expertise. Accessible materials include slides, videos, and more.

Many top universities make some of their courses available for free to non-students, a trend which has been gradually increasing over the years. While perhaps not the first example of such an offering, we can thank Andrew Ng (among others, certainly) for making his Stanford Machine Learning course available beyond the classroom, first via third party means, and then as one of the first courses on the MOOC platform Coursera. Since then, courses offered both via such a platform as well as those with publicly-accessible course websites have rapidly increased in number. There are no shortages of quality, free university level courses these days &mdash especially in computer science, data science, machine learning, and other tech disciplines.

Right off the bat, note that when we say "free" we mean that much of a course's learning material has been made available to the masses without cost. Just so we are clear, you are not able to enrol in this course and earn a certificate of completion for free. But free access to high-quality learning materials from a top notch university really isn't anything to scoff at, especially when this material is put together and taught by a leading researcher in the field.

In this case we are talking about the Stanford course **Machine Learning with Graphs**, taught by Jure Leskovec, with the assistance of advisor Michele Catasta and a whole host of dedicated teaching assistants. The iteration of the course being shared is that from this very semester.

Graphs, huh? Why study graphs? I feel like there are a lot of people who don't appreciate what graphs can model for problem solving. Some such examples include:

- Recommender systems
- Traffic prediction
- Drug side effects
- Drug discovery
- Protein folding

And when we combine graphs with the power of machine learning, we are (hopefully) able better reveal insights which may not be visible to the human eye. Given the potential complexity of many networks, this can be a very valuable pairing.

From Stanford's Machine Learning with Graphs: Introduction slides

So, you want more detail about what this course is about? Directly from the course's website:

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.

And the full table of contents paint a richer picture of what is being taught, topic by topic:

- Introduction; Machine Learning for Graphs
- Traditional Methods for ML on Graphs
- Node Embeddings
- Link Analysis: PageRank
- Label Propagation for Node Classification
- Graph Neural Networks 1: GNN Model
- Graph Neural Networks 2: Design Space
- Applications of Graph Neural Networks
- Theory of Graph Neural Networks
- Knowledge Graph Embeddings
- Reasoning over Knowledge Graphs
- Frequent Subgraph Mining with GNNs
- Community Structure in Networks
- Traditional Generative Models for Graphs
- Deep Generative Models for Graphs
- Advanced Topics on GNNs
- Scaling Up GNNs
- Guest Lecture: GNNs for Computational Biology
- Guest Lecture: Industrial Applications of GNNs
- GNNs for Science

What resources are available for this course? Originally, only the slides and other non-video content was to be available, but last week Jure took to the interwebs to announce:

By popular demand we are releasing lecture videos for Stanford CS224W Machine Learning with Graphs which focuses on graph representation learning. Two new lectures every week.

Along with the above-mentioned videos, the lecture slides and a series of Colab notebooks with ready-to-run code examples are also available. Additionally, and of particular note, the text used for the course, the Graph Representation Learning Book by William L. Hamilton of McGill University, is available as a pre-publication PDF at no cost.

From Stanford's Machine Learning with Graphs: Introduction slides

The combination of graphs and machine learning can be a powerful one, as can the combination of Stanford's Machine Learning with Graphs and Hamilton's Graph Representation Learning Book. The no-cost access to these high quality learning resources should be enough to quickly get anyone interested in doing so up to speed on contemporary uses of machine learning for solving graph-based problems. If you are interested, I suggest you check them both out now.

**Related**:

- The Best NLP with Deep Learning Course is Free
- Free MIT Courses on Calculus: The Key to Understanding Deep Learning
- Machine Learning Systems Design: A Free Stanford Course