RIT Department of Computer Science
Pattern Recognition (Topics in Artificial Intelligence) Fall 2010 | ![]() |
|
4005-759-01 (Lecture Room: 70-3500 (DPRL lab)), Instructor: Richard Zanibbi | ||
Office hours: 10-11:00am Tues. and Thurs., 1-3:00pm Fridays (70-3551, Golisano College) |
Home --- Syllabus --- Slides --- Assignments --- Programming --- Resources --- [ MyCourses ]
Submission Instructions: Please submit your programs and write-ups for each programming assignment through the MyCourses dropbox for the assignment (link above). All programming projects are to be completed individually.
Information on obtaining and using the MNIST handwritten digit dataset is provided below.
Using the designated drop box in MyCourses, please submit a single .zip
file containing 1) your assignment write-up as a .pdf file, 2) a README
summarizing how to run your programs, and 3) your MATLAB code for the
assignment.
You will be using the MNIST data for each of the questions below. All
programs should be implemented in MATLAB, using the PRTools library
for visualization and error reporting.
In the write-up, describe your implementation of the
two classification algorithms that you selected, along with any
design decisions that you made.
In the write-up, provide tables summarizing the classifier
error rates
and provide the confusion matrices. Discuss the results in terms
of properties of the algorithms that you implemented, including anything
arising from design decisions made for your implementations.
In the write-up, again present the error rates and confusion
matrices, compare the performance of the base classifiers and your
classifier ensemble, and then discuss the observed result for
the combination.
Submit a .pdf document providing your figures and comments for each question, all MATLAB programs needed to run your experiments, and a textfile named 'README' briefly explaining how to run your code using MATLAB/PRTools, and identifying which program corresponds to which question.
Make sure to first check that you have properly installed PRTools,
and put the directory containing the prtools files in the MATLAB search
path.
To obtain the MNIST data set, download the
files stored here, and place them in a directory within your
MATLAB search path. The training and testing sets are raw image data: each feature
vector is a 28 x 28 image, stored as a single vector with 784 elements.
selx makes use of a more general selection function called selectx.
To select all the testing data images containing the digit '3', and then print the
first 200 of them, issue the following:
Once you have downloaded the data, you can use the built-in PRTools functions to
generate simple classifiers (e.g. linear discriminant classifiers using ldc),
apply feature transformations, etc. (see the PRTools documentation).
Additional Notes:
You may use methods built-in to PRTools for this portion of the
assignment. You may scale and/or normalize the features if you
wish.
Implement the functions so that the result is a PRTools
`mapping' (classifier); this will allow you to use your classifiers
with the existing PRTools utilities
(see the PRTools manual for details on how to implement mappings).
Assignment 1 (Due Thurs, Sept. 23)
PRTools Data and Utility Functions for MNIST
Threes = selectx( Test, findlabels(Test, [3]) );
The semi-colon (;) prevents MATLAB from printing out the results of an operation
(this can have a significant impact on the speed of a MATLAB program). Here
findlabels is a PRTools method used to obtain a vector of index values
for instances in a dataset with given label(s) (here just threes: [3]).
show( selx(Threes, 1, 200) );