CMSC 422

Introduction to Machine Learning

Fall 2017

General Information

 

Class Time:   Monday, Wednesday, 2:00-3:15

Location:       CSIC 2117

Text:               We will use A Course in Machine Learning, by Hal Daume.  It is available freely here.  

Piazza:           We will set up Piazza for the class.  We encourage you to ask questions on Piazza.

 

Personnel

 

Instructor

Instructor

Teaching Assistant

Undergrad

Teaching Assistants

Name

David Jacobs

Emily Hand

Ryen Krusinga

Matt

Harding

Ashu

Garg

Office

AVW 4421

AVW 4438

AVW 4103 (or in 4101 if 4103 is crowded)

Office Hours

Tu: 2-3,

W:10-11

M,Th:10-11

M,Tu:4-5

F: 2-3

F: 12-1

Email

djacobs (at) cs

emhand (at) cs

krusinga (at) cs

 

 

If you cannot make these office hours, please feel free to send email to arrange another time to meet.   When emailing any of the staff, please include Ň422Ó in the subject line of your email.
 
 

Course Policies

 

 

 

 

 

Course work, late policies, and grading

There will be (probably) nine problem sets assigned during the semester. Three of these will include programming assignments to be done in Python, the rest will consist of written exercises.

 

Homework is due at the start of class. Problems may be turned in late, with a penalty of 10% for each day they are late, but may not be turned in after the start of the next class after they are due. For example, if a problem set is due on Monday, it may be turned in before Tuesday at 2:00pm, with a 10% penalty, or before Wednesday at 2:00pm, with a 20% penalty, but no later than Wednesday at 2:00pm.

There will be three exams. There will be two short, in-class midterm that will take about 45 minutes. The final will be during the normal final exam time. Each exam will be cumulative, covering all material learned to that point in the class, with a greater emphasis on material learned since the previous exam. Exams and problem sets will all be based on material discussed in class and in the readings.

These will be weighted for the final grade as: Homework 33%, midterms will each be 16%, final exam 35%.

Homework assignments are to be written up neatly and clearly, and programming assignments must be clear and well-documented. Programs should be written in Python.  All homework should be submitted through ELMS.  Students should upload a single file.  For written problems, this can be a pdf.  For programming assignments, it should be a zip file with a directory structure and file names as indicated in the assignment.

Some homeworks and projects may have a special challenge problem. Points from the challenge problems are extra credit. This means that I do not consider these points until after the final course grade cutoffs have been set. Students participating in class discussion or asking good questions will also receive extra credit.

 

 

Academic Honesty

All class work is to be done independently. You are allowed to discuss class material, homework problems, and general solution strategies with your classmates. When it comes to formulating/writing/programming solutions you must work alone. If you make use of other sources in coming up with your answers you must cite these sources clearly (papers or books in the literature, friends or classmates, information downloaded from the web, whatever).

It is best to try to solve problems on your own, since problem solving is an important component of the course. But I will not deduct points if you make use of outside help, provided that you cite your sources clearly. Representing other people's work as your own, however, is plagiarism and is in violation of university policies. Instances of academic dishonesty will be dealt with harshly, and usually result in a hearing in front of a student honor council, and a grade of XF. (Note, this and other course policies are taken from those of Prof. David Mount).



Absences

Any student who needs to be excused for an absence from a single lecture, recitation, or lab due to a medically necessitated absence shall: a) Make a reasonable attempt to inform the instructor of his/her illness prior to the class. b) Upon returning to the class, present their instructor with a self-signed note attesting to the date of their illness. Each note must contain an acknowledgment by the student that the information provided is true and correct. Providing false information to University officials is prohibited under Part 9(h) of the Code of Student Conduct (V-1.00(B) University of Maryland Code of Student Conduct) and may result in disciplinary action. The self-documentation may not be used for the Major Scheduled Grading Events as defined below and it may only be used for only 1 class meeting (or more, if you choose) during the semester. Any student who needs to be excused for a prolonged absence (2 or more consecutive class meetings), or for a Major Scheduled Grading Event, must provide written documentation of the illness from the Health Center or from an outside health care provider. This documentation must verify dates of treatment and indicate the timeframe that the student was unable to meet academic responsibilities. In addition, it must contain the name and phone number of the medical service provider to be used if verification is needed. No diagnostic information will ever be requested. The Major Scheduled Grading Events for this course include: a) Midterm – Oct 4 and Nov. 8, during the lecture period b) Final exam, as given in University schedule.

Academic Accommodations

Any student eligible for and requesting reasonable academic accommodations due to a disability is requested to provide, to the instructor in office hours, a letter of accommodation from the Office of Disability Support Services (DSS) within the first two weeks of the semester.

 

Below is a tentative schedule for problem sets and lectures. 

No.

Date

Topic

Readings

Assignment

Notes

Instructor

1

M. Aug. 28

Introduction

Math for Machine Learning

 

 

Jacobs

2

W. Aug. 30

Decision Trees

CIML 1

PS1 out

PS: Math refresher.

Jacobs

3

W. Sep. 6

Limits of Learning

CIML 2

PS2 out

PS1 due

PS: Decision Trees

Hand

4

M. Sep. 11

Geometry and Nearest Neighbors

CIML 3-3.3

Jacobs

5

W. Sep. 13

K-Means

CIML 3.4-3.5

PS3 out

PS2 due

PS: Implementation of decision trees, nearest neighbor, perceptrons.

 

6

M. Sep. 18

Perceptron

CIML 4-4.5

 

7

W. Sep. 20

Perceptron (contŐd)

CIML 4.5-4.7

 

 

 

8

M. Sep. 25

Linear Classifiers and Gradient Descent

CIML 7-7.4

 

 

 

9

W. Sep. 27

Working on some problems in class

PS3 due

Practice problems for midterm

 

Hand

10

M. Oct. 2

Midterm I

 

 

 

11

W. Oct. 4

Practicalities of ML

CIML 5-5.5

PS4 out

PS: gradient descent

 

12

M. Oct. 9

Sub-gradient Descent

CIML 7.5-7.7

 

13

W. Oct. 11

Probabilistic Models

CIML 9-9.5

PS5 out

PS4 due

 

 

14

M. Oct. 16

Probabilistic Models (contŐd)

CIML 9.6-9.7

 

15

W. Oct 18

Neural Networks

CIML 10-10.3

PS6 out

PS5 due

PS: Probability

 

16

M. Oct. 23

Neural Networks (contŐd)

CIML 10.4-10.6

 

17

W. Oct. 25

Deep Learning

TBD

PS7 out

PS6 due

CNNs, recursive networks, applications in computer vision, MTurk.

PS: Implementation, neural networks.

 

18

M. Oct. 30

Deep Learning (contŐd)

 

 

Building real applications with Deep Learning

19

W. Nov. 1

PCA

CIML 15-15.2

 

 

 

20

M. Nov. 6

Kernels

CIML 11-11.3

 

 

21

W. Nov. 8

Working on some problems in class

 

PS7 due

Practice problems for Midterm

 

 

22

M. Nov. 13

Midterm II

 

23

W. Nov. 15

SVMs

CIML 11.4-11.6

PS8 out

PS: Implementation, PCA, SVMS.

 

24

M. Nov. 20

SVMs (contŐd)

CIML 11.4-11.6

 

 

 

25

M. Nov. 27

Learning from Imbalanced data

CIML 6.1

 

26

W. Nov. 29

Bias and Fairness

CIML 8

PS9 out

PS8 due

 

 

27

M. Dec. 4

Graphical Models

TBD

 

Krusinga

28

W. Dec. 6

Learning Theory

CIML 12

Practice problems for final

Hand

29

M. Dec. 11

Machine Learning and Society & Conclusions

TBD

 

Discrimination in learning algorithms, ML and the future of jobs, and privacy. 

 

Final