CS420 Machine Learning 

Weinan Zhang, Assistant Professor

Zhiyuan College
Shanghai Jiao Tong University

Email: wnzhang [AT] sjtu.edu.cn

Machine learning is the science of training machines with non-explicit programming based on a dataset to get them work on intelligent tasks. Machine learning has obtained fast development during the last two decades and now plays an important role in various aspects of our daily life, such as weather forecasting, e-commerce personalized recommendation, news categorization, face recognition, speech QA, self-driving, home robots, and medical expert system etc. Particularly, in March 2016, Google's AlphaGo beat Lee Se-dol on Game of Go with the score 4-1, which indicates the arrival of the new artificial (general) intelligence era with machine learning based on big data.

This course provides a comprehensive introduction of the fundamental problems and methodologies of machine learning, including supervised/unsupervised learning (covering most prediction applications, e.g., recommender systems, image recognition and webpage ranking etc.) and reinforcement learning (covering all decision-making applications, e.g., playing Go, self-driving, ad bidding and smart stock picking etc.). Additionally, the coursework includes hands-on tasks, in which the students are required to design machine learning programs to accomplish several intelligence tasks, and are highly encouraged to further improve the machine performance via trying different models and refining the code implementation.


The poster session will be at 12:55 - 15:40 on June 5 (Monday of the 16th week). The submission due of your poster file is 23:59 June 1.

Please send the digital version of your poster to kren[AT]apex.sjtu.edu.cn. An example poster PPT file can be accessed here.

Course Work

Course work 1: Text Classification
To create a classification model for recommending selected articles.
Mar. 6, 2017 - Apr. 16, 2017.

Course work 2: Item Recommendation
To predict the rating of a user on an item for personalized recommendation.
Apr. 1, 2017 - May. 7, 2017.

Course work 3: Playing Pong with RL
To implement a reinforcement learning agent to play game of pong.
Recommended to implement via MinPy and MXNET.
May. 15, 2017 - Jun. 4, 2017.


Lecture 1: Introduction to Machine Learning
Introduction about AI, machine learning, data science and various ML applications
Feb. 20, 2017

Lecture 2: Linear Models for Supervised Learning
Linear regression, logistic regression, evaluation metrics
Feb. 27, 2017

Lecture 3: SVM and Kernel Methods
Support Vector Machines, Convex Optimization, Kernel Methods
Mar. 6, 2017

Lecture 4: Neural Networks
Perceptron, Neural Networks, Deep Learning
Mar. 13, 2017

Lecture 5: Decision Tree Models
Decision Trees, ID3, CART
Mar. 20, 2017

Lecture 6: Ensemble and Boosting Models
Ensemble Models, Bagging, AdaBoost, GBDT
Mar. 27, 2017

Lecture 7: Ranking and Filtering
Learning to Rank, Collaborative Filtering, Recommender Systems
Apr. 1, 2017

Lecture 8: Probabilistic Graphic Models
Bayesian Network, Markov Network, Conditional Independence
Apr. 10 and 17, 2017

Lecture 9: Unsupervised Learning
Clustering, Mixture Gaussians, EM Algorithm
Apr. 25, 2017

Lecture 10: Learning Theory and Model Selection
Bias Variance Decomposition, VC Dimension, Feature Selection
May. 8, 2017

Lecture 11: Introduction to Reinforcement Learning
Markov Decision Process, Value/Poicy Interation, Model-Free RL
May. 15, 2017

Lecture 12: Approximation Methods in Reinforcement Learning
Value Function Approximation, Policy Gradient, Deep RL
Invited talk on deep RL by Xiaohu Zhu
May. 22, 2017

Lecture 13: Transfer Learning
Transfer Learning, Domain Adaptation, Deep Model Reuse
May. 27, 2017

Related Readings

Teaching Assistants

Kan Ren, Ph.D. student in ApexLab
Research on data mining, computational advertising and reinforcement learning
Email: kren [AT] apex.sjtu.edu.cn

Han Cai, Master student in ApexLab
Research on reinforcement learning
Email: hcai [AT] apex.sjtu.edu.cn


May 15, 2017
Course work 3 annouced. Please check out the course work instructions.

Apr. 1, 2017
Course work 2 annouced. Please check out the Kaggle website.

Mar. 6, 2017
Course work 1 annouced. Please check out the Kaggle website.

Feb. 26, 2017
Course website launched.

Feb. 20, 2017
Course started!