10. A computer program embodied on a non-transitory computer-readable medium, the program configured to cause at least one processor to: initialize atoms φ k of a feature dictionary Φ by imprinting a set of unlabeled patches x; for each unlabeled patch in x, seek a coefficient vector y such that y is sparse and Φy approximates x; find an approximate solution for y; and update Φ using a learning rule.
12. The computer program of claim 10 , wherein the program is further configured to cause the at least one processor to draw the set of unlabeled patches x for an image dataset.