[Note] This is a draft version.
Course Description
This course provides an introduction to the field of machine learning, covering fundamental concepts, algorithms, and applications. Students will learn various machine learning techniques, including classic machine learning algorithms (Linear regression, Support Vector Machine, K-Means, etc.), and neural networks (MLP, CNN, RNN, Transformer). The course combines theoretical foundations with practical implementation, preparing students for advanced study and research in machine learning. By the end of this course, students will be able to:
- Understand the fundamental concepts and principles of machine learning.
- Implement and apply various machine learning algorithms.
- Analyze and solve real-world problems using machine learning techniques.
- Evaluate the performance of machine learning models.
Teaching Team
Instructors:
- Session 1:
- Prof. Haizhou Li (haizhouli@cuhk.edu.cn)
- Session 2:
- Prof. Juexiao Zhou (juexiao.zhou@gmail.com)
- Office location: TBD
- Office hours: TBD
TAs:
- TBD
- TBD
Course Time and Location
Session 1
Day | Start | End | Location | Type |
---|---|---|---|---|
Tuesday | 13:30 | 15:00 | TB_104 | lecture |
Thursday | 13:30 | 15:00 | TB_104 | lecture |
Session 2
Day | Start | End | Location | Type |
---|---|---|---|---|
Tuesday | 15:30 | 17:00 | TxC201 | lecture |
Thursday | 15:30 | 17:00 | TxC201 | lecture |
Format
In-person. Slides will be available the day before the lecture.
Logistics
Communications
- Blackboard is the main software to manage the course, and grading will be through Blackboard.
- We will use Feishu (Group QR code will be released in the first lecture) for discussion. You can ask questions and discuss on Feishu. For personal matters, please send a private message to the instructor or TAs. You are also very welcome to send emails to the teaching team.
Grading
- Written Assignment (30%): Three graded homeworks (W1, W2, W3; 10%, 10%, 10%).
- Programming Assignment (20%): Two graded homeworks (P1, P2; 10%, 10%).
- Course Project (10%): A graded individual project with a pre-defined or self-proposed topic. The project has three components: a midterm report (5%), a final report (10%), and a presentation (5%).
- Final exam (40%): A graded final exam with one bonus question (extra 1%).
Late Submission:
- You have 2 weeks to independently complete each assignment (written & programming).
- Late submission will get a discounted score: (0, 48] hours →50%; (48, ∞) hours →0%.
Bonus (3%):
- One bonus question in the Final exam (1%).
- Post-lecture surveys: 0.5% for each, and the maximum is 2%. We do encourage you to complete all of them so that we know your feedback and can adjust the course accordingly.
Plagiarism:
- Zero marks are given for the whole assignment (including written and programming) in the first plagiarism case.
- Students will FAIL the whole course for repeated plagiarism.
- Note: If there are heavy overlaps between two answers, then both will be identified as plagiarism (we don’t have time to distinguish). Thus, discussions are encouraged, but you must finish the assignment by yourself, and don’t share your answer with others.
Final Grading: will be determined according to the distribution of all students.
- A class (A, A-): ~20%
- B class (B+, B, B-): ~60%
- C class (C+, C, C-): ~20%
- D class (D+, D-): accordingly.
- F class: accordingly.
AI Tools Use Policy
- You can use AI tools, including ChatGPT, to polish your report if applicable.
- However, you are required to submit both your own version and the one polished using AI tools.
- You are required to write a statement about how you used AI tools and which part of the report. We will grade the one you would like us to grade, but if you do not hand in your own version, we will not consider the submission complete.
Programming
- Python (the TA will prepare a recitation class to introduce it, mainly for the non-grading homework and your project) or any other languages that you are familiar with. For Python, we suggest you use Colab.
Projects
- The course project topic will be announced later.
- Students are free to form teams (with a maximum of 5 members per team).
- Each team will submit their algorithm and results based on the project topic. The course project will be graded according to the team’s ranking on the overall leaderboard.
- Bonus: If a team ranks in the global top 10 on the leaderboard, they will receive additional bonus points.
Post-lecture Survey
- Deadline for each survey: 11:59 pm on the day before the next lecture.
- We do this because we could have time to answer the questions you mentioned in the survey. We also encourage you to complete all of them so that we know your feedback and can adjust the course accordingly.
Course Schedule and Materials
Lecture | Date | Location | Topic | Slides | Notes | Reading | Important dates (All due at 11:59 pm) |
---|---|---|---|---|---|---|---|
1 | Sep 2 (Tue) | TB_104 (S1) / TxC201 (S2) | Introduction | ||||
2 | Sep 4 (Thu) | TB_104 (S1) / TxC201 (S2) | Introduction | ||||
3 | Sep 9 (Tue) | TB_104 (S1) / TxC201 (S2) | Review: Probability, linear algebra, optimization | ||||
4 | Sep 11 (Thu) | TB_104 (S1) / TxC201 (S2) | Review: Probability, linear algebra, optimization | ||||
5 | Sep 16 (Tue) | TB_104 (S1) / TxC201 (S2) | Linear regression | ||||
6 | Sep 18 (Thu) | TB_104 (S1) / TxC201 (S2) | Linear regression | ||||
7 | Sep 23 (Tue) | TB_104 (S1) / TxC201 (S2) | Logistic regression | ||||
8 | Sep 25 (Thu) | TB_104 (S1) / TxC201 (S2) | Logistic regression | ||||
9 | Sep 30 (Tue) | TB_104 (S1) / TxC201 (S2) | Support vector machine | ||||
10 | Oct 9 (Thu) | TB_104 (S1) / TxC201 (S2) | Support vector machine | ||||
11 | Oct 14 (Tue) | TB_104 (S1) / TxC201 (S2) | Decision tree and random forest | ||||
12 | Oct 16 (Thu) | TB_104 (S1) / TxC201 (S2) | Decision tree and random forest | ||||
13 | Oct 21 (Tue) | TB_104 (S1) / TxC201 (S2) | Neural networks I (MLP & CNN) | ||||
14 | Oct 23 (Thu) | TB_104 (S1) / TxC201 (S2) | Neural networks I (MLP & CNN) | ||||
15 | Oct 28 (Tue) | TB_104 (S1) / TxC201 (S2) | Neural networks II (RNN & Transformer) | ||||
16 | Oct 30 (Thu) | TB_104 (S1) / TxC201 (S2) | Neural networks II (RNN & Transformer) | ||||
17 | Nov 4 (Tue) | TB_104 (S1) / TxC201 (S2) | Over-fitting, bias-variance trade-off | ||||
18 | Nov 6 (Thu) | TB_104 (S1) / TxC201 (S2) | Over-fitting, bias-variance trade-off | ||||
19 | Nov 11 (Tue) | TB_104 (S1) / TxC201 (S2) | Performance evaluation | ||||
20 | Nov 13 (Thu) | TB_104 (S1) / TxC201 (S2) | Performance evaluation | ||||
21 | Nov 18 (Tue) | TB_104 (S1) / TxC201 (S2) | Introduction to unsupervised learning | ||||
22 | Nov 20 (Thu) | TB_104 (S1) / TxC201 (S2) | Introduction to unsupervised learning | ||||
23 | Nov 25 (Tue) | TB_104 (S1) / TxC201 (S2) | K-means and Gaussian mixture models | ||||
24 | Nov 27 (Thu) | TB_104 (S1) / TxC201 (S2) | K-means and Gaussian mixture models | ||||
25 | Dec 2 (Tue) | TB_104 (S1) / TxC201 (S2) | Expectation Maximization | ||||
26 | Dec 4 (Thu) | TB_104 (S1) / TxC201 (S2) | Expectation Maximization | ||||
27 | Dec 9 (Tue) | TB_104 (S1) / TxC201 (S2) | PCA | ||||
28 | Dec 11 (Thu) | TB_104 (S1) / TxC201 (S2) | PCA | Snapshot of Project Leaderboard | |||
TBD | TBD | Final Exam |
Written Assignment
- TBD
Programming Assignment
- TBD
Course Project
- TBD