Machine Learning for Large-Scale Data Analysis and Decision Making

This is the course website.

[Schedule]  [Evaluations]  [References

Instructor: Laurent Charlin

Class Schedule Fall 2018: I am teaching the course twice this term.

Day/Time Section Room
Wednesday 8:30am--11:30am J01 CSC Nancy et Michel-Gaucher
Thursday 12:00pm--3:00pm J02 CSC St-Hubert

Office hours: Wednesday 11:30am--12:30pm. CSC 4.817.

In this course, we will study machine learning models, a type of statistical analysis that focuses on prediction, for analyzing very large datasets ("big data"). In addition to standard models, we will study models for analyzing user behaviour and for decision making. Massive datasets are now common and require scalable analysis tools. Machine learning provides such tools and is widely used for modelling problems across many fields including artificial intelligence, bioinformatics, finance, marketing, education, transportation, and health.

**Note:** Mathematical maturity will be assumed. Programming will also be required but python tutorial(s) will be provided in the first few weeks of the class. The plan is to survey different machine learning techniques (supervised, unsupervised, reinforcement learning) as well as some applications (e.g., recommender systems). We will also focus on large-scale machine learning and will discuss distributed computational frameworks (Hadoop and Spark).

Current Computations

Weekly Schedule

  1. Class introduction and math review. [slides]
  2. Programming with Python I [**In Lab -- Decelles, Laboratoire LACED**]
  3. Machine learning fundamentals. [slides]
    • Required readings: Chapter 5 of Deep Learning (the book).
  4. Python for scientific computations and machine learning [**In Lab -- Decelles, Laboratoire Lachute (Wednesday)/LACED (Thursday)**]
  5. Supervised learning algorithms [slides]
    • References:
      Sections 4.1-4.3, 4.5 of The Elements of Statistical Learning (available online),
      Sections 3.5 and 4.2 of Machine Learning (K. Murphy)
  6. Neural networks and deep learning [slides]
  7. Unsupervised learning [slides]
    • Required reading: Section 14.3 (skip 14.3.5 and 14.3.12) of the Elements of Statistical Learning (available online).
  8. Project team meetings
  9. Parallel computational paradigms for large-scale data processing [slides]
  10. Recommendation systems [slides]
  11. Sequential decision making I [slides]
  12. Sequential decision making II [slides]
  13. Class project presentations [** Groupe Cholette (CSC -- Yellow Section)**]


  1. Homework (20%).
  2. Project (30%).
    • Due date: study plan October 23 (J-02) and October 29 (J-01), final report December 18.
    • Instructions
  3. Project presentation (10%).
  4. Final Exam (30%).
    • 07/12 (December 7) 9am-12pm, room: TBD.
    • Documentation allowed: cheat sheet (standard size 8.5 x 11, double sided), calculator.
    • Material covered: TBD but should be everything we covered in class
  5. Class participation (10%).


  • The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition Hastie, Trevor, Tibshirani, Robert, Friedman, Jerome, 2009
  • Deep Learning. Ian Goodfellow, Yoshua Bengio and, Aaron Courville. [DL]
  • Reinforcement Learning : An Introduction Hardcover. Richard S. Sutton, Andrew G. Barto. A Bradford Book. 2nd edition [RL-Sutton-Barto]
  • Machine Learning. Kevin Murphy. MIT Press. 2012. [ML-Murphy] 2016 [ML]
  • Recommender Systems Handbook, Ricci, F., Rokach, L., Shapira, B., Kantor, P.B. 2011. [RSH]
  • Mining of Massive Datasets. Jure Leskovec, Anand Rajaraman, Jeff Ullman. Cambridge University Press. 2014. [MMDS]
  • Decision Theory. Halsted. 1986. [DT]
  • Data Algorithms : Recipes for Scaling Up with Hadoop and Spark 1st Edition. Mahmoud Parsian. O'Reilly. 2015 [DA]
  • Python for Data Analysis : Data Wrangling with Pandas, NumPy, and IPython. Wes McKinney. O'Reilly. 2012 [PDA]
  • Data Science from Scratch : First Principles with Python. Joel Grus. 2015 [DSS]
  • Pattern Recognition and Machine Learning. Christopher Bishop. 2006 [PRML]
  • Advanced Analytics with Spark. O'Reilly. Second Edition. 2017