Instructor Lingpeng Kong (lpk AT cs.hku.hk)
Season Spring 2023
Location LE4
TAs Lin Zheng (linzheng AT connect.hku.hk)
Chang Ma (changma AT connect.hku.hk)
Textbook Probabilistic Machine Learning: An Introduction
Tutorial TBD
Course description:

This course introduces algorithms, tools, practices, and applications of machine learning. Topics include core methods such as supervised learning (classification and regression), unsupervised learning (clustering, principal component analysis), Bayesian estimation, neural networks; common practices in data pre-processing, hyper-parameter tuning, and model evaluation; tools/libraries/APIs such as scikit-learn, Theano/Keras, and multi/many-core CPU/GPU programming.

Prerequisites:

MATH1853 or MATH2101; and COMP2119 or ELEC2543 or FITE2020

Assessment:

50% continuous assessment, 50% examination

Schedule

Lecture     Topic/papers Recommended reading Materials
Part I: Basics     
Week1 Introduction [slides] [PML Ch. 1]
Week 2 Foundations [slides] [PML Ch. 2.1.1 - 2.4.1 - 2.5.2]
Week 3 Linear Discriminant Analysis, Naive Bayes Classifiers [slides] [PML Ch. 9.1 - 9.3] Assignments 1 [pdf, tex, sample solution]
Week 4 Logistic Regression [slides] [PML Ch. 10.1 - 10.3]
Week 5 Linear Regression and Neural Networks [slides] [PML Ch. 11.1 - 11.4] [PML Ch. 13.1 - 13.5]
Tutorial 1 [notebook]
Week 6 Neural Networks for Sequences / Supervised Learning (Review) [slides] [PML Ch. 15.1 - 15.3] Programming Assignment 1 [ipynb] [sample solution]
Week 7
🎉🎂🎉
Nonparametric Models (KNN and KDE) [slides] [PML Ch. 16]
Week 8 Trees, Forests, Bagging, and Boosting / Unsupervised Representation Learning [slides] [PML Ch. 18] [PML Ch. 15.7]
Tutorial 2 [notebook]
Week 9 Clustering [slides] [PML Ch. 21.1 - 21.4] Assignments 2 [pdf, tex, sample solution]
Week 10 Learning with Fewer Labeled Examples [slides] [PML Ch. 19 except Ch. 19.3.6, Ch. 19.4, 19.6 and 19.7]
Tutorial 3 [notebook]
Part II: Advanced Topics     
Week 11 Introduction to AIGC (Guest Lecture)
Week 12 Kernel Methods [slides] [PML Ch 17.1 and 17.3, MLAPP 14.1 - 14.3] [RFA Paper] Programming Assignment 2 [ipynb]
Tutorial 4 [notebook]
Week 13 Reinforcement Learning and AlphaGo [slides] [Sutton and Barto, 2014] [Silver et al, 2016]

Assignments

Submission:

Please submit to moodle a zip file that contains (1) your code, (2) a write-up (pdf) that explains your model, and (3) your model’s predictions (strictly following the required format). Please name your zip file in formt UniversityNumber.zip.

Programming:

For each assignment, you can use a different programming language (e.g., Python or C++) and different deep learning frameworks (e.g., PyTorch or Tensorflow).

Evaluation:

We will review your work individually to ensure that you receive due credit for your work. Please note that both your project output and logic will be considered for marking.

Policy and honor code:

You are free to discuss ideas and implementation details with other students. However, copying others’ codes will not help your study but jeopardize it. We will check your work against other submissions and Internet sources. It is easy to know if you did your own work or not. To be clear, we encourage you to discuss with your classmates but you MUST do your work independently and CANNOT simply copy. If plagiarism is identified, one may face serious consequences according to the Faculty and University policy.

Resources

Machine Learning Course by Andrew Ng

Machine Learning Course by Tom Mitchell