Course Materials

Educational resources for teaching and learning network machine learning

Machine Learning for Computer Systems

Our primary course on applying machine learning to computer systems and networking.

Course Website: noise-lab.net/ml-systems

Course Overview

This course covers applications of machine learning to computer systems, with a particular focus on security, performance analysis, and prediction problems in networking. Topics include data preparation, feature selection, model evaluation, fairness, interpretability, and ML testing/debugging.

Resources

Topics Covered

  • Network traffic analysis use cases
  • Data acquisition and feature extraction
  • Supervised learning (Naive Bayes, regression, SVMs, trees, deep learning)
  • Unsupervised learning (clustering, dimensionality reduction, autoencoders)
  • Generative models (transformers, diffusion models)
  • Timeseries analysis and reinforcement learning
  • Model performance and maintenance

Additional Resources

Assignments

Problem sets and programming assignments designed to provide hands-on experience with ML for networking applications.

Reading Materials

Recommended textbooks, research papers, and supplementary reading materials.