CS 475 Assignment 6 (100 pts)
General instructions:
You can work in a team of up to 4 people. Each team will only need to submit one copy of the source code, report, and write
All materials should be submitted through the WISE site. Please clearly indicate your team members’ information.
Reading part: Section 6.3 (PCA), PCA slides form week 12.
(100 pts) Implementation part: PCA
In this assignment you will work with the USPS handwritten digit dataset. In particular, the training data set contains handwritten digits 4 and 9. Each digit example is an image of by 16 by 16 pixels. Treating the gray-scale value of each pixel as a feature (between 0 and 255), each example has 16 16 = 256 features.
For each class, we have 700 training examples. You can view these images collectively at
http://www.cs.nyu.edu/~roweis/data/usps_4.jpg and http://www.cs.nyu.edu/~roweis/data/usps_9.jpg
The data is in csv format and each row corresponds to a handwritten digit image (the first 256 columns)
and its corresponding label (last column, 0 for digit 4 and 1 for digit 9). Note that you can use the Python command imshow (form matplotlib.pyplot) to view the image of a particular training example. For example, Xtrain[0] is the 0th row vector of 256 dimensions for a particular digit image, the following code allows you to see the image (I like to display them in blue):
Here, I use numpy (as np) and matplotlib.pyplot (as plt).
In this assignment you want to apply PCA to reduce dimensions of the training vectors. In particular:
Q Load the data. Make sure each training vector has 256 dimensions (features).
Q Construct matrix
where N is the number of training examples, xi is the ith training vector (with 256 dimensions), and
x¯ is a 256 dimensional mean (average) vector (off all training examples).
Q Find eigenvalues and eigenvectors of S. Rank eigenvalues in a decreasing order. You may use function stem to plot eigenvalues. Make sure the eigenvectors are in the order that corresponds to the order of the eigenvalues.
Q Determine the number of eigenvectors/eigenvalues to choose (i.e. new dimension) if you want to retain 75% of the variance after projection. Report this number.
Q Now pick first three eigenvectors (i.e., we will project 256 dimensional data onto 3 dimensional space). Display these three eigenvectors using imshow. These are the ”eigendigits” (analogy to ”eigenfaces”). Insert the image of those eigendigits into your report. Do they look like 4 ? or 9? or both? Discuss your observations.
Q Project each training vector (256 dimensional) onto 3 dimension space defined by first three eigenvec- tors. Plot new 3 dimensional data using scatter function. Make sure to use different color for each class.
Q Discuss your observation. Are the two classes well separated? If yes, explain why. If not, explain why.
67 Answers
60 Answers
DescriptionIn this final assignment, the students will demonstrate their ability to apply two majorconstructs of the C programming language – Functions and Arrays – to solve computationalproblems.Arrays provide a convenient way to store &
The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is anPath finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going through certain obstacles. As the main aim is to thinkabout path finding, we focus on the common task
Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individualDevelop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. TheLineItem class will represent an individual line item of merchandise that acustomer is purchasing.
SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define: SeaPortProgram e
Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define: SeaPortProgram e
The first programming project involves writing a program that parses, using recursive descent, a GUI definition language defined in an input file and generates the GUI that it defines. The grammar for this language is defined below:1Project 1The first programming project involves writing a program that parses, using recursive descent, a GUIdefinition language defined in an input file and generates the GUI that it defines. The grammar for thislanguage is defined below:gui ::= Wi
CMSC 335 Project SeaPort Solved Project 3 Introduction the SeaPort Project series For this set of projects for the course we wish to simulate some of the aspects of a number of Sea PortsCMSC 335 Project SolvedProject 3 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:
CMSC 335 Project 4 Solved SeaPort Introduction the SeaPort Project series For this set of projects for the course we wish to simulate some of the aspects of a number of Sea Ports Here are the classes and their instance variables we wish to defineProject 4 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define: SeaPortProgram ext
CMSC 451 Project 2 Solved The second project involves completing and extending the C++ program that evaluates statements of an expression language contained in the module 3 case studyProject 2 The second project involves completing and extending the C++ program that evaluates statements of an expression language contained in the module 3 case study. The statements of that expression language consist of an arithmetic expression f
CMSC 451 Project 1 Solved The first project involves benchmarking the behavior of Java implementations of one of the following sorting algorithms bubble sort selection sort insertion sort Shell sort, merge sort quick sort or heap sortCMSC 451 Project 1The first project involves benchmarking the behavior of Java implementations of one of thefollowing sorting algorithms, bubble sort, selection sort, insertion sort, Shell sort, merge sort,quick sort or heap sort. You must post your
The ready solutions purchased from Library are already used solutions. Please do not submit them directly as it may lead to plagiarism. Once paid, the solution file download link will be sent to your provided email. Please either use them for learning purpose or re-write them in your own language. In case if you haven't get the email, do let us know via chat support.
Get Free Quote!
268 Experts Online