Introduction to Machine Learning

CMSC 478

Spring 2024

Contact Information

Instructor:

TA:

We will rely on Slack for asynchronous communication. Please use this link to sign up for the class Slack. You can use Slack for discussions between yourselves and to ask questions of me or the TA. If you want to ensure that I see your post, please use @oates in it so that I get a notification. Most discussions tend to take place in the general channel, but feel free to ask me to create other channels.

Grading

Grades will be based on a midterm exam, a final exam, and seven homework assignments. The homeworks are crucial for solidifying what you learn in class.

The weights on the various items are as follows:

Grades will be assigned as follows based on your class average:

Note that, for example, [80, 90) means the interval that includes 80 but not 90.

All assignments will be submitted to the TA via slack.

Late Policy

All assignments must be turned in by 11:59PM Eastern time on the date that they are due. I understand that students have many demands on their time that vary in intensity over the course of the semester. Therefore, you will be allowed 5 late days without penalty for the entire semester. You can turn in 5 different assignments one day late each, or one assignment 5 days late, and so on. Late days cannot be used for exams.

Once the late days are used, a penalty of 33% will be imposed for each day (or fraction thereof) an assignment is late (33% for one day, 66% for two, 100% for three or more). An assignment is late by one day if it is not turned in by 11:59PM Eastern on the day that it is due. It is late by two days if I do not have it by 11:59PM Eastern the following day, and so on. It is your responsibility to keep track of how many late days you have used.

Academic Honesty

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC’s scholarly community in which everyone’s academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult UMBC policies, or the Faculty Handbook (Section 14.3). For graduate courses, see the Graduate School website.

I will actively monitor all student work, as will the TA, for instances of academic misconduct. The penalty for any such misconduct on the first instance can be a zero on the assignment, depending on the severity. The penalty for the second instance can be an F in the class, depending on the severity.

Textbook

We will use a variety of online sources during this course.

Tools

In most cases you will be required to use python for homeworks because python has become the default language for machine learning at scale. Therefore, all of the examples that I do in class where we run an actual algorithm will be done using scikit-learn. A very easy way to get everything you may need is to install anaconda. It has python, scikit, and Jupyter notebooks for working with data and presenting results.

Syllabus

This syllabus is subject to small changes, but due dates and exam dates will not change. Note that for each topic there will be two sets of readings - some that everyone should do (marked all) and some that are optional (marked opt). You will only be held responsible for what is in the readings that everyone does, but if you want more information the optional readings are a good source.

Class
Date
Topic
Events/Readings
1 Mon  29 Jan Course overview. What is machine learning? Read Chapter 1 of my book
2 Wed  31 Jan Perceptrons Read Chapter 2 of my book
3 Mon  05 Feb More percentrons Homework 1 out. Here it is in HTML format if you do not already know how to open Python notebooks.
4 Wed  07 Feb Loss functions, gradient descent Read Chapter 3 of my book
5 Mon  12 Feb More gradient descent Homework 1 due; Homework 2 out - notebook and HTML
6 Wed  14 Feb Logistic regression Read Chapter 4 of my book
7 Mon  19 Feb Clustering Slides
8 Wed  21 Feb Nearest neighbors CIML chapter 3 through 3.4
9 Mon  26 Feb Methodology Slides
Homework 2 due; Homework 3 out
10 Wed  28 Feb More methodology
11 Mon  04 Mar Reinforcement learning Chapter 3 and 6.5 of the RL Book
12 Wed  06 Mar More reinforcement learning Slides - 01,03,04,05,06
13 Mon  11 Mar A little more reinforcement learning Homework 3 due
14 Wed  13 Mar Kernel methods Slides
Mon  18 Mar Spring Break
Wed  20 Mar Spring Break
15 Mon  25 Mar Support vector machines
16 Wed  27 Mar Midterm review
17 Mon  01 Apr Midterm Exam on content of classes 1 - 14 Homework 4 out
18 Wed  03 Apr Support vector machines
19 Mon  8 Apr Neural networks (Slides)
20 Wed  10 Apr More NNs Homework 4 due
Homework 5 out
21 Mon  15 Apr Convolutional neural networks Slides
22 Wed  17 Apr More CNNs
23 Mon  22 Apr Recurrent neural networks Slides
Homework 5 due
Homework 6 out
24 Wed  24 Apr More RNNs
25 Mon  29 Apr Graphical models
26 Wed  01 May Bayes nets (Slides) Homework 6 due; Homework 7 out
27 Mon  06 May More Bayes nets
28 Wed  8 May Dimensionality reduction
29 Mon  13 May Final exam review Homework 7 due
Mon  20 May Final Exam 10:30AM - 12:30PM