Sparse coding is a method for finding a representation of data in which eac
h of the components of the representation is only rarely significantly acti
ve. Such a representation is closely related to redundancy reduction and in
dependent component analysis, and has some neurophysiological plausibility.
In this article, we show how sparse coding can be used for denoising. Usin
g maximum likelihood estimation of nongaussian variables corrupted by gauss
ian noise, we show how to apply a soft-thresholding (shrinkage) operator on
the components of sparse coding so as to reduce noise. Our method is close
ly related to the method of wavelet shrinkage, but it has the important ben
efit over wavelet methods that the representation is determined solely by t
he statistical properties of the data. The wavelet representation, on the o
ther hand, relies heavily on certain mathematical properties (like self-sim
ilarity) that may be only weakly related to the properties of natural data.