CS 341: Machine Learning


How does Netflix learn what movies a person likes? How do computers read handwritten addresses on packages, or detect faces in images? Machine learning is the practice of programming computers to learn and improve through experience, and it is becoming pervasive in technology and science. This course will cover the mathematical underpinnings, algorithms, and practices that enable a computer to learn. Topics will include supervised learning, unsupervised learning, evaluation methodology, and Bayesian probabilistic modeling. Students will learn to program in MATLAB and apply course skills to solve real-world prediction and pattern recognition problems. Programming intensive.

Instructor: Dan Sheldon  dsheldon (at) mtholyoke (dot) edu
Meeting time: Mondays and Wednesdays from 2:40–3:55
Location: Kendade, Room 303
ella: https://ella.mtholyoke.edu/portal/site/COMSC-341-01-FA12
Contacting me:
  • Office hours: Monday 4-5 p.m. / Tuesday 7:15-8:30 p.m. / by appointment, Clapp 200
  • Email: Email is a very good way to get hold of me for administrative items. I will typically respond within 24 hours (48 hours on weekends), if not much sooner, to emails about administrative items. For help on assignments, please come to office hours.
  • Note: Because I have a joint appointment, I will be at UMass on non-class days, which is why office hours are held on the same days as class. If this situation is not working for you, let me know and we'll work something out!

Prerequisites:

  • The two official prerequisites are Computer Science 211 Data Structures and Math 232 Discrete. Together these should ensure what really matters: (1) you should be comfortable programming in some language, and (2) you are not afraid of math.
  • A word about math: machine learning is inherently mathematical. This course will utilize some material from basic calculus, probability and statistics, and linear algebra. I will teach or review the necessary material, so you do not need to know it in advance. However, you should be comfortable with math.

luckey_sun | Flickr via Creative Commons


Required Textbook and Other Resources

The required textbook is Artificial Intelligence: A Modern Approach, Third Edition, by Russell and Norvig.
  • It is important to get the third edition (cover shown at right), which has substantial changes to the machine learning content of the book.
  • The book is not available at Odyssey Bookstore. You can get it from Amazon ($111.99). Various digital versions are also available (e.g. from CourseSmart for $63.99).
  • This course will draw primarily from Chapters 13–15, 18, and 20, which discuss probabilistic reasoning and learning. The rest of the book is an outstanding and widely used text on Artificial Intelligence (AI); if you wish to study AI in the future, consider purchasing a hard copy.
A number of other resources are available: The Bishop and Alpaydin books, as well as one copy of Russell and Norvig, are on reserve at the MHC library.

Course Purpose and Goals

Machine learning is a broad area which encompasses many different problems, algorithms, and application areas. We will chart a path through machine learning that explores a subset of topics in enough detail to gain a deep understanding of each. Like many ML courses, this one is primarily organized around specific problems and algorithms. However, the goal is to understand the basic building blocks and general principles that allow one to develop, apply, and evaluate machine learning algorithms. These include the following: The skills learned in this class will prepare the student to explore much more widely within the field of machine learning.

Tentative List of Topics

As the term unfolds, I will update the actual course schedule with the topics covered as well as readings, assignments, and other resources.


Course Policies

Coursework

The coursework will consist of homework assignments due every Wednesday, and a course project. Later in the semester, the homework assignments will become easier to allow students time to work on the project. There will be no exams.

Late submissions

Each student will have five free late days to be used on homeworks and project milestones (charged to every member of the project group). Each late day buys exactly 24 hours from the original due date at the beginning of class (so 24.5 hours = 2 late days). If you use up your late days, you will be penalized 33% of the assignment's value for each day or fraction thereof that it is late (0–24 hours = 33% penalty; 24–48 hours = 66% penalty; 48+ hours = no credit). Since I will not generally be at Mt. Holyoke on non-class days, late work should be submitted via ella. It is your responsibility to scan any written work and submit it in pdf form.

Late days may not be used on the final project report.

Grading