Course overview & goals
The course offers a comprehensive introduction to machine learning techniques designed for graph-structured data. Students will explore how graphs can be used to model complex real-world systems and how machine learning can be applied to tasks such as node ranking, link prediction, and graph classification. The course covers both classical approaches (such as node centrality and similarity, link prediction indices, and matrix factorization) and modern techniques for graph representation learning, including node embedding techniques using random walks and graph neural networks (GNNs). Special emphasis is placed on the design of GNN architectures, their theoretical foundations, and practical limitations. Students will also engage with recent advances such as graph transformers and applications to recommender systems, knowledge graphs, and relational databases. Through a combination of lectures, hands-on analyses, and applied projects, students will gain both theoretical insight and practical experience in machine learning with graphs.
By the end of this course, students will have a solid understanding of both classical and modern approaches to machine learning on graph-structured data. They will be able to design, implement, and evaluate models for a variety of learning tasks at the node, link, and (sub)graph levels, and critically assess the strengths and limitations of different graph representation learning methods. In addition, students will gain hands-on experience working with homogeneous and heterogeneous graph representations of real-world systems, applying appropriate tools and techniques to extract insights and make predictions.
This course draws partly on materials from CS224W taught at Stanford University.