Textbooks and Readings

The lectures in this course were compiled from different sources and naturally there is no single textbook that covers all of the topics we will discuss in this course. The following textbooks are recommended for the course subjects:

  • Introduction to Statistical Machine Learning by Masashi Sugiyama, 2016.
  • Pattern Recognition and Machine Learning by Christopher M. Bishop, 2006.
  • Reinforcement Learning: An Introduction by R. S. Sutton, A. Barto, 2020.
  • Deep Learning by Ian Goodfellow, 2016: Available online

Prerequisites

  • Familiarity with the basic linear algebra.
  • Familiarity with the basic probability theory.
  • asic computer programming skills and scientific computing.

Assignments

Most of the assignments in this course involve writing computer programs. In a typical assignment, you will implement a machine learning technique from the lecture and use it to solve a sample problem. You will be graded on how well your computer program works. Therefore you should carefully implement, test and debug each program. Remember, just because the compiler gives no error messages, does not mean the program works as it should. In addition to submitting your code, you will typically be required to annotate and comment your program. To make programming, reporting, commenting, plotting and submitting your program easier, we will use iPython notebooks (Jupyter Notebooks). All assignments will be in Python.

For longer assignments, you will be given two weeks. You should take advantage of this by spreading out the effort uniformly. It is unlikely that you will be able to complete the assignment the night before it is due.


Python Programming

We will use the Python programming language for all assignments in this course. Python is a great general-purpose programming language on its own, but with the help of a few popular libraries (numpy, scipy, matplotlib) it becomes a powerful environment for scientific computing.


Recitations

Since many of you may not have familiarity with Python and its libraries, we have designed weekly recitations to cover your needs for python knowledge, programming and its integration with machine learning. Some of recitations are designed to teach you how to implement algorithms and theoretical machine learning into programs. We highly recommend you participate in the recitations.


Grading

Course grades will be based 50% on homeworks, 20% on the midterm, and 30% on the major term project. As mentioned earlier, up to 5% extra credit will be given for the pop-up quizzes during the course.

Grading Scale

90%-100% = A 80%-90% = B 70%-80% = C 60%-70% = D 0%-60% = R


Submission Procedures

  • Submission procedure is explained for each assignment on its first page. If you want to take photos of your assignment, just make sure that combine all the jpg into a single pdf file and make it clear. Unorganized and illegible submissions will be penalized. Take care in arranging your illustrations, written solutions, photos.
  • Only submit the required files that you edit. All other files, including the ones we provide as supporting functionality, are unnecessary because we already have copies of them. Unless we tell you otherwise, make sure that you only submit the file you edited/changed.
  • Do not scan the your hand-written solutions in the highest resolution. Downloading 200MB worth of scanned files from Canvas is utterly unnecessary and counterproductive. Exercise good judgment. You can set the resolution when scanning. Make sure your submission zip file is less than 20MB. That’s enough for all the assignments.
  • Name your files logically and clearly. Add a readme.txt with your submissions. It’s hard to open each ill-named file one by one and find your solution.
  • A failure to comply with these procedures will result in grade penalties that will be proportional to the severity of your non-compliance.

Late Submission Policy

Assignments are expected to be completed by due date. Assignments submitted 4 days after the due date will not be accepted. each student will have a total of seven free late (calendar) days to use as s/he sees fit. Once these late days are exhausted, any homework turned in late will be penalized 20% per late day. However, no homework will be accepted more than four days after its due date, and late days cannot be used for the final project writeup. Each 24 hours or part thereof that a homework is late uses up one full late day.


Final Project

The project can be related to your research area (if you have one). However, do not submit anything you have completed prior to attending the course. You also should not submit a project that is largely a collaborative effort with people outside the course. For example, if your research involves other people in a larger project, you could propose to address a slightly different question in the same area (still related to your research) but one that you are pursuing alone or in collaboration with other students taking the course.

You can and are encouraged to collaborate with other students. If you do, we ask that you outline the role of each person in the project. Projects involving more than one person have to scale in ‘size’ with the number of people.

Proposal

For the final project, each group or student need to submit a proposal. The project proposal should be one paragraph (200-400 words). If you work on your own project, your proposal should contain:

What is the problem that you will be investigating? Why is it interesting? What method or algorithm are you proposing? If there are existing implementations, will you use them and how? How do you plan to improve or modify such implementations? What data will you use? If you are collecting new datasets, how do you plan to collect them? What reading will you examine to provide context and background? How will you evaluate your results? Qualitatively, what kind of results do you expect (e.g. plots or figures)? Quantitatively, what kind of analysis will you use to evaluate and/or compare your results (e.g. what performance metrics or statistical tests)?

Poster

Each student or group required to present their final project in a poster form. A public poster session will be held at the end of semester and students will present their works. TAs will evaluate the quality, novelty and the size of the project and its presentation quality.

Final Report

Your final write-up is required to be between 6 - 8 pages using the provided template (We will provide the template via Canvas). Please use this template so we can fairly judge all student projects without worrying about altered font sizes, margins, etc. Submit your final submission through Canvas.


Course Logistics

  • We will be using Canvas for the announcements, assignments, lecture notes, recitation files, and grading.
  • Students should use Piazza for posting queries and finding team members for projects.
  • You are encouraged to resolve your doubts and queries in the Office hours.
  • You are encouraged to check the Announcement section in Canvas periodically to avoid missing out.
  • Office hours are spread across the week to better accommodate different schedules of all enrolled students, but let us know if you have any issues with the timings.
  • Polls will be taken on a regular basis to collect class feedback on lectures and recitations.

Accommodations for Students with Disabilities

If you have a disability and are registered with the Office of Disability Resources, I encourage you to use their online system to notify me of your accommodations and discuss your needs with me as early in the semester as possible. I will work with you to ensure that accommodations are provided as appropriate. If you suspect that you may have a disability and would benefit from accommodations but are not yet registered with the Office of Disability Resources, I encourage you to contact them at access@andrew.cmu.edu.


Statement of Support for Students’ Health and Well-being

Take care of yourself. Do your best to maintain a healthy lifestyle this semester by eating well, exercising, avoiding drugs and alcohol, getting enough sleep and taking some time to relax. This will help you achieve your goals and cope with stress.

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support. Counseling and Psychological Services (CaPS) is here to help: call 412-268-2922 and visit http://www.cmu.edu/counseling/. Consider reaching out to a friend, faculty or family member you trust for help getting connected to the support that can help.