COMS 4771 is a graduate-level introduction to machine learning. Most of the course covers the basic principles of supervised learning, along with some basic algorithmic paradigms. Additional topics, such as representation learning and online learning, may be covered if time permits.

Prerequisites

You must know multivariate calculus, linear algebra, basic probability, and algorithms. You must be comfortable writing code to process and analyze data (e.g., in MATLAB or Python). You must have general mathematical maturity and be comfortable with mathematical writing (e.g., mathematical arguments, derivations, and proofs).

Readings

Readings will be assigned from notes, books, and research papers available on the web. This includes readings from the following texts:

Course requirements

  • Homework assignments (40% of the course grade).
  • Two in-class exams, Oct 19 and Dec 12 (each is 30% of the course grade).

Homework write-ups

Each homework write-up must be neatly typeset as a PDF document. You can use LaTeX or any other system that produces typesetting of equal quality and legibility (especially for mathematical symbols and expressions). Ensure that that the following appear at the top of the first page of the write-up:

  • your name,
  • your UNI, and
  • the UNI’s of any students with whom you discussed the assignment.

Submit your write-up as a single PDF file on Courseworks by 11:59 PM of the specified due date. If you are asked to submit any source code, put the write-up and the source code into a single ZIP file, and submit the ZIP file. It is your responsibility to ensure that the submission is successfully received by Courseworks.

For information and tips on using LaTeX, see the Introduction to LaTeX by Rocco Servedio, The Not So Short Introduction to LaTeX2e by Oetiker et al, the Short Math Guide for LaTeX by the American Mathematical Society, and the LaTeX Wikibook. You may use the following LaTeX template and class file if you like: template.tex, homework.cls.

Do not submit ipython/jupyter notebooks as your source code. If you use such things, please extract just the Python source into separate files, and just submit those files.

Also do not submit any data files (such as those provided for the assignment) unless explicitly requested.

Lateness and make-up exams

No late assignments will be accepted without valid medical/family emergency, as authenticated by your academic adviser (and a physician, if applicable).

There will be no make-up exams. In case you must miss an exam on account of a valid medical/family emergency (authenticated as above), your grade composition will be adjusted.

Disability services

If you require accommodations or support services from Disability Services, comply with their policies and make any necessary arrangements within the first two weeks of the semester. Exam dates are already posted above.

Academic rules of conduct

You are expected to adhere to the Academic Honesty policy of the Computer Science Department, as well as the following course-specific policies.

Collaboration

You may discuss the course material and the homework problems with each other in small groups (2-3 people). You must list all discussion partners in your write-up. Discussion of homework problems may only include problem clarification and high-level verbal discussion of possible approaches. You may not discuss solutions or solution details. Discussion must not go as far as one person telling the others how to solve the problem. You should not take any notes away from these discussions. You must write up your own solutions independently. You may not look at another student’s notes, solutions, or write-up (whether partial or complete).

Outside references and sources

Outside reference materials and sources (i.e., texts and sources beyond the assigned reading materials for the course) may be used only if explicitly permitted, i.e., with written permission from the instructor. Such references must be appropriately acknowledged in the write-up. You must always write up your solutions in your own words.

  • Sources obtained by searching the internet for answers or hints on assignments are never permitted.
  • Texts and sources on mathematical prerequisites (calculus, linear algebra, probability, algorithms) are fine to use. (This is your explicit written permission to use such sources.) If you need to look up a result in such a source, you should give a citation.
  • Reference manuals for MATLAB, Python, SciPy, NumPy, and scikit-learn are fine to use for programming assignments. If you use a significant code snippet from such a manual, you should acknowledge this use.
  • If, in the course of your studying (not while working on a homework assignment), you inadvertently come across the solution to a homework problem, simply acknowledge this source in your write-up (and the circumstance), but do your best to produce a solution without looking at the source. You must, of course, write your solution in your own words.

Violations

Violation of any portion of these policies will result in a penalty to be assessed at the instructor’s discretion. This may include receiving a zero grade for the assignment in question AND a failing grade for the whole course, even for the first infraction.

Course materials (lecture slides, lecture notes, homework assignments, homework solutions, exams, exam solutions) are copyrighted and may not be re-distributed without explicit permission from the instructor.