EECS 349 - Machine Learning
CATALOG DESCRIPTION: Machine Learning is the study of algorithms that improve automatically through experience. Topics covered typically include Bayesian Learning, Decision Trees, Genetic Algorithms, Neural Networks.
- Machine Learning, Tom Mitchell, McGraw Hill, 1997
- Introduction to Machine Learning (Adaptive Computation and Machine Learning series) [Hardcover], Ethem Alpaydin (Author) The MIT Press; second edition (December 4, 2009) ISBN-10: 026201243X; ISBN-13: 978-0262012430
REFERENCE TEXTBOOKS: Selected papers from journals and conferences presenting research on Machine Learning
COURSE GOALS: To expose students to concepts and methods in machine learning. To give students a basic set of machine learning tools applicable to a variety of problems. To teach students critical analysis of machine learning approaches so that the student can determine when a particular technique is applicable to a given problem.
PREREQUISITES: EECS 214 or EECS 325 OR Graduate Standing and equivalent programming experience.
DETAILED COURSE TOPICS:
This is an example set of topics. The exact subset will vary depending on year.
- Decision Tree Learning
- Artificial Neural Networks
- Evaluating Hypotheses
- Bayesian Learning
- Computational Learning Theory
- Instance-Based Learning
- Genetic Algorithms
- Learning Sets of Rules
- Combining Inductive and Analytical Learning
- Reinforcement Learning
HOMEWORK ASSIGNMENTS: Reading assignment from the Machine Learning Literature and problem sets from the textbook.
LABORATORY ASSINGMENTS: There will be several lab assignments. Students will be required to implement machine learning algorithms and analyze their performance on example sets of data. Example algorithms include: feed-forward multilayer neural networks, decision trees, hidden Markov models, automated clustering techniques.
GRADES: Will be based on a combination of problem sets, reading assignments and programming assignments.
COURSE OBJECTIVES: When a student completes this course, s/he should be able to: 1) analyze a problem and determine which machine learning approach may be best suited to solving the problem and 2) implement the chosen approach.