News

If you find any typos (or any other problems) in the course materials (e.g., slides, lab tutorials etc), please feel free to contact me at fli AT sdu DOT edu DOT cn, or talk to me directly in the class. Thanks very much!!!

Basic Information


Course Description

SD01331421 is an introductory course on machine learning which gives an overview of many concepts, techniques, and algorithms in machine learning, beginning with topics such as classification and linear regression and ending up with more recent topics such as boosting, support vector machines, reinforcement learning, and neural networks. The course will give the student the basic ideas and intuition behind modern machine learning methods as well as a bit more formal understanding of how, why, and when they work. The underlying theme in the course is statistical inference as it provides the foundation for most of the methods covered.

The course grades will be (tentatively) based 35% on labs, 15% on homework, and 50% on final exam.

Students are strongly encouraged to form study groups. Students may discuss and work on homework problems in groups. However, each student must write down the solutions independently, and without referring to written notes from the joint session. In other words, each student must understand the solution well enough in order to reconstruct it by him/herself. In addition, each student should write on the problem set the set of people with whom she/he collaborated.

Remarks: This website is in construction. Related materials will be uploaded as soon as possible. If you have any problem to this website, please feel free to drop me an email.


Slides

  • Lecture 1: Introduction [Slides]
  • Lecture 2: Linear Regression [Slides] [Notes]
  • Lecture 3: Logistic Regression [Slides]
  • Lecture 4: Bayesian Statistics and Regularization [Slides]
  • Lecture 5: Gaussian Discriminant Analysis, Naive Bayes and EM Algorithm [Slides] [Notes]
  • Lecture 6: Support Vector Machine [Slides][Notes][Appendix]
  • Lecture 7: K-Means [Slides]
  • Lecture 8: Factor Analysis and Principle Component Analysis [Slides]
  • Lecture 9: Learning Theory [Slides]
  • Lecture 10: Neural Networks and Deep Learning [Slides]

Lab Exercises

Each student is supposed to submit a technical report (with source code enclosed) for every lab exercise before the due date. The template of technical report can be downloaded by clicking here.

The technical report should be in pdf format and named as follows "Student ID_Name_Lab Index.pdf". For example, for a student whose name is 李雷 with student ID being 123456, his technical report for the 4th lab exercise should be "123456_李雷_实验1.pdf". Also, the source code should be enclosed in the technical report as an appendix. Moreover, a separated source code formatted as .m file is required. In the above example, its name should be "123456_李雷_实验1.m".

The exercises in this course use Octave1 or MATLAB, a high-level programming language well-suited for numerical computations. At the Octave/MATLAB command line, typing help followed by a function name displays documentation for a built-in function. For example, help plot will bring up help information for plotting. Further documentation for Octave functions can be found at the Octave documentation pages.. MATLAB documentation can be found at the MATLAB documentation pages. We also strongly encourage using the online Discussions to discuss exercises with other students. However, do not look at any source code written by others or share your source code with others.


Assignments

Students are supposed to submit their solutions before the due date.
  • Problem Set 1 [PDF] [Due Date: Oct 27, 2023]
  • Problem Set 2 [PDF] [Due Date: Nov 17, 2023]
  • Problem Set 3 [PDF] [Due Date: Dec 15, 2023]