CSE 455/555 Introduction to Pattern Recognition

Instructor Wen Dong

Time & Location 8:00am – 9:20am on Tuesdays and Thursdays @ Cooke 121

Recitation

Office Hours 10am – noon on Tuesdays @ Davis 306

TA Office Hours noon – 4pm on Fridays @ Davis 302

Pattern recognition is a research area on labeling objects from noisy signals using computer algorithms and visualizing patterns. While pattern recognition, machine learning and data mining are all about learning to label objects,

- pattern recognition researchers are interested in coping signals and visualizing the patterns,
- machine learning researchers have a focus on the mathematical guarantee of learn-ability,
- data mining researchers have a focus on making sense out of big data.

Pattern recognition workflow involves iterating between data acquisition, preprocessing, feature extraction, feature selection, model selection and training, evaluation until delivering a solution. While traditional pattern recognition mostly concerns feature selection and model training, the availability of big data and neural network frameworks such as Tensorflow and Torch also makes automatic feature extraction as a pattern recognition topic.

As an introductory course at the senior level and first year graduate level, we will be covering the concepts of traditional and modern pattern recognition, train students to wield probability theory tools to solve pattern recognition problems, and prepare students for advanced research/industrial projects in this field.

After taking this course, students should be able to design pattern recognition algorithms to solve real-world problems. In order to design such algorithms, students should feel comfortable with

formulating a pattern recognition problem using Bayesian decision theory, estimate the probability distributions of features using both parametric methods and nonparametric methods, understand the design principles, algorithms and applications of well-developed tools such as

- discriminant analysis,
- support vector machine,
- neural networks,
- graphical models,
- ensemble methods, and

cope with real-world problems with Python, R or MATLAB.

Assessment will be based on five problem sets, mid-term and final exams and class participation. Late submissions are worth only half credits.

- 5 problem sets, each involving coding, 10% each.

- Problem set 1: out 02/14, submission 02/28
- Problem set 2: out 02/28, submission 03/13
- Problem set 3: out 03/13, submission 03/27
- Problem set 4: out 03/27, submission 04/10
- Problem set 5: out 04/10, submission 04/24

- Course participation, in terms of pop-quiz and self-assessments, 20%
- Mid-term: 10%
- Final: 20%

(subject to change based on the learning progress)

- 1/28 Introduction
- 2/04 Bayesian Decision Theory
- 2/11 Maximum likelihood and Bayesian Parameter Estimation
- 2/18 Non-Parametric Techniques
- 2/25 Graphical Models
- 3/03 Graphical Models & Review 1
- 3/10 Linear Discriminant Functions
- 3/24 Support Vector Machine and Kernel Methods
- 3/31 Multi-layer Neural Networks
- 4/07 Deep Learning
- 4/14 Deep Learning
- 4/21 Stochastic Methods
- 4/28 Unsupervised Learning and Clustering
- 5/05 Time series and Review 2

Required

- Duda, Hart and Stork. Pattern classification
- Bishop, Christopher M. Pattern Recognition and Machine Learning

Recommended

- Francois Chollet. Deep learning with Python
- Francois Chollet. Deep learning with R
- Goodfellow, Ian, et al. Deep learning
- Kiran R Karkera. Building Probabilistic Graphical Models with Python
- Soren Hojsgaard, David Edwards, Steffen Lauritzen. Graphical models with R
- Cristianini and Shawe-Taylor. Introduction to support vector machines and other kernel-based learning methods
- Kevin Murphy. Brief Introduction to Graphical Models and Bayesian Networks
- Seni and Elder. Ensemble methods in data mining

- Wen Dong (instructor): 10am-12am on Tuesdays at Davis 306 and by appointment
- Qian Cheng, Yan Shen (TA): 1pm-5pm on Fridays at Davis 302 and by appointment