Machine Learning

ECE4424/CS4824 Fall 2020

General information

Instructor: Ming Jin (jinming at vt dot edu)

Meeting time: Mon., Wed., Fri. 9:05am - 9:55am

Course overview

Algorithms and principles involved in machine learning with applications to various engineering domains; fundamentals of representing uncertainty, learning from data, supervised learning, unsupervised learning, and learning theory; design and analysis of machine learning systems; design and implementation of a technical project applied to real-world datasets (energy, images, text, robotics, etc.).

Why take this course? We are witnessing an explosion in data - from billions of images shared online to Petabytes of tweets, medical records and sensor data, generated by companies, users and the infrastructures around us. Applications of machine learning are increasing rapidly as more techniques are developed and implemented to address a wide range of scientific and societal problems. Many universities are expanding programs in machine learning and perception, and employers are increasingly recognizing the importance of such knowledge. The course will give students a solid foundation in the basics of machine learning and an introduction to the opportunities in this rapidly maturing field.

Learning objectives

  • Analyze and contrast board classes of machine learning algorithms (supervised vs. unsupervised)
  • Describe and apply fundamental concepts of learning from data (maximum likelihood estimation, maximum a posteriori, overfitting vs underfitting, regularization, cross-validation)
  • Explain and program supervised learning algorithms for regression (e.g. least squares via pseudo-inverse)
  • Explain and program supervised learning algorithms for classification (e.g. logistic regression via gradient descent, support vector machines via quadratic programming)
  • Describe and program unsupervised learning algorithms for clustering (e.g. kmeans)
  • Design and implement a technical project, and apply developed techniques to real-world datasets (energy, images, text, robotics, etc.)

Schedule

The schedule is tentative and will be updated regularly as a way to adjust the pace of the course.

Readings

Lecture material is drawn from several books and papers. The main references for this course are

  • Machine Learning: A Probabilistic Perspective, by Murphy, MIT Press, 2012. The lecture mainly follows the structure of this book.
  • Mathematics for Machine Learning by Deisenroth, Faisal, and Ong, 2019. We will use this book (referred to as “DFO” after the authors’ names) to cover mathematical foundations of machine learning.

Grading

This course emphasizes more on the “process” of continual learning. We plan to achieve this through problem sets that solidifies your knowledge, in-class assessments that monitors your progress, and a course project that spans the entire course that integrates your learning outcomes.

  • Participation (5%): you will have a variety of opportunities to participate in the class. As we explore the new modality of online interactions, we will have pop-up quiz during the lecture to make sure we are on the same page. You can also use platforms like Piazza to ask questions or help out fellow classmates.
  • Problem sets (25%): Problem sets are due electronically via Canvas on the date/time indicated. No problem sets will be accepted late, with the following exception: you get three free late days (24 hour periods including weekends) during the semester to accommodate emergencies. If you want to use one or more of these just turn it in via Canvas as normal after the due date. Once your late days are used up no more late work will be graded without an official accommodation from the Dean of Students.
  • In-class progress assessments (30%): we will have three assessments (15% each) throughout the semester to check your progress. The main rationale is to encourage continual learning rather than “cramming for exams”. It also provides feedback on the lecture pace to make sure the majority of students have grasped the materials.

Now, the rest of the grades (40%) goes to the course project, which spans the entire semester. The project provides you with an opportunity to apply what you have learned in class to solve real-world problems, get updated with the most recent research in a topic of interests, and explore new ideas and techniques and push the state of the art. Due to the time constraint of the project, it is highly recommended that you select a topic that is tractable, start early, and manage the progress. The project deliverables include

  • Project proposal (10% of total project score)
  • Milestone report (20%)
  • Spotlight presentation (10%)
  • Final report (60%)

Here are more details regarding the project and rubrics.