LMP1210 Winter 2022
Basic principles of machine learning in biomedical research

Course syllabus and policies: Course handout.

Teaching staff:

  • Instructor:
    • Bo Wang
    • Office hours: Fri 10-11 (Zoom, Meeting ID: 943 5862 3966, Password: lmp1210)
    • Email: bowang.wang@utoronto.ca
  • Head TA:

Please do not send the instructor or the TAs email about the class directly to their personal accounts.

Piazza: Students are encouraged to sign up Piazza to join course discussions. If your question is about the course material and doesn’t give away any hints for the homework, please post to Piazza so that the entire class can benefit from the answer.

Online lectures and tutorials: The access to online lectures and tutorials will be communicated via course mailing list. Course videos and materials belong to your instructor, the University, and/or other sources depending on the specific facts of each situation, and are protected by copyright. Do not download, copy, or share any course or student materials or videos without the explicit permission of the instructor and/or student(s). For questions about recording and use of videos in which you appear please contact your instructor.

Lecture and tutorial hours:

  Time Location
Lecture Monday 10 am-12 pm Zoom (see Quercus for details)


  • Jan 03: Winter term starts!
  • Jan 17: Assignment 1 Released, Due January 31
  • Jan 28: Final Project Released, Due April 10
  • Jan 30: Assignment 2 Released, Due February 20
  • Jan 31: Assignment 2 Updated, Due February 20
  • Feb 4: Assignment 1 Solutions Released
  • Feb 24: Assignment 1 Marks Released
  • Feb 28: Assignment 3 Released
  • Mar 4: Presentation Schedule Released

Course Overview:

This course is intended for graduate students in Health Sciences to learn the basic principles of machine learning in biomedical research and to build and strengthen their computational skills of medical research. The course aims to equip students with the fundamental knowledge of machine learning (ML). During the course, the students will acquire basic computational skills and hands-on experience to deploy ML algorithms using python. The students will learn the current practices and applications of ML in medicine, and understand what ML can and cannot do for medicine. The goal of this course to establish an essential foundation for graduate students to take the first steps in computational research in medicine.

Introduction to basic principles and current practices of machine learning in biomedical research. Focus on the fundamental ML algorithms with applications in biomedical data; the application of unsupervised learning in genomic data; the application of supervised learning for medical images.


  Handout Due
Assignment #1 Handout, Data January 31 2022
Assignment #2 Handout, Data February 20 2022
Assignment #3 Handout, Data (zip) March 20 2022
Final Project Handout April 10 2022

Note: Assignment Solutions are on Quercus!


Suggested readings included help you understand the course material. They are not required, i.e. you are only responsible for the material covered in lecture. Most of the suggested reading listed are more advanced than the corresponding lecture, and are of interest if you want to know where our knowledge comes from or follow current frontiers of research. Please refer to the Resource section for the texts.

B = Pattern Recognition and Machine Learning (by Bishop)

DL = Deep Learning Book

MK = Information Theory, Inference, and Learning Algorithms (by MacKay)

RG = Roger Grosse’s Notes

  Date     Lecture Topic Slides Suggested Readings Deliverables
Lecture 1 Jan 10 Intro to ML in medicine, nearest neighbor classifier Slides B: 1-2 (emphasis on 2.5.2); DL: 2-5  
Lecture 2 Jan 17 Introduction to Python; basic linear algebra; evaluation methods Colab DL: 2, David Liu’s CSC110/111 Course Notes  
Lecture 3 Jan 24 Linear methods for regression and classification; tree-based classifier Slides B: 3-4; RG: Linear Regression, Linear Classifiers, Training a Classifier, MK: p. 22-36  
Lecture 4 Jan 31 ENSEMBLE-based methods; neural networks Slides DL: 6-8; RG: Multilayer Perceptrons, Backpropagation (quite technical) Assignment #1 Due
Lecture 5 Feb 07 Supervised learning; Python tutorial for supervised learning practice Slides, Colab    
Lecture 6 Feb 14 Unsupervised learning for clustering: K-means, Gaussian mixture models Slides B: 9; RG: Mixture Models Assignment #2 Due
Reading Week Feb 21        
Lecture 7 Feb 28 Unsupervised learning for clustering: auto-encoder, graph-based methods; Python tutorial for unsupervised learning practice Slides, Colab Jaan Altosaar’s VAE Tutorial; Introduction to VAEs (Kingma and Welling)  
Lecture 8 Mar 07 Guest Lecturer: Dr. Joseph Cafazzo      
Lecture 9 Mar 14 Guest Lecturer: Dr. Kieran Campbell      
Lecture 10 Mar 21 Advanced deep learning methods for medical image analysis     Assignment #3 Due
Lecture 11 Mar 28 Term project in-class presentation      
Lecture 12 Apr 04 Term project in-class presentation      


Type Name Description
Related Textbooks Deep Learning (Goodfellow at al., 2016) The Deep Learning textbook is a resource intended to help students and practitioners enter the field of machine learning in general and deep learning.
  Pattern Recognition and Machine Learning (Bishop, 2006) Classic introductory text on machine learning, less emphasis on deep learning approaches.
  Information Theory, Inference, and Learning Algorithms (MacKay, 2003) A good introduction textbook that combines information theory and machine learning.
General Framework PyTorch An open source deep learning platform that provides a seamless path from research prototyping to production deployment.
Computation Platform Colab Colaboratory is a free Jupyter notebook environment that requires no setup and runs entirely in the cloud.
  GCE Google Compute Engine delivers virtual machines running in Google’s innovative data centers and worldwide fiber network.
  AWS-EC2 Amazon Elastic Compute Cloud (EC2) forms a central part of Amazon.com’s cloud-computing platform, Amazon Web Services (AWS), by allowing users to rent virtual computers on which to run their own computer applications.