Introduction to Machine Learning

CMSC 478

Spring 2022

Contact Information

Instructor:

TA:

Grader:

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, a project, and six homework assignments. The homeworks are crucial for solidifying what you learn in class. The final exam is not cumulative, but will cover material from class that was not covered on the midterm.

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 via slack.

Late Policy

All assignments (homeworks and the various components of the course project) must be turned in at the beginning of class 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 at beginning of class on the day that it is due. It is late by two days if I do not have it by 11:30am the following day, and so on. It is your responsibility to keep track of how many late days you have used.

Project

The project is meant to give students deeper exposure to some topic in machine learning than they would get from the lectures, readings, and discussions alone. Those projects that are most successful often blend the student's own research with machine learning, e.g., by applying machine learning techniques to a problem in some other area, or by bringing an insight from some other area to a problem in machine learning. However, projects need not involve ties with ongoing research. Many good projects in the past have investigated the application of existing algorithms to a domain/dataset of interest to the student, such as Texas Hold'em, the stock market, sporting events, and so on. Students can come up with their own project ideas or they can come see me and we'll brainstorm project ideas. information.

Projects may be done by individuals or teams of two people. However, teams of two will be expected to do significantly more work than what is expected of an individual project. More information on projects can be found here.

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 will be a zero on the assignment. The penalty for the second instance will be an F in the class. I will report all instances of academic misconduct to the graduate school.

Accessibility and Disability Accommodations, Guidance and Resources (required)

Accommodations for students with disabilities are provided for all students with a qualified disability under the Americans with Disabilities Act (ADA & ADAAA) and Section 504 of the Rehabilitation Act who request and are eligible for accommodations. The Office of Student Disability Services (SDS) is the UMBC department designated to coordinate accommodations that creates equal access for students when barriers to participation exist in University courses, programs, or activities.

If you have a documented disability and need to request academic accommodations in your courses, please refer to the SDS website at sds.umbc.edu for registration information and office procedures.

SDS email: disAbility@umbc.edu

SDS phone: (410) 455-2459

If you will be using SDS approved accommodations in this class, please contact the instructor to discuss implementation of the accommodations. During remote instruction requirements due to COVID, communication and flexibility will be essential for success.

Sexual Assault, Sexual Harassment, and Gender Based Violence and Discrimination (required)

UMBC Policy and Federal law (Title IX) prohibit discrimination and harassment on the basis of sex, sexual orientation, and gender identity in University programs and activities. Any student who is impacted by sexual harassment, sexual assault, domestic violence, dating violence, stalking, sexual exploitation, gender discrimination, pregnancy discrimination, gender-based harassment or retaliation should contact the University’s Title IX Coordinator to make a report and/or access support and resources:

Mikhel A. Kushner, Title IX Coordinator (she/they)

410-455-1250 (direct line), kushner@umbc.edu

You can access support and resources even if you do not want to take any further action. You will not be forced to file a formal complaint or police report. Please be aware that the University may take action on its own if essential to protect the safety of the community.

If you are interested in or thinking about making a report, please use the Online Reporting/Referral Form. Please note that, if you report anonymously,  the University’s ability to respond will be limited.

Notice that Faculty are Responsible Employees with Mandatory Reporting Obligations:

All faculty members are considered Responsible Employees, per UMBC’s Policy on Sexual Misconduct, Sexual Harassment, and Gender Discrimination. Faculty are therefore required to report any/ all available information regarding conduct falling under the Policy and violations of the Policy to the Title IX Coordinator, even if a student discloses an experience that occurred before attending UMBC and/or an incident that only involves people not affiliated with UMBC.  Reports are required regardless of the amount of detail provided and even in instances where support has already been offered or received.

While faculty members want encourage you to share information related to your life experiences through discussion and written work, students should understand that faculty are required to report past and present sexual assault, domestic and interpersonal violence, stalking, and gender discrimination that is shared with them to the Title IX Coordinator so that the University can inform students of their rights, resources and support.  While you are encouraged to do so, you are not obligated to respond to outreach conducted as a result of a report to the Title IX Coordinator.

If you need to speak with someone in confidence, who does not have an obligation to report to the Title IX Coordinator, UMBC has a number of Confidential Resources available to support you: 

Other Resources:

Child Abuse and Neglect:

Please note that Maryland law and UMBC policy require that faculty report all disclosures or suspicions of child abuse or neglect to the Department of Social Services and/or the police.

Textbook

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

Tools

You must use python for homeworks and your projects 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  31 Jan Course overview. What is machine learning? Read ESL Chapter 1, Chapter 1 and 2 of my notes. MNIST notebook
2 Wed  02 Feb Loss functions, gradient descent Homework 1 out
3 Mon  07 Feb Perceptrons
4 Wed  09 Feb Geometry of hyperplanes
5 Mon  14 Feb Decision trees Reading on decision trees
6 Wed  16 Feb Logistic regression Homework 1 due; Homework 2 out
7 Mon  21 Feb Clustering CIML Chapter 15
Slides
8 Wed  23 Feb Nearest neighbors CIML Chapter 3
9 Mon  28 Feb Methodology Slides
10 Wed  02 Mar More methodology Homework 2 due; Homework 3 out
11 Mon  07 Mar Reinforcement learning Slides 1, 1, 1
12 Wed  09 Mar More reinforcement learning
13 Mon  14 Mar A little more reinforcement learning
14 Wed  16 Mar Kernel methods
Mon  21 Mar Spring Break Homework 3 due at 11:30AM
Wed  23 Mar Spring Break
15 Mon  28 Mar Support vector machines Slides
Project proposal due
16 Wed  30 Mar Midterm review
17 Mon  04 Apr Midterm Exam on content of classes 1 - 14
18 Wed  06 Apr Support vector machines Homework 4 out
19 Mon  11 Apr Neural networks Slides
20 Wed  13 Apr More NNs
21 Mon  18 Apr Convolutional neural networks Slides
22 Wed  20 Apr More CNNs Homework 4 due
23 Mon  25 Apr Recurrent neural networks Homework 5 out
24 Wed  27 Apr More RNNs
25 Mon  02 May Graphical models Slides
26 Wed  04 May Bayes nets Slides
27 Mon  09 May Expectation maximization Slides
Homework 5 due; Homework 6 out
28 Wed  11 May Dimensionality reduction
29 Mon  16 May Final exam review
Wed  18 May Homework 6 due
Fri  20 May Final Exam 10:30AM - 12:30PM
Fri  27 May by 11:59PM via slack to Professor Oates Final project writeup due