CS 760: Machine Learning (Spring 2017)

  • Instructor: David Page
    (Please put cs760 in email subject line; otherwise it's easy to overlook emails)
    Office Hours: 1pm-2pm Tuesdays and Thursdays in 1153/1154 WID
  • TAs:
    Kirthanaa Raghuraman
    kraghuraman (at) wisc (dot) edu
    Office Hour: 11 - 12 PM Tuesdays and 1:30 - 2:30 PM Wednesdays in CS 6382

    Heemanshu Suri
    hsuri (at) wisc (dot) edu
    Office Hour: 3:30 - 4:30 PM Tuesdays and Thursdays in CS 5384

  • Important Dates:
    • Class canceled on 2/20 and 3/8 because I'm out of town for FDA and NIH meetings. Office hours also canceled on 2/21, 3/3, 3/7, and 3/9 for the same reasons (and 3/3 for a talk at UCSD).
    • Exam: Wed, April 12, regular room and time (11am-12:30pm)
    • Project Proposals (1-page pdf by email to professor, 1 per group): March 15
    • Project Due Date (pdf by email to professor, 1 per group): May 7

  • Prerequisite: CS 540 or equivalent

  • Meeting Time and Location: 11am MWF, 132 Noland

  • Textbook:

    • Tom Mitchell (1997). Machine Learning. McGraw-Hill.
    • The following textbook is freely available for download and can be tested as alternative if you like: Shalev-Shwartz and Ben-David (2014). Let me know after the semester how it worked for you.

Course Overview

Many of the same technologies underly adaptive autonomous robots, scientific knowledge discovery, adaptive game playing and discovery from databases. This course will focus on these key underlying technologies, particularly supervised learning. The course will cover support vector machines, decision tree learners, neural network learning and Bayesian classifiers, among others. It also will address reinforcement learning and learning from relational data, including statistical relational learning and inductive logic programming. It will cover correct evaluation methodology, including case studies of methodological errors.

Course Outline

Course Requirements

The grading for the course will be be based on:

Homework Policy

The programming assignments are to be done individually. You may communicate with other class members about the problem, but please do not seek or receive help from people not in the class, and please do not share answers or code. Your programs may be in C, C++, Java, Perl, Python, or R. You must submit both linux executable and source code; your program should run on the CS Dept. lab computers. Please test them there; they will be graded based on how they run there, not elsewhere! Assignments are to be submitted at the course Canvas site.

Homework assignments are due at the start of class on the assigned due date, and late homeworks will be penalized 10 points (out of 100) for each day that passes after the assigned due date. Homeworks cannot be submitted more than one week late; the submission site will be locked at that time. At the start of the course every student will be given 5 "free" days, each of which may be used to offset a 10-point late penalty. Only 2 free days can be used for any given written assignment, so that solutions can be posted at next class period. Free days are non-transferable, and no credit will be given for unused free days. Nevertheless, please use them sparingly because the late penalty is strictly enforced. Please do not ask for special consideration for travel, exams in other classes, and other extenuating circumstances; this is what the free days are there for.

Homework Assignments

  • Assignment 1. Assigned 1/18, Due 2/1.
  • Assignment 2 Assigned 2/5, Due 2/19


    Projects must be done in groups of 4-5 people and will be due (pdf report and submission of any code written) to me by email, by 11:59pm on May 7. Late days cannot be used for the project because I need time to grade them all by the end of exam week, in order to compute final grades on time. Projects should be proposed by March 15 (verbal or email communication is acceptable). The basis for the project grade will be your written report. The report should be in the style of a conference paper, providing an introduction/motivation, discussion of related work, a description of your work that is detailed enough that the work could be replicated, and a conclusion. The format of the description of your work will depend on the nature of your project. If it is an implementation, then the description should make clear the algorithm(s) implemented and provide experimental results. If it is an application project, the description should say which system was used, how the data (or any other materials used) were collected, what experimental methodology was employed, and some estimate of the quality of the experimental results (e.g. a 10-fold cross-validation accuracy estimate). If it is a theoretical project, then the project description should consist of detailed definitions, theorems, and proofs.

    Sample Exams

    Additional Sample Exercises