Instructor:
Janardhan Rao (Jana) Doppa

Email: jana AT eecs dot wsu dot edu

Office: EME 133

Office hours: Mon, Fri 4-5

Class email-list: We will use piazza for all the class announcements and discussions.

Email: jana AT eecs dot wsu dot edu

Office: EME 133

Office hours: Mon, Fri 4-5

Class email-list: We will use piazza for all the class announcements and discussions.

[
Announcements ] [ Course Information
] [ Lecture Schedule
] [ Homeworks and Exams
] [
Textbooks and Additional Resources ]

- [8/22] Welcome to CptS 570! Please check this page often for the
latest updates related to this course.

Contents
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 issues.

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, reinforcement learning

2) 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 algorithms)

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

Additional Topics:

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

K-Means clustering

Mixture of Gaussians

Dimensionality Reduction

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

Problem Setting

Couple of popular algorithms

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 issues.

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, reinforcement learning

2) 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 algorithms)

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

Additional Topics:

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

K-Means clustering

Mixture of Gaussians

Dimensionality Reduction

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

Problem Setting

Couple of popular algorithms

Learning
Objectives of the Course:

Course Policies:

Grading Policy:

All assignments and project proposal/report are due at the start of the class. The late policy is as follows.

Exam Policy:

Course Pre-requisites:

Safety on Campus:

Accommodation for Students with Disabilities:

- 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

Course Policies:

Grading Policy:

- 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 of the 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%

Exam Policy:

- 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
stated otherwise.

- 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
school policy.

Course Pre-requisites:

- 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.

Safety on Campus:

- Try to get familiar with the emergency procedures from the following links: http://alert.wsu.edu and http://safetyplan.wsu.edu/

Accommodation for Students with Disabilities:

- 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.

Date | Topic | Suggested / Optional reading |

Tue
8/23 Thu 8/25 |
Introduction
to Machine Learning Different learning paradigms: supervised, semi-supervised, unsupervised, active, and reinforcement learning |

We will not follow any fixed textbook for this course. The
instructor will provide the lecture slides and notes at the begining of
each class.

An optional list of textbooks is as follows:

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
- Pattern Recognition and Machine Learning, by Chris Bishop.
- Machine Learning, by Tom Mitchell.
- Pattern Classification, by Duda, Hart, and Stork (2nd Edition).
- The Elements of Statistical Learning: Data Mining, Inference, and Prediction, by Trevor Hastie, Robert Tibshirani and Jerome Friedman.

- A brief review of porbability concepts
- Linear Algebra video lectures from Prof. Gilbert Strang
- Video
lectures on multi-variate calculus

- Andrew Moore's Tutorials
- Andrew Ng's Machine Learning lecture notes

- WEKA
- LibSVM -- A popular SVM package
- LibLINEAR -- A library for linear SVMs and logistic regression classifiers
- Vowpal
Wabbit -- A very fast and scalable software of online learning
algorithms

- Open source machine learning software