CSI 5325: Introduction to Machine Learning, Spring 2012
Objectives
This is a course in machine learning, which is a broad, interesting, and fast-growing field. The central problem we address in this class is how to use the computer to make models which can learn, make inferences, or improve its behavior, based on observations about the world. Further, we would like to use the learned models to make predictions about unknowns.
Machine learning is related to artificial intelligence, but also uses a lot of computer science, statistics, logic, probability, information theory, geometry, linear algebra, calculus, optimization theory, etc. It would be good to brush up on these topics if they're rusty.
Practical information
Lectures are from 9:05 to 9:55 AM in Rogers 210 on Mondays, Wednesdays, and Fridays.
My office hours are listed on my home page. I am glad to talk to students during and outside of office hours. If you can't come to my office hour, please email me to make an appointment at another time.
Assignments
- Assignment 1: Linear regression, maximum likelihood, logistic regression
- Assignment 2: Ridge regression, Gaussian discriminant analysis, Naive Bayes, SVMs
- Assignment 3: Learning theory
- Assignment 4: Clustering and Generalized EM
Semester project
Here are guidelines on the semester project.
Schedule
Here is a schedule of the topics we will cover, which is subject to change:
- Supervised learning
- Supervised learning setup. LMS.
- Logistic regression. Perceptron. Exponential family.
- Generative learning algorithms. Gaussian discriminant analysis. Naive Bayes.
- Support vector machines.
- Model selection and feature selection.
- Ensemble methods: Bagging, boosting.
- Evaluating and debugging learning algorithms.
- Supervised learning setup. LMS.
- Learning theory
- Bias/variance tradeoff. Union and Chernoff/Hoeffding bounds.
- VC dimension. Worst case (online) learning.
- Practical advice on how to use learning algorithms.
- Bias/variance tradeoff. Union and Chernoff/Hoeffding bounds.
- Unsupervised learning
- Clustering. K-means.
- EM. Mixture of Gaussians.
- Factor analysis.
- PCA (Principal components analysis).
- ICA (Independent components analysis).
- Clustering. K-means.
- Reinforcement learning and control
- MDPs. Bellman equations.
- Value iteration and policy iteration.
- Linear quadratic regulation (LQR). LQG.
- Q-learning. Value function approximation.
- Policy search. Reinforce. POMDPs.
- MDPs. Bellman equations.
The midterm exam will be in class on Friday, February 24.
The final exam will be on Friday, May 4 at 4:30 PM. For the latest university finals information, check here.
Textbooks & resources
Some of the primary material will be based on the topics given at Andrew Ng's CS 229 course at Stanford. In particular, you should refer to the handouts (lecture notes, review notes, Matlab tutorials).
We will also be using Machine Learning by Tom Mitchell for some of the material.
We will also be reading from some papers in the research literature.
Other texts (I may draw some material from these):
- Pattern recognition and machine learning by Christopher Bishop.
- The Elements of Statistical Learning: Data Mining, Inference, and Prediction by Trevor Hastie, Robert Tibshirani, and Jerome Friedman.
- Introduction to Machine Learning by Ethem Alpaydin.
Further online resources:
- Andrew Moore has a number of nice tutorials on topics related to machine learning
- Tommi Jaakkola and MIT OpenCourseWare have provided a machine learning course with course materials available online
- KDD dataset repository -- has many popular machine-learning datasets
- Matlab tutorial
- LaTeX introduction, another LaTeX introduction, LaTeX reference
- Matrix reference manual
Grading
Grades will be assigned based on this breakdown:
- homeworks: 40%
- semester project: 20%
- midterm exam: 20%
- final exam: 20%
Here is a tentative grading scale:
A: 90-100, B+: 88-89, B: 80-87, C+: 78-79, C: 70-77, D: 60-69, F: 0-59
Some projects may be worth more than others. Exams are closed-book. The final will be comprehensive.
Policies
- Check this website every day for updates and announcements. We only meet a few times a week, but I may post updates at any time. It is your responsibility to follow these updates by reading this website.
- All work in this course is strictly individual, unless the instructor explicitly states otherwise. While discussion of course material is encouraged, collaboration on any work for the course is not allowed. Collaboration includes (but is not limited to) discussing with anyone other than the professor any material that is specific to completing an assignment. You are encouraged to discuss the course material with the professor, preferably in office hours, and also by email.
- Baylor policy requires 75% class attendance from each student. Even "excused" absences are included in the overall absent count. If a student attends less than 75% of the classes, he or she will automatically fail the course.
- Assignments which are late are not accepted without prior arrangement. Exams may be made up with prior arrangement (made at least one class before to the exam) or due to illness, with a note from a health care professional.
- Bring any grading correction requests to my attention within 2 weeks of receiving the grade or before the end of the semester, whichever comes first. After that, I will not adjust your grade. If you find any mistake in grading, please let me know.
Academic honesty
I take academic honesty very seriously.
Many studies, including one by Sheilah Maramark and Mindi Barth Maline have suggested that "some students cheat because of ignorance, uncertainty, or confusion regarding what behaviors constitute dishonesty" (Maramark and Maline, Issues in Education: Academic Dishonesty Among College Students, U.S. Department of Education, Office of Research, August 1993, page 5). In an effort to reduce misunderstandings in this course, a minimal list of activities that will be considered cheating have been listed below.
- Copying another student's work. Simply looking over someone else's source code is copying.
- Providing your work for another student to copy.
- Collaboration on any assignment, unless the work is explicitly given as collaborative work.
- Using notes or books during any exam.
- Giving another student answers during an exam.
- Reviewing a stolen copy of an exam.
- Plagiarism.
- Studying tests or using assignments from previous semesters.
- Providing someone with tests or assignments from previous semesters.
- Taking an exam for someone else.
- Turning in someone else's work as your own work.
- Studying a copy of an exam prior to taking a make-up exam.
- Providing a copy of an exam to someone who is going to take a make-up exam.
- Giving test questions to students in another class.
- Reviewing previous copies of the instructor's tests without permission from the instructor.
Copyright © 2012 Greg Hamerly, with some content
taken from a syllabus by Jeff Donahoo.
Computer Science Department
Baylor University