This course requires students who have taken the basic concepts of linear algebra, calculus, and have some basic programming skills. The course is mainly designed to understand the basic concepts of machine learning, from the simplest problem formulation introduction, to understand what machine learning is. In this course, you can learn how to analyze, transform, and classify data. These skills are included in two major categories of supervised and unsupervised learning, such as linear classification, perceptron, SVM, boosting, ensemble learning, clustering, PCA, etc. This course is mainly based on practice and supplemented by theoretical foundation.