This course surveys the major research areas of machine learning, concentrating on inductive learning. Topics will include Bayesian decision theory, maximum-likelihood estimation, Bayesian learning, linear machines, decision trees, rule induction, neural networks, instance-based approaches, genetic algorithms, evaluation, and applications. Students must take midterm and final exams, complete two programming projects using a language of their choosing, and complete a semester research project on a topic of their choosing.
The project must involve either using or developing machine-learning software to address an appropriate problem. This will include an informal proposal, due during the early part of the semester, and a research report, due at the end of the term, describing the problem, the past work of others, the approach taken, and empirical results. The research report should be roughly equivalent to a conference paper.
Students interested in enrolling in this course must have taken courses in elementary probability and statistics, integral calculus, and—most critically—data structures completed using a modern, high-level language, such as C++ or Java. For instance, students should have implemented trees with recursive manipulation routines. Students without this background should consult with the instructor prior to enrollment.
Primary Text:
Other Resources: