Graduate Institute of Network Engineering
National Yang Ming Chiao Tung University

機器學習之網路應用

Applications of Machine Learning for Networking

 

Term: Fall 2022

Level: Graduate

Instructor:

Prof. Shie-Yuan Wang (王協源)

Email: shieyuan@cs.nctu.edu.tw

Office: EC413

Office hours: Mondays 10 am ~ noon

Phone: (03) 5131550

Laboratory: Network and System Laboratory

URL: http://www.cs.nctu.edu.tw/~shieyuan 

Course Webex Link:

        https://nycu.webex.com/meet/111AMLN_Fall

Course Home Page:

http://www.cs.nctu.edu.tw/~shieyuan/course/MLnetwork/2022Fall

Teaching Assistant:

黃耀翰         Email:           shps97040608@gmail.com                     Phone: 54706                     Office: EC215


General Information

Course description:

Nowadays, machine learning is a popular field and has been widely used in several applications such as pattern recognition, computer vision, natural language processing, computer games, data analytics, etc.

This graduate-level course focuses on applying machine learning methods to computer network-related research. It is specifically offered to those students who want to apply machine learning methods to computer networks research.

In this course, we will start with a short introduction to the ideas, methods, and current status of machine learning. Then, we will move on to study many high-quality research papers that have successfully applied machine learning to different aspects of computer networks. Students will do two labs to get hands-on experiences on using the Scikit-learn machine learning package to solve classification/prediction problems.

Prerequisite:

1.     Having taken the "Introduction to Computer Networks" course is a must since we will study how to apply machine learning methods to solve network problems.

2.     Having taken the "Introduction to Machine Learning" course is a plus but not required. If you have taken the "Introduction to Machine Learning" course, taking this course may waste your time since the first six weeks will be used to teach the machine learning methods for the students who have not taken the "Introduction to Machine Learning" course

3.     Know how to write Python programs (or can learn it by yourself quickly)

 

This course is not intended to be a course that uses the whole semester to teach machine learning. Instead, its main focus is on applying machine learning to computer networks. We will use only six weeks to present the ideas of the machine learning methods that have been applied to computer networks, and the rest of the semester will be used to study how to apply machine learning to many aspects of computer networks to solve important problems. 

Lectures:

The course is held on Fridays from 9 am to 12 pm in ED202 room. Before the mid-term exam, the course will be held physically or online from 10:10 am to 12 pm and the third-hour will be given as offline materials. After the mid-term exam, since the students’ paper presentations and discussions will start, the course will be held physically or online from 9 am to 12 pm.

Coursework:

Course Grade:

Course Policy:

Textbook

Currently, there is no good textbook on applying machine learning to networks. Thus, this course does not use a textbook. Instead, students taking this course will need to read many high-quality papers in this research field.

The following lists some machine learning books that students may reference:

Reference books

·       Ian H. Witten, Eibe Frank, Mark A. Hall, Christopher J. Pal, “Data Mining: Practical Machine Learning Tools and Techniques,” Fourth edition, Morgan Kaufmann Publishers, 2016.

·       John D. Kelleher, Brian Mac Namee, and Aoife D’arcy, “Fundamentals of Machine Learning for Predictive Data Analytics,” The MIT press, Cambridge, Massachusetts, 2015.

·       Ethem Alpaydin, “Introduction to Machine Learning,” Third edition, The MIT press, Cambridge, Massachusetts, 2014.

·       Andreas C. Muller and Sarah Guido, “Introduction to Machine Learning with Python,” First edition, O’Reilly, 2016.

·       Ian Goodfellow, Yoshua Bengio, Aaron Courville, “Deep Learning,” First edition, The MIT press, Cambridge, Massachusetts, 2016.

·       Francois Chollet, “Deep Learning with Python,” First edition, Manning Publications Co., Shelter Island, New York, 2018.

Recommended language, platforms, and tools

·       Python 3.x

·       Anaconda

·       Jupyter notebook

·       Scikit-learn (or Keras/Tensorflow or PyTorch)