Unsupervised Learning by Convex and Conic Coding