CISC 5800: Machine Learning



Class times: Wednesday, 5:30 – 7:45pm, LL 1124
Instructor: Prof. Daniel D. Leeds (my homepage)
Teaching assistant: Amy Feng
Office: LL 610H for Office Hours; normally JMH 332 (Rose Hill)
E-mail:
Office hours: Instructor - Wed 4-5pm; TA - Wed 2-3pm (Sixth floor hallway)

Full syllabus

Course text: No book will be required, but the following will be useful as references.


Programming: We will have programming assignments throughout the semester. I will require you complete your programming assignments in Python:

Sections below:
  1. Resources
  2. Announcements
  3. Slides
  4. Assignments

Resources:
Equation sheet for final
Final practice
Practice questions
Practice questions answers
More practice questions
More practice questions answers Red
More practice questions answers Blue
More practice questions answers Green

Computing guides
Linux Commands - important Linux commands for working on erdos
vi Commands - important commands for the vi text editor; you are welcome to use emacs instead of vi
A Guide to Putty - Information for Windows users on accessing erdos
Note, to access erdos on Mac: (1) Open terminal, (2) type "ssh username@erdos.dsm.fordham.edu" , inserting your username before the @
Calculus
Calculus practice - some optional problems with derivatives
Python
Numpy Python pointers!
2D Gaussian visualization
Midterm practice
Practice questions
Practice questions answers - fixed question on a posteriori estimate of P(L=no,S=no|M=yes)


Announcements:
Final exam is May 1, 5:30-7:30pm !
Apr 24, 12:30am: I am hoping to cover a few new topics at the beginning of class (Dirichlet processes and more notes on CNNs). Any new material today will not be tested on the final. The rest of class will be dedicated to: course evaluation (SEEQ), final project thoughts, and final exam review.
Apr 2, 4:30pm: Dr Leeds' office hours tomorrow (Apr 3) will be 3-4pm
Feb 19, 12:05am: The midterm will be Wednesday March 13.
Jan 18, 11am: Amy will have her first office hours Wed Jan 23, 2-3pm on the sixth floor of LL.

Slides: Check slides after lectures as well for updates made during class!
I have not found any one textbook or online resource to be an optimal match for the material we cover at the mathematical level we cover it. However, Andrew Ng's lecture notes, available on
Stanford's Machine Learning course web site, often can be a helpful online read. I recommend these notes as well as looking through one of our course textbooks.
Supplementary reading
Lecture 1, Course logistics, background math, intro to classifiers.
Lecture 2, Bayes classifier. Ng notes 2 particularly pages 8-11
Lecture 3, Logistic classifier. Ng Notes 1 Elements of Part II (starting on page 16)
Lecture 4, Support vector machines. Ng notes 3 parts of pages 1-20
Lecture 5, Dimensionality reduction. Ng notes 10 on PCA and Ng notes 11 on ICA
Lecture 6, Neural networks. Chapter 1 and Chapter 2 of "Neural Networks and Deep Learning 
Lecture 7, Hidden Markov Models. Stanford notes
Lecture 8, Learning Theory. Lecture Notes
Lecture 9, Mixture Models.
Lecture 10, Convolutional Neural Network.


Assignments:
Homework 0 - Due Jan 23 (written) and Jan 26 (code); correction uploaded Jan 18, 11am

Additional corrections added to A7c and B4,5,6 (log function) Jan 22, 7:25pm. You may submit your answer based on the original question OR based on the corrected question.
Homework 0 answers
Code grade:
27-30 A range
24-27 B range
21-24 C range
Written grade:
74-83 A range
64-74 B range
55-64 C range

Homework 1 - due Feb 9 (code) and Feb 13 (written); hw1data.mat and hw1dataQ8.mat; note, questions A6 and B8 will make more sense after Feb 6 lecture
Additional correction to Question B8 (labelMP2), uploaded Feb 4 at 11pm.
HW 1 answers
Code grade:
36-41 A range
30-36 B range
22-30 C range
Written grade:
65-73 A range
57-65 B range
49-57 C range

Homework 2 - due Feb 27 (written) and Mar 3 (code); Coding section added Feb 18 evening!, hw2data.mat
Feb 21: I added a note to C4 - all λs must be non-negative. You can force negative λs to 0 at each learning step.
Questions A6b corrected and C5 clarified Feb 23rd.
Clarification to A5 and C1 and C5 added Feb 26th.
In addition to the numpy functions mentioned in the numpy python pointers, I also will allow np.concatenate and np.absolute for this homework. You cannot assume any other numpy functions are allowed if they were not explicitly named in the homework or the numpy pointer slides (except in Q5).
Note, the matrix "data" was written intended for Q5; the matrix "data3" was written intended for Q2. For Q5, I will accept your answer on either data or data3 or both.
HW2 written answers
72-82 A range
60-72 B range
50-60 C range
HW2 Code Grade
32-37 A range
27-32 B range
22-27 C range

Homework 3 - due Apr 3 (written) and Apr 7 (code); mnist_train.csv, hw3NNFactors.mat; C2 and C4 have been slightly updated/corrected in red
HW3 written answers

Final Project - full project due May 9

Midterm answers
77-87 A range
65-77 B range - changed curve
53-65 C range - changed curve
HW3 Code Grade
39.5-44 A range
35-39.5 B range
30.5-35 C range


Fake, Ungraded HMM Homework - due never
HMM HW Answers