Introduction to Machine Learning
Winter 2006 9:30-10:45pm TTh
Humans are capable of tackling extremely difficult problems without the
benefit of an a priori solution. They learn from experience and can often
transfer knowledge acquired to novel instances or even whole new tasks. Are machines
capable of similar problem solving prowess? This course will be a hands-on introduction
to the basics of machine learning. We will study multiple machine learning models
including neural networks, decision trees, rule-based systems, instance-based
learning, Bayesian learning, and genetic algorithms. In doing so, we will begin to
understand some of the issues and challenges facing attempts at machine learning --
generalization, bias, overfitting, model selection, feature selection and
learnability -- as well as being exposed to the pragmatics of implementing machine
The text for the class is Machine Learning
by Tom M. Mitchell. We will cover much of the text following the provided
You are responsible for reading the material for a given day prior to that day's
lecture. Because class time is limited, we may not cover everything in the text.
However, except where specifically noted otherwise, you are responsible for the
Most homework will be in the form of programming assignments (see the next section) and
an associated written report.
A few written problems will be due as the first homework assignment. These are to be
done on a word processor and be neat and professional. Good writing, grammar, punctuation,
etc. are important and can affect your grade. Additionally there will be one other
non-programming assignment -- producing a data set for a learning problem of your choice --
which will be an electronic submission. All assignments are due at the
beginning of class on the date indicated.
However, most of the work for this course will be in the form of programming and experimenting
with various machine learning models. This is where the pain and suffering occur.
For each of the machine learning models we study in depth, there will be a programming
assignment involving the implementation of
the model and experimentation with its abilities on one or more learning problems. A
short written report will also be due describing your efforts, results and conclusions
(see the comments above on writing assignments).
The report is limited to no more than four single-spaced pages using 12 point font, including
all figures. Figures are not to be hand-drawn and should be large enough to be easily legible.
Anything beyond the four page limit will not be graded! You must work to include all important
information in the allotted four pages. Communicating clearly and concisely what you have to say is an important skill you will use throughout your career.
These programming assignments will help you gain not only a mastery of the models themselves
but also a beginning understanding of the major issues involved in designing machine
learning methods. Finally, by the end of the course, you will have developed a suite of
machine learning algorithms that will be usable (and useful) in the future.
There will be one mid-term (administered in the testing center) and one final
(administered in class). These tests will be timed, you will be allowed one page of notes, and they will
consist of written problems testing your understanding of the machine learning models and
issues covered in class. If you put in the time on the homework and programming
assignments, the tests should not be too difficult. Explicitly, the final will only deal
with material not covered on the midterm; however, it will be implicitly comprehensive in
that it will assume you understand the material covered throughout the course.
Grading will be on a weighted curve. An approximate breakdown is as follows:
Although your final class grade will not be available until the end of the
term, a cumulative point total will be
available on line and will be updated approximately weekly. You should
check this periodically to ensure that my records are in accordance with
the work you have done. Please bring any discrepancies to my attention immediately
as these things are usually easily resolved early and are often much more difficult as time passes.
- Homework and Programming Assignments 50%
- Midterm 25%
- Final 25%
Late assignments will be penalized 10% per day late, not counting Sundays.
However, if you have a good excuse (i.e. something different from your
fellow students) just come and talk to me about it (before hand, if at all
possible), and you will not be penalized. Of course, nothing will be
accepted after the last day of class.
You may work together with other members of the class; however, do NOT turn in other
people's work. This is a fine line that may require some judgment on your part.
Examples of acceptable collaboration: discussing homework problems and solutions
with others in the class; posting questions and/or answers to questions on the class
newsgroup; comparing learning results and conclusions from programming assignments with
other class members. Unacceptable collaboration would be simply copying homework, code or
test answers from a friend or allowing someone else to copy homework, code or test answers.
Academic dishonesty will be grounds for failure of the course; however, I do not anticipate that
we will have any questions or problems in this area.
Appealing grades on assignments and on tests begins with you. Make an effort to understand
why you received the score that you did and make sure that you have a good reason to
appeal. If after making these efforts, you still feel like you have a concern, the next
step is to calmly and intelligently discuss it with TA. If after taking both
of these steps you still are not satisfied, come see me.
Make sure you have done the reading and tried to understand on your own before you ask
questions. If you do not, it is usually readily apparent. This can lead to crankiness,
and crankiness never was happiness. When you don't understand something, ask; there are
no dumb questions -- unless you haven't done your reading.
Class attendance and participation is expected. This is not because I feel the need to
have students in class; instead, it is because your attendance and participation guarantee
you a better learning experience.