Introduction to Machine Learning

CMSC 678

Fall 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.

Attendance

Many of my lectures involve me writing on the board and trying to be very interactive with students. There are readings below that I base my lectures on, but what material I cover on any given day depends to some extent on the dynamics of the class that day. That means that attending class is very important. Just "reading the book" will not suffice to get learn the material. If attendance falls off over the course of the semester I reserve the right to adjust the grading criteria to include some component to incentivise attendance.

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 final exam is not cumulative, it will focus on material covered in the second half of the class that was not tested on the midterm exam.

The weights on the various items are as follows:

I will use plus/minus grading. Grades will be assigned as follows based on your class average:

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

All assignments will be submitted to the TA via blackboard.

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).

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 Thu  29 Aug Course overview. What is machine learning? Read Chapter 1 of my book
2 Tue  3 Sep Perceptrons Read Chapter 2 of my book
3 Thu  5 Sep More percentrons Homework 1 out
4 Tue  10 Sep Loss functions, gradient descent Read Chapter 3 of my book
5 Thu  12 Sep More gradient descent Homework 1 due; Homework 2 out - HTML, ipynb
6 Tue  17 Sep Logistic regression Read Chapter 4 of my book
7 Thu  19 Sep Clustering Slides
8 Tue  24 Sep Nearest neighbors CIML chapter 3 through 3.4
9 Thu  26 Sep Methodology Slides
Homework 2 due; Homework 3 out
10 Tue  1 Oct More methodology
11 Thu  3 Oct Reinforcement learning Chapter 3 and 6.5 of the RL Book
12 Tue  8 Oct More reinforcement learning Slides - 01,03,04,05,06
13 Thu  10 Oct A little more reinforcement learning Homework 3 due
14 Tue  15 Oct Kernel methods Slides
15 Thu  17 Oct Midterm review
16 Tue  22 Oct Midterm Exam on content of classes 1 - 14 Homework 4 out
17 Thu  24 Oct Support vector machines
18 Tue  29 Oct Support vector machines
19 Thu  31 Oct Neural networks (Slides)
20 Tue  5 Nov More NNs Homework 4 due
Homework 5 out
21 Thu  7 Nov Convolutional neural networks Slides
22 Tue  12 Nov More CNNs
23 Thu  14 Nov Recurrent neural networks Slides
Homework 5 due
Homework 6 out
24 Tue  19 Nov More RNNs
25 Thu  21 Nov Graphical models
26 Tue  26 Nov Bayes nets (Slides) Homework 6 due
Homework 7 out
26 Tue  26 Nov Bayes nets (Slides)
Thu  28 Nov Thanksgiving Day, no class
27 Tue  3 Dec Bayes nets (Slides)
28 Thu  5 Dec More Bayes nets Homework 7 due
29 Tue  10 Dec Final exam review
Tue  17 Dec Final Exam 10:30AM - 12:30PM