Introduction to Machine Learning
CMSC 678
Fall 2024
Contact Information
Instructor:
- Tim Oates
- Office: ITE-336
- Email: oates@umbc.edu
- Office hours: Thursday 1:30 - 2:30
TA:
- Sourajit Saha
- Office: ITE-344
- Email: ssaha2@umbc.edu
- Office hours: Mon 2:00-3:30pm; Tue 3:30 - 5:00pm
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:
- Exams - 15% each, 30% total
- Homeworks - 10% each, 70% total
I will use plus/minus grading. Grades will be assigned as follows based on
your class average:
- [93, 100] = A
- [90, 93) = A-
- [87, 90) = B+
- [83, 87) = B
- [80, 83) = B-
- [77, 80) = C+
- [73, 77) = C
- [70, 73) = C-
- [60, 70) = D
- [0, 60) = F
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 |
|