About
Table of contents
Lecture
- Mondays, Wednesdays 3:30-4:45pm
Textbook(s)
There are two excellent ML textbooks that are freely available online. Readings will be assigned from both. There is value in seeing multiple perspectives on the same material. If a concept you encounter seems confusing at first, try reading about it in the other book to get a different perspective.
- Hal Daumé III, A Course in Machine Learning
- Kevin P. Murphy, Probabilistic Machine Learning: An introduction
Resources
Prerequisites
This is an undergraduate course on Machine Learning. The course will involve a lot of math and programming. To succeed, you will need a strong programming background. You should be comfortable working on medium-to-large software projects in Python and be comfortable learning and using new Python libraries, or you should have developed the ability to independently learn a new programming language and environment very quickly. The course also assumes mastery of basic concepts in probability, linear algebra and calculus.
Assignments / Grading
Graded work will include both written and programming assignments. Assignments should be submitted to Gradescope by 11:59pm on the day they are due. Each student will have 3 flexible days to turn in late homework throughout the semester. The flexible days can be used in case of illness, or any other reason that you may need extra time to complete the assignment. As an example, you could turn in the first homework 2 days late and the second homework 1 day late without any penalty. After that you will loose 20% for each day an assignment is handed in late. Please email your homework to the instructor in case of any technical issues with submission. Final project reports will not be accepted late.
Programming Assignments (Projects) - 40%
We plan to assign three or four programming assignments that provide hands-on experience implementing algorithms discussed during lecture. The assignments are in Python. Completing these projects will often require waiting for your models to train (this can range up to about 30 minutes to hours depending on the efficiency of your implementation), so we strongly recommend starting work on these programming assignments well in advance of the deadline, as ML algorithms are more difficult to debug than traditional computer programs. If you start working on an assignment the day before it is due, it is unlikely you will be able to complete it on time.
Written Assignments (Problem Sets) - 20%
The written assignments will mostly be mathematical. You can scan and upload your solution to Gradescope. Please write answers clearly, since we won’t be able to provide credit for answers that we are not legible.
Midterm Exam - 15%
The midterm will be similar in format to the written assignments (problem sets), but will be more substantial.
Participation - 5%
You will receive credit for asking and answering questions related to the homework on Piazza, engaging in discussion in class and generally for participating in the class.
Final Project - 20%
The final project is an open-ended assignment, with the goal of gaining experience applying the techniques presented in class to real-world datasets. Students should work in groups of 2-4. It is a good idea to discuss your planned project with the instructor to get feedback. The final project report should be 4 pages. The report should describe the problem you are solving, what data is being used, the proposed technique you are applying in addition to what baseline is used to compare against.
Academic Integrity
Any assignment or exam that you hand in must be your own work (with the exception of group projects). However, talking with others to better understand the material is strongly encouraged. Copying a solution or letting someone copy your solution is considered cheating. Everything you hand in must be your own words. Code you hand in must be written by you, with the exception of any code provided as part of the assignment. Any collaboration during an exam is considered cheating. Any student who is caught cheating will be reported to the Office of Student Integrity. Please don’t take a chance - if you are having trouble understanding the material, let us know and we will be happy to help.