The goal of machine learning is to build computer systems that
automatically solve problems using sample data and past experience. This course
provides an overview of the state-of-art algorithms along with their theoretical
and practical aspects. In this course, students will have an opportunity to have
hands-on experience to understand the basic principles of these machine learning
Bayesian decision theory, parametric methods, nonparametric
methods, decision trees, linear discrimination, ,multilayer perceptrons,
unsupervised learning and clustering, hidden Markov models, genetic algorithms,
and reinforcement learning.
- Familiarity with the basic probability theory, statistics, and
- Knowledge of a programming language(Java, C/C++, Matlab, etc.) to write
reasonably non-trivial programs.
The exams will be closed book. You may bring only 4 sheets
(back and front = 8 pages) of your handwritten notes to the exam.
Homeworks will be programming assignments that require
students to implement machine learning algorithms. Students are expected to work
in groups of two for the assignments. For each assignment, students will be expected
to write a detailed report on their findings by running their algorithms on
given data sets.
Assignments are expected to be turned in by 17:00 on the due
date. For the late assignments, each group will be given a total of three grace
days (whole or partial) for the whole semester. Once these late days have been
exhausted, no late assignments will be accepted. As an example, if Group A
submits their 1st assignment 29 hours late, they will have used two late days and
have only one day left. If Group A then submits their 3rd assignment 5 hours late,
they will have used their remaining late day. If Group A submits their 4th
assignment 1 minute late, this assignment will not be accepted.
Copying or communicating during an exam is cheating.
Students caught cheating on an exam will be subject to disciplinary action,
as explained in the "Student Disciplinary Rules and Regulation"
Students in the same group are expected to work together.
On the other hand, students in different groups are not allowed to discuss the
solutions of programming assignments or to get help to write their codes and
reports. Students caught cheating on assignments will also be subject to