Sparse Coding is a framework of finding basis vectors and weights to decompose an input vector into the linear combination of a subset of basis vectors. The framework is very similar to Empirical Risk Minimization in that there's a loss and a penalty, except that the penalty is on the output, not the parameters. I believe sparse coding refers specifically to a linear model, but of course any combinations of transformation/loss/penalty could be used... we just need to add a penalty on the output. Should we just go ahead and add this to RegularizedObjective? It can default to NoPenalty.
ref:
http://ufldl.stanford.edu/wiki/index.php/Sparse_Coding
http://gabgoh.github.io/SARG/
cc: @gabgoh