RIT Department of Computer Science |
Catalogue Description
An introduction to pattern classification and structural pattern recognition. Topics include Bayesian decision theory, evaluation, clustering, feature selection, classification methods (including linear classifiers, nearest-neighbor rules, support vector machines, and neural networks), classifier combination, and recognizing structures (e.g. using HMMs and SCFGs). Students will present current research papers and complete programming projects such as optical character recognizers. (Pre-requisites: CSCI-331, CSCI-630 or permission of instructor).
Course Outcomes
- Students will understand Bayesian Decision Theory, the canonical classifier model, and how different classification methods define decision boundaries. Evaluation: Assignments and projects
- Students will be able to apply performance evaluation methods for pattern recognition. Evaluation: Projects
- Students will be able to select appropriate techniques for addressing recognition problems. Evaluation: Assignments and projects
- Students will be able to implement basic pattern recognition algorithms. Evaluation: Assignments and projects
- Students will be able to summarize current pattern recognition research verbally and in writing. Evaluation: Assignments and research paper presentations
Instructor Contact
Richard Zanibbi, PhD
Office: GOL-3551, Phone: (585) 475-5023
Email: rlaz@cs.rit.edu, Web: www.cs.rit.edu/~rlaz
Course Policies
Assignments and Projects
All assignments and programming projects will be completed individually. Assignments will be given out one week before they are due. They will include some combination of written questions and small programs/experiments.
There will be three course projects, in which we will incrementally construct a complete end-to-end system for recognizing mathematical expressions:
- Classifier ('OCR' for isolated math symbols)
- Segmenter & Classifier ('OCR' for math expressions)
- Parser (recognized symbols and symbol layout in a math expression)
Projects will be assigned three weeks before they are due.
Research Paper Presentations
A central part of the course is the presentation and discussion of research papers. The instructor will provide sources for papers one week before a presentation is given. Papers will be presented on classification, segmentation/clustering and parsing. Presentations will be given by groups of two students. The instructor will try to provide time for discussion of the papers presented in-class. Presentations will be short, between 5 and 10 minutes, depending upon the number of students presenting. Presentations will be graded based on their technical content and clarity.
Late Policy and Examination Rescheduling
Late submissions may be submitted at most two days late, with a 10% grade penalty each day. After 48 hours, late submissions will not be accepted. Note that the MyCourses dropbox for assignments will close 48 hours after the due date (i.e. 48 hours after the deadline).
Exams will only be rescheduled in the case of difficult situations for which there is formal documentation (e.g. a doctor's note). Contact the instructor as soon as possible if you encounter scheduling or other issues regarding the exams.
Disability Services Office
If you have special needs for seating, tests, note-taking services or other matters due to a disability, please contact the Disability Services Office (www.rit.edu/dso). If you receive approval for accomodation within the course, please contact me as soon as possible so that we can make the necessary arrangements.
Help with Mathematics
There is a significant amount of mathematical content in the course. If you find that you are challenged by notation or mathematical concepts used in the course, please make use of the instructor's office hours, or email the instructor to set up an appointment. If you need additional help after consulting the instructor, you are encouraged to make use of the RIT Academic Support Center, which has a drop-in center and a number of other useful resources.
Required Materials
- N/A
Additional Resources
- Materials related to writing reports and code for the course:
- Notes on Academic Writing for Computer Science (Prof. Zanibbi)
- Research Programming Guidelines (Prof. Zanibbi)
- Writing for Computer Science, 2nd edition, by Justin Zobel. An excellent introduction to writing and the research process in computer science (available in the library)
- Python Resources:
- python.org - Official Python website.
- Reference text: Python for Software Design (How to Think Like a Computer Scientist) Allen Downey's excellent introductory text on programming using Python (manuscript is available for free online). Code from the book is available here.
- Tutorials for Python 2.7 (the version of python we're using with the IPython shell ('pylab'))
- IDLE - Documentation for Python's Integrated DeveLopment Environment (NOTE: python 3 docs)
- matplotlib - the matlab-style plotting library which can be used in stand-alone python programs, or using the interactive IPython shell.
- These have been installed on the CS computer systems. To use 'pylab' remotely (e.g. on your laptop), you need to open an x-terminal (e.g. using X11 on Mac, using putty or a Cygwin terminal on Windows, or 'terminal' on Linux/Unix systems), and then login using: ssh -Y userid@glados.cs.rit.edu . '-Y' allows new windows to be created on your machine when new plot/figure windows are created by 'pylab.'
- Quick-start: this provides simple examples of how to use matplotlib in an interactive session with IPython. You should be able to do this using any of the computer science lab machines (e.g. glados.cs.rit.edu) using your CS computer account. If you do not have one, please contact the systems administrators to obtain one. Please make note of the comments on turning interactive plotting on and off (ion(), ioff(), and draw() to force a figure redraw) - as for large data, interactive mode can be slow).
- A number of textbooks on Pattern Recognition are available from the RIT library.
Grading
Component Weight Assignments (5) 30% Research Presentations (3) 20% Projects (3) 50%
CS Common Course Policies Include:
Rescheduling an Exam
Course Withdrawal
Disability Services
Academic Integrity