# Sparse approximation

Sparse approximation (also known as sparse representation) theory deals with sparse solutions for systems of linear equations. Techniques for finding these solutions and exploiting them in applications have found wide use in image processing, signal processing, machine learning, medical imaging, and more.

## Sparse decomposition
### Noiseless observations

Consider a linear system of equations $x=D\alpha$, where $D$ is an underdetermined $m\times p$ matrix $(m<p)$ and $x\in \mathbb {R} ^{m},\alpha \in \mathbb {R} ^{p}$. The matrix $D$ (typically assumed to be full-rank) is referred to as the dictionary, and $x$ is a signal of interest. The core sparse representation problem is defined as the quest for the sparsest possible representation $\alpha$ satisfying $x=D\alpha$. Due to the underdetermined nature of $D$, this linear system admits in general infinitely many possible solutions, and among these we seek the one with the fewest non-zeros. Put formally, we solve
    $\min _{\alpha \in \mathbb {R} ^{p}}\|\alpha \|_{0}{\text{ subject to }}x=D\alpha ,$
where $\|\alpha \|_{0}=\#\{i:\alpha _{i}\neq 0,\,i=1,\ldots ,p\}$ is the $\ell _{0}$ pseudo-norm, which counts the number of non-zero components of $\alpha$. This problem is known to be NP-hard with a reduction to NP-complete subset selection problems in combinatorial optimization.
Sparsity of $\alpha$ implies that only a few ($k\ll m<p$) components in it are non-zero. The underlying motivation for such a sparse decomposition is the desire to provide the simplest possible explanation of $x$ as a linear combination of as few as possible columns from $D$, also referred to as atoms. As such, the signal $x$ can be viewed as a molecule composed of a few fundamental elements taken from $D$.
While the above posed problem is indeed NP-Hard, its solution can often be found using approximation algorithms. One such option is a convex relaxation of the problem, obtained by using the $\ell _{1}$-norm instead of $\ell _{0}$, where $\|\alpha \|_{1}$ simply sums the absolute values of the entries in $\alpha$. This is known as the basis pursuit (BP) algorithm, which can be handled using any linear programming solver. An alternative approximation method is a greedy technique, such as the matching pursuit (MP), which finds the location of the non-zeros one at a time.
Surprisingly, under mild conditions on $D$ (using the spark (mathematics), the mutual coherence or the restricted isometry property) and the level of sparsity in the solution, $k$, the sparse representation problem can be shown to have a unique solution, and BP and MP are guaranteed to find it perfectly.

### Noisy observations

Often the observed signal $x$ is noisy. By relaxing the equality constraint and imposing an $\ell _{2}$-norm on the data-fitting term, the sparse decomposition problem becomes
    $\min _{\alpha \in \mathbb {R} ^{p}}\|\alpha \|_{0}{\text{ subject to }}\|x-D\alpha \|_{2}^{2}\leq \epsilon ^{2},$
or put in a Lagrangian form,
    $\min _{\alpha \in \mathbb {R} ^{p}}\lambda \|\alpha \|_{0}+{\frac {1}{2}}\|x-D\alpha \|_{2}^{2},$
where $\lambda$ is replacing the $\epsilon$.
Just as in the noiseless case, these two problems are NP-Hard in general, but can be approximated using pursuit algorithms. More specifically, changing the $\ell _{0}$ to an $\ell _{1}$-norm, we obtain
    $\min _{\alpha \in \mathbb {R} ^{p}}\lambda \|\alpha \|_{1}+{\frac {1}{2}}\|x-D\alpha \|_{2}^{2},$
which is known as the basis pursuit denoising. Similarly, matching pursuit can be used for approximating the solution of the above problems, finding the locations of the non-zeros one at a time until the error threshold is met. Here as well, theoretical guarantees suggest that BP and MP lead to nearly optimal solutions depending on the properties of $D$ and the cardinality of the solution $k$.
Another interesting theoretical result refers to the case in which $D$ is a unitary matrix. Under this assumption, the problems posed above (with either $\ell _{0}$ or $\ell _{1}$) admit closed-form solutions in the form of non-linear shrinkage.

## Variations

There are several variations to the basic sparse approximation problem.
Structured sparsity: In the original version of the problem, any of the atoms in the dictionary can be picked. In the structured (block) sparsity model, instead of picking atoms individually, groups of them are to be picked. These groups can be overlapping and of varying size. The objective is to represent $x$ such that it is sparse while forcing this block-structure.
Collaborative (joint) sparse coding: The original version of the problem is defined for a single signal $x$. In the collaborative (joint) sparse coding model, a set of signals is available, each believed to emerge from (nearly) the same set of atoms from $D$. In this case, the pursuit task aims to recover a set of sparse representations that best describe the data while forcing them to share the same (or close-by) support.
Other structures: More broadly, the sparse approximation problem can be cast while forcing a specific desired structure on the pattern of non-zero locations in $\alpha$. Two cases of interest that have been extensively studied are tree-based structure, and more generally, a Boltzmann distributed support.

## Algorithms

As already mentioned above, there are various approximation (also referred to as pursuit) algorithms that have been developed for addressing the sparse representation problem:
    $\min _{\alpha \in \mathbb {R} ^{p}}\|\alpha \|_{0}{\text{ subject to }}\|x-D\alpha \|_{2}^{2}\leq \epsilon ^{2}.$
We mention below a few of these main methods.
* Matching pursuit is a greedy iterative algorithm for approximately solving the above problem. It works by gradually finding the locations of the non-zeros in $\alpha$ one at a time. The core idea is to find in each step the column (atom) in $D$ that best correlates with the current residual (initialized to $x$), and then updating this residual to take the new atom and its coefficient into account. Matching pursuit might pick the same atom multiple times.
* Orthogonal matching pursuit is very similar to matching pursuit, with one major difference: in each of the algorithm's step, all the non-zero coefficients are updated by a least squares. As a consequence, the residual is orthogonal to the already chosen atoms, and thus an atom cannot be picked more than once.
* Stage-wise greedy methods: Improved variations over the above are algorithms that operate greedily while adding two critical features: (i) the ability to add groups of non-zeros at a time (instead of one non-zero per round); and (ii) including a pruning step in each round in which several of the atoms are discarded from the support. Representatives of this approach are the Subspace-Pursuit algorithm and the CoSaMP.
* Basis pursuit solves a convex relaxed version of the problem by replacing the $\ell _{0}$ by an $\ell _{1}$-norm. Note that this only defines a new objective, while leaving open the question of the algorithm to use for getting the desired solution. Commonly considered such algorithms are the IRLS, LARS, and iterative soft-shrinkage methods.
* There are several other methods for solving sparse decomposition problems: homotopy method, coordinate descent, iterative hard-thresholding, first order proximal methods, which are related to the above-mentioned iterative soft-shrinkage algorithms, and Dantzig selector.

## Applications

Sparse approximation ideas and algorithms have been extensively used in signal processing, image processing, machine learning, medical imaging, array processing, data mining, and more. In most of these applications, the unknown signal of interest is modeled as a sparse combination of a few atoms from a given dictionary, and this is used as the regularization of the problem. These problems are typically accompanied by a dictionary learning mechanism that aims to fit $D$ to best match the model to the given data. The use of sparsity-inspired models has led to state-of-the-art results in a wide set of applications. Recent work suggests that there is a tight connection between sparse representation modeling and deep-learning.