logo Hurry, Grab up to 30% discount on the entire course
Order Now logo

Ask This Question To Be Solved By Our ExpertsGet A+ Grade Solution Guaranteed

expert
StatAnalytica ExpertPhilosophy
(5/5)

517 Answers

Hire Me
expert
Tessa DuckworthMarketing
(5/5)

730 Answers

Hire Me
expert
Aashif AliStatistics
(5/5)

956 Answers

Hire Me
expert
Farukh AbdullaEconomics
(5/5)

522 Answers

Hire Me
Python Programming

In this assignment you will work with the USPS handwritten digit dataset. In particular, the training data set contains handwritten digits 4 and 9

INSTRUCTIONS TO CANDIDATES
ANSWER ALL QUESTIONS

CS 475 Assignment 6 (100 pts)

General instructions:

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

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

Related Questions

. The fundamental operations of create, read, update, and delete (CRUD) in either Python or Java

CS 340 Milestone One Guidelines and Rubric  Overview: For this assignment, you will implement the fundamental operations of create, read, update,

. 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

Retail Transaction Programming Project  Project Requirements:  Develop a program to emulate a purchase transaction at a retail store. This

. The following program contains five errors. Identify the errors and fix them

7COM1028   Secure Systems Programming   Referral Coursework: Secure

. Accepts the following from a user: Item Name Item Quantity Item Price Allows the user to create a file to store the sales receipt contents

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

. The final project will encompass developing a web service using a software stack and implementing an industry-standard interface. Regardless of whether you choose to pursue application development goals as a pure developer or as a software engineer

CS 340 Final Project Guidelines and Rubric  Overview The final project will encompass developing a web service using a software stack and impleme