# Using non-negative matrix factorization (NMF) for facial recognition

I'm interested to find out how to implement NMF for facial recognition. I understand that the NMF works by taking V, which is a matrix of face images (n resolution x m persons), and factorize V = WH, where we get r basis vectors. I presume that this step is done using the training set. But I don't know how to proceed from here.

With PCA, after building the eigenfaces from the training set, we project the test image onto the face-space, then classify the image by comparing the weight coefficients between the test image and training images. But what about NMF? Do I use the basis vectors? What do I do with them?

NMF is not a classifier -- it is a transformation (or, more specifically, a factorization). We have $V \sim W H$, where (depending on your perspective) each column of $H$ corresponds to some "proto-image", and each row of $W$ corresponds to the amount that the corresponding row of $V$ is made up of each image.
One approach that I might suggest (and this is not the only approach) is to take your lower-dimensional data $W$ and use some other classification method on top of that. From this perspective there is no need for the basis vectors in $H$; you operate only with $W$. So this is like seeing NMF as a preprocessing dimensionality reduction step before some out-of-the-box classifier. An advantage here is that the rank of your decomposition is often much lower than your original dimensionality, which can (among other things) reduce the necessary training time.