Machine Learning 10-601 in Fall 2013

From Cohen Courses
Jump to navigationJump to search

Instructor and Venue

  • Instructors: William Cohen and Eric Xing, Machine Learning Dept and LTI
  • Course secretary: Sharon Cavlovich, sharonw+@cs.cmu.edu, 412-268-5196
  • When/where: M/W 1:30-2:50, Doherty Hall 2315
    • Classes will start on Wednesday, Sept 4 (the Wed after Labor Day)
  • Course Number: ML 10-601
  • TAs:
    • William Yang Wang (ww@cmu.edu, yww@andrew)
    • Guanyu Wang (wgiveny@gmail.com, guanyuw@andrew)
    • Avinava Dubey (akdubey@andrew.cmu.edu)
    • Shu-Hao Yu ([junglesam9595@hotmail.com, shuhaoy@andrew)
    • Pengtao Xie (pengtaoxie2008@gmail.com, pengtaox@andrew)
    • plus others TBD....
  • Syllabus: Syllabus for Machine Learning 10-601
  • Office hours:
    • TBD
  • Email and forum:

Description

Machine Learning (ML) asks "how can we design programs that automatically improve their performance through experience?" This includes learning to perform many types of tasks based on many types of experience, e.g. spotting high-risk medical patients, recognizing speech, classifying text documents, detecting credit card fraud, or driving autonomous robots.

Topics covered in 10-601 include concept learning, version spaces, decision trees, neural networks, computational learning theory, active learning, estimation & the bias-variance tradeoff, hypothesis testing, Bayesian learning, Naïve Bayes classifier, Bayes Nets & Graphical Models, the EM algorithm, Hidden Markov Models, K-Nearest-Neighbors and nonparametric learning, reinforcement learning, bagging and boosting, neural networks, and other topics.

10-601 focuses on the mathematical, statistical and computational foundations of the field. It emphasizes the role of assumptions in machine learning. As we introduce different ML techniques, we work out together what assumptions are implicit in them. Grading is based on written assignments, programming assignments, and a final exam.

10-601 focuses on understanding what makes machine learning work. If your interest is primarily in learning the process of applying ML effectively, and in the practical side of ML for applications, you should consider Machine Learning in Practice (11-344/05-834).

10-601 is open to all but is recommended for CS Seniors & Juniors, Quantitative Masters students, and non-SCS PhD students.

Syllabus

Previous syllabi, for the historically-minded:

Prerequisites

Prerequisites are 15-122, Principles of Imperative Computation AND 21-127: Concepts of Mathematics.

Additionally, a probability course is a co-requisite: 36-217: Probability Theory and Random Processes OR 36-225: Introduction to Probability and Statistics I

A minimum grade of 'C' is required in all these courses.

Projects

These are proposed project ideas, for discussion by the 10-601 teaching team (Eric, William, and the TAs). No final decisions have been made about class projects at this time.

  • Building a deep belief network learning system (Eric's proposal). The project is to implement and train a deep belief network, and test it on the ImageNet dataset (the full dataset is 10M images, 10k categories, but we will choose a smaller subset for experimental purposes.) This could be run as a Kaggle-like competition.
  • Building and evaluating an out-of-the-box classifier learner (William's proposal). Some learning algorithms require more tuning to a new problem than others, but most of what is known about how to tune classifiers for a learning task is folklore, not science. The question here is: which algorithms are most robust? To address this I suggest a competition with these rules.
    • Submitted learners will be scored by their average error rates (say) over 5 evaluation learning tasks, each of which has an associated train/test split.
    • The evaluation tasks are not known in advance - instead there are 20 development learning tasks, each of which has an associated train/test split, to tune the learning system.
    • The learning system could be, for example:
      1. A plain classifier learner (eg, a standard implementation of random forests might be a good baseline)
      2. A classifier learner with a wrapper around it that does a parameter sweep and picks a set of parameters.
      3. A classifier learner with wrapper that is some sort of feature-selection mechanism.
      4. A set of K classifier learners, which uses internal cross-validation to pick the best set.
      5. A semi-automatic system, which requires some human input to make its final choice of classifier. (Not sure how to score this....?)
      6. Anything else you can think of.

Policy on Collaboration among Students

These policies are the same as were used in Dr. Rosenfeld's previous version of 2013.

The purpose of student collaboration is to facilitate learning, not to circumvent it. Studying the material in groups is strongly encouraged. It is also allowed to seek help from other students in understanding the material needed to solve a particular homework problem, provided no written notes are shared, or are taken at that time, and provided learning is facilitated, not circumvented. The actual solution must be done by each student alone, and the student should be ready to reproduce their solution upon request.

The presence or absence of any form of help or collaboration, whether given or received, must be explicitly stated and disclosed in full by all involved, on the first page of their assignment. Specifically, each assignment solution must start by answering the following questions:

(1) Did you receive any help whatsoever from anyone in solving this assignment? Yes / No.
If you answered 'yes', give full details: _______________ (e.g. "Jane explained to me what is asked in Question 3.4")
(2) Did you give any help whatsoever to anyone in solving this assignment? Yes / No.
If you answered 'yes', give full details: _______________ (e.g. "I pointed Joe to section 2.3 to help him with Question 2".

Collaboration without full disclosure will be handled severely, in compliance with CMU's Policy on Cheating and Plagiarism.

As a related point, some of the homework assignments used in this class may have been used in prior versions of this class, or in classes at other institutions. Avoiding the use of heavily tested assignments will detract from the main purpose of these assignments, which is to reinforce the material and stimulate thinking. Because some of these assignments may have been used before, solutions to them may be (or may have been) available online, or from other people. It is explicitly forbidden to use any such sources, or to consult people who have solved these problems before. You must solve the homework assignments completely on your own. I will mostly rely on your wisdom and honor to follow this rule, but if a violation is detected it will be dealt with harshly. Collaboration with other students who are currently taking the class is allowed, but only under the conditions stated below.