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
- GitHub Repository: github.com/noise-lab/ml-systems
- Jupyter Notebooks: Interactive lectures covering each topic
- Board Notes (PDF): Dropbox
- ML Readings: noise-lab.net/ml-systems/ml.html
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.