Janardhan Rao (Jana) Doppa
jana AT eecs dot wsu dot
Mon, Fri 4-5
We will use
all the class announcements and discussions.
- [8/22] Welcome to CptS 570! Please check this page often for the
latest updates related to this course.
of the Course:
This course will provide an introduction to machine learning
algorithms and the fundamental concepts related to learning. These
algorithms are widely used in several real-world applications including
spam filters (classifying an email as spam or not spam); optical
character recognition (reading postal addresses); face recognition
(recognizing people from their images); speech recognition and
synthesis systems; and search engines (ranking webpages based on
keyword queries). Every machine learning algorithm has both a
computational aspect (how to compute the answer) and a statistical
aspect (how to ensure that future predictions are accurate), and there
is a strong interaction between the computational and statistical
A *tentative* list of the topics that will be covered in this course are as follows:
1) Introduction to different learning paradigms: supervised learning,
semi-supervised learning, unsupervised learning, active learning,
Supervised Learning: Learning a mapping from input-output pairs of
training examples (classification for discrete outputs, regression for
continuous outputs, and ranking for preferences)
2.1: Online learning -- general design principles and derivation of
different online learners (perceptron and passive-aggressive
algorithms); Optional (confidence-weighted, and exponentiated gradient
2.2: Support Vector Machines (SVMs) and Kernel methods
2.3: Naive Bayes and Logistic Regression classifiers
2.4: k-Nearest Neighbor (kNN); Decision tree classifiers; and Regression trees
2.5 Over-fitting and Under-computing in machine learning; Bias/Variance theory
2.6 Ensemble methods -- bagging and boosting
2.7 Approaches to prevent over-fitting -- penalty methods, cross-validation, and ensembles
2.8 Statistical and computational learning theory
2.8 Functional Gradient Boosting and variants
2.9 Ranking: Algorithms and Applications
2.10 Bayesian Optimization with applications to hyper-parameter tuning of machine learning algorithms
3) Unsupervised Learning
Mixture of Gaussians
4) Reinforcement Learning
Markov Decision Processes (MDPs) Formalism
Different RL settings
Basic ideas behind policy iteration and value iteration
Q-learning without and with function approximation
Classifier-based Policy Iteration (or Approximate Policy Iteration) for large-scale MDPs
5) Active Learning
Couple of popular algorithms
Objectives of the Course:
- Understand the different learning paradigms and their
applicability to different real-world applications
- Understand the different classifier learning algorithms, and
their pros and cons
- Understand the computational and statistical aspects of machine
learning algorithms, and their interactions
- Should be able to apply the classifier learning algorithms to
solve IID problems of reasonable complexity
- Should be able to read research papers in machine learning and
understand the issues raised by them
- 6 Homework Assignments (35%) -- The best five homeworks will be
counted towards your grade.
- 2 Midterm exams (40%)
- 1 Project (20%) -- projects will be done in small groups of two
or three students, and each team will present their project in class
during the finals week.
- Class participation (5%) -- I strongly encourage you to
participate in the discussions on piazza, interact with other students
and the instructor, and collaboratively learn from each other.
All assignments and project proposal/report are due at the start
class. The late policy is as follows.
- 0-24 hours late -- 80% of the final score
- 24-48 hours late -- 50% of the final score
- Beyond 48 hours -- 0%
If you are late, please slip the assignment through my office
- All exams are closed book. However, you will be allowed a cheat
sheet -- a double-sided 8.5 x 11 page.
- No electronic devices including laptops, mobile phones, and
tablets are allowed.
- All assignments should be done individually unless explicitly
- I strongly encourage you to try solving the assignments on your
own first, becuase this is the only way to achieve deep understanding
of the material -- It is very easy
to verify the solutions of even problems that are in class NP, but
generating the solution is not.
- If you find discussing the problems useful, please do so, but
list the names of all the collaborators on your homework. Note that,
the work you hand in should be your own.
- Please read the EECS
Academic Integrity policy and the graduate
Safety on Campus:
- I assume strong programming experience. There will be
programming assignments and you are allowed to program in any language
of your choice (C, C++, Java, Perl, Python, Matlab, Haskell, Scala etc.)
- Basic knowledge of different algorithmic paradigms
(divide-and-conquer, greedy, and dynamic programming), search
algorithms, probability, statistics, multi-variate calculus, and linear algebra is expected.
- NO prior background of Artificial Intelligence (AI) is required
-- this course stands on its own.
Accommodation for Students with
- Students with documented disabilities who may need accommodations
should visit the Disability Resource
Center (DRC). All accommodations MUST be approved through the
DRC (Admin Annex Bldg, Room 205). Please stop by or call 509-335-3417
to make an appointment with a disability specialist.
to Machine Learning
Different learning paradigms: supervised, semi-supervised,
unsupervised, active, and reinforcement learning
Homeworks and Exams
I will try to return all the homeworks and exams within a week after
submission. The rationale is to give you feedback as soon as possible,
which is very important for learning.
Textbooks and Additional
We will not follow any fixed textbook for this course. The
instructor will provide the lecture slides and notes at the begining of
An optional list of textbooks is as follows:
- A Course in Machine Learning, by
Hal Daume' III (chapters are available online).
- Machine Learning: A Probabilistic Perspective, by Kevin Murphy
Recognition and Machine Learning, by Chris Bishop.
Learning, by Tom Mitchell.
Classification, by Duda, Hart, and Stork (2nd Edition).
Elements of Statistical Learning: Data Mining, Inference, and Prediction,
by Trevor Hastie, Robert Tibshirani and Jerome Friedman.
A list of additional resources that you may find useful:
A list of machine learning software that you can use as needed:
I will add more links to additional software over time.