This course will focus on learning problems for networking, i.e., how network protocols or network operators make their decisions at different granularities (e.g., network, TCP, application, etc.) to keep networks safe and performant. How these decisions are made right now, and how one can replace existing heuristics-based decision-making with ML-based learning models. We will learn about the challenges of applying machine learning to learning problems in networking and how we can resolve them. Specifically, we will learn how different stages in ML pipelines work, which includes data collection, data pre-processing and feature extraction, model selection, training, evaluation, analysis, etc., and how to make changes to individual stages to develop models that are not only performant but reliable (i.e., trustworthy, explainable, robust, etc.). In this course, we will get our hands dirty working with real data and developing/analyzing different learning models. This course will organically build up on the topics covered in CS 176A (Computer Networks) and CS 5A and B (Data Science).
Special Topics Course
Day and Time