Fast and Robust Recursive Algorithms for Separable Nonnegative Matrix Factorization
Nicolas Gillis, Stephen A. Vavasis
Introduction
A hyperspectral image consists of a set of images taken at different wavelengths. It is acquired by measuring the spectral signature of each pixel present in the scene, that is, by measuring the reflectance (the fraction of the incident electromagnetic power that is reflected by a surface at a given wavelength) of each pixel at different wavelengths. One of the most important tasks in hyperspectral imaging is called unmixing. It requires the identification of the constitutive materials present in the image and estimation of their abundances in each pixel. The most widely used model is the linear mixing model: the spectral signature of each pixel results from the additive linear combination of the spectral signatures of the constitutive materials, called endmembers, where the weights of the linear combination correspond to the abundances of the different endmembers in that pixel.
where is the abundance of the th endmember in the th pixel, with . Defining the -by- matrix and the -by- matrix with , the equation above can be equivalently written as where , and are nonnegative matrices. Given the nonnegative matrix , hyperspectral unmixing amounts to recovery of the endmember matrix and the abundance matrix . This inverse problem corresponds to the nonnegative matrix factorization problem (NMF), which is a difficult and highly ill-posed problem .
However, if we assume that, for each constitutive material, there exists at least one pixel containing only that material (a ‘pure’ pixel), then the unmixing problem can be solved in polynomial time: it simply reduces to identifying the vertices of the convex hull of a set of points. This assumption, referred to as the pure-pixel assumption , is essentially equivalent to the separability assumption : a nonnegative matrix is called separable if it can be written as where each column of is equal, up to a scaling factor, to a column of . In other words, there exists a cone spanned by a small subset of the columns of containing all columns (see Section 2.1 for more details). It is worth noting that this assumption also makes sense for other applications. For example, in text mining, each entry of matrix indicates the ‘importance’ of word in document (e.g., the number of appearances of word in text ). The factors can then be interpreted as follows: the columns of represent the topics (i.e., bags of words) while the columns of link the documents to these topics. Therefore,
Separability of (that is, each column of appears as a column of ) requires that, for each topic, there exists at least one document discussing only that topic (a ‘pure’ document).
Separability of (that is, each row of appears as a row of ) requires that, for each topic, there exists at least one word used only by that topic (a ‘pure’ word).
These assumptions often make sense in practice and are actually part of several existing document generative models, see and the references therein.
We focus in this paper on hyperspectral unmixing algorithms under the linear mixing model and the pure-pixel assumption, or, equivalently, to nonnegative matrix factorization algorithms under the separability assumption. Many algorithms handling this situation have been developed by the remote sensing community, see for a comprehensive overview of recent hyperspectral unmixing algorithms. Essentially, these algorithms amount to identifying the vertices of the convex hull of the (normalized) columns of , or, equivalently, the extreme rays of the convex cone generated by the columns of . However, as far as we know, none of these algorithms have been proved to work when the input data matrix is only approximately separable (that is, the original separable matrix is perturbed with some noise), and many algorithms are therefore not robust to noise. However, there exists a few recent notable exceptions:
Arora et al. [3, Section 5] proposed a method which requires the resolution of linear programs in variables ( is the number of columns of the input matrix), and is therefore not suited to dealing with large-scale real-world problems. In particular, in hyperspectral imaging, corresponds to the number of pixels in the image and is of the order of . Moreover, it needs several parameters to be estimated a priori (the noise level, and a function of the columns of ; see Section 2.4).
Esser et al. proposed a convex model with variables (see also where a similar approach is presented), which is computationally expensive. In order to deal with a large-scale real-world hyperspectral unmixing problem, the authors had to use a preprocessing, namely -means, to select a subset of the columns in order to reduce the dimension of the input matrix. Their technique also requires a parameter to be chosen in advance (either the noise level, or a penalty parameter balancing the importance between the approximation error and the number of endmembers to be extracted), only applies to a restricted noise model, and cannot deal with repeated columns of in the data set (i.e., repeated endmembers).
Bittorf et al. proposed a method based on the resolution of a single convex optimization problem in variables (cf. Section 5.2). In order to deal with large-scale problems (, ), a fast incremental gradient descent algorithm using a parallel architecture is implemented. However, the algorithm requires several parameters to be tuned, and the factorization rank has to be chosen a priori. Moreover, it would be impractical for huge-scale problems (for example for web-related applications where ), and the speed of convergence could be an issue.
2 Contribution and Outline of the Paper
In this paper, we propose a new family of recursive algorithms for nonnegative matrix factorization under the separability assumption. They have the following features:
They are very fast, running in approximately floating point operations, while the memory requirement is low, as only one -by- matrix has to be stored.
They are extremely simple to implement and would be easily parallelized.
They do not require any parameter to be chosen a priori, nor to be tuned.
The solution does not need to be recomputed from scratch when the factorization rank is modified, as the algorithms are recursive.
A simple post-processing strategy allows us to identify outliers (Section 3).
Even if the input data matrix is not approximately separable, they identify columns of whose convex hull has large volume (Section 4.1).
To the best of our knowledge, no other algorithms share all these desirable properties. The weak point of our approach is that the bound on the noise to guarantee recovery is weaker than in ; see Section 2.4. Also, we will need to assume that the matrix is full rank, which is not a necessary condition for the approaches above . However, in practice, this condition is satisfied in most cases. At least, it is always assumed to hold in hyperspectral imaging and text mining applications, otherwise the abundance matrix is typically not uniquely determined; see Section 2.1. Moreover, in Section 5.2, our approach will be shown to perform in average better than the one proposed in on several synthetic data sets.
The paper is organized as follows. In Section 2, we introduce our approach and derive an a priori bound on the noise to guarantee the recovery of the pure pixels. In Section 3, we propose a simple way to handle outliers. In Section 4, we show that this family of algorithms generalizes several hyperspectral unmixing algorithms, including the successive projection algorithm (SPA) , the automatic target generation process (ATGP) , the successive volume maximization algorithm (SVMAX) , and the -norm based pure pixel algorithm (TRI-P) . Therefore, our analysis gives the first theoretical justification of the better performances of this family of algorithms compared to algorithms based on locating pure pixels using linear functions (such as the widely used PPI and VCA algorithms) which are not robust to noise. This was, until now, only experimentally observed. Finally, we illustrate these theoretical results on several synthetic data sets in Section 5.
Robust Recursive NMF Algorithm under Separability
In this section, we analyze a family of simple recursive algorithms for NMF under the separability assumption; see Algorithm 1.
Given an input data matrix and a function , it works as follows: at each step, the column of maximizing the function is selected, and is updated by projecting each column onto the orthogonal complement of the selected column.
Instead of fixing a priori the number of columns of the input matrix to be extracted, it is also possible to stop the algorithm whenever the norm of the residual (or of the last extracted column) is smaller than some specified threshold.
In Section 2.1, we discuss the assumptions on the input separable matrix and the function that we will need in Section 2.2 to prove that Algorithm 1 is guaranteed to recover columns of corresponding to columns of the matrix . Then, we analyze Algorithm 1 in case some noise is added to the input separable matrix , and show that, under these assumptions, it is robust under any small perturbations; see Section 2.3. Finally, we compare our results with the ones from in Section 2.4.
In the remainder of the paper, we will assume that the original data matrix is separable, that is, each column of appears as a column of . Recall that this condition is implied by the pure-pixel assumption in hyperspectral imaging; see Introduction. We will also assume that the matrix is full rank. This is often implicitly assumed in practice otherwise the problem is in general ill-posed, because the matrix is then typically not uniquely determined; see, e.g., .
The assumption on matrix is made without loss of generality by
Permuting the columns of so that the first columns of correspond to the columns of (in the same order).
Normalizing so that the entries of each of its columns sum to one (except for its zero columns). In fact, we have that
By construction, the entries of each column of and sum to one (except for the zero columns of ), while the entries of each column of have to sum to one (except for ones corresponding to the zero columns of which are equal to zero) since .
In the hyperspectral imaging literature, the entries of each column of matrix are typically assumed to sum to one, hence Assumption 1 is slightly more general. This has several advantages:
It allows the image to contain ‘background’ pixels with zero spectral signatures, which are present for example in hyperspectral images of objects in outer space (such as satellites).
It allows us to take into account different intensities of light among the pixels in the image, e.g., if there are some shadow parts in the scene or if the angle between the camera and the scene varies. Hence, although some pixels contain the same material(s) with the same abundance(s), their spectral signature could differ by a scaling factor.
In the noisy case, it allows us to take into account endmembers with very small spectral signature as noise, although it is not clear whether relaxing the sum-to-one constraint is the best approach .
Our assumptions actually do not require the matrix to be nonnegative, as can be any full-rank matrix. In fact, after the first step of Algorithm 1, the residual matrix will typically contain negative entries.
We will also need to assume that the function in Algorithm 1 satisfies the following conditions.
Notice that, for any strongly convex function whose gradient is Lipschitz continuous and whose global minimizer is , one can construct the function satisfying Assumption 2. In fact, while for any since for any . Recall that (see, e.g., ) a function is strongly convex with parameter if and only if it is convex and for any
for any . Moreover, its gradient is Lipschitz continuous with constant if and only if for any
Convex analysis also tells us that if satisfies Assumption 2 then, for any ,
since and (because zero is the global minimizer of ).
The most obvious choice for satisfying Assumption 2 is ; we return to this matter in Section 4.1.
2 Noiseless Case
We now prove that, under Assumption 1 and 2, Algorithm 1 recovers a set of indices corresponding to the columns of .
where is the th column of the identity matrix.
By assumption on , we have for any ; see Equation (1). Hence, if , we have the result since for all . Otherwise where for at least one so that
The first inequality is strict since and for at least one , and the second follows from the fact that . ∎
Let the matrix satisfy Assumption 1 and the function satisfy Assumption 2. Then Algorithm 1 recovers a set of indices such that up to permutation.
First step. Lemma 1 applies since satisfies Assumption 2 while is full rank. Therefore, the first step of Algorithm 1 extracts one of the columns of . Assume without loss of generality the last column of is extracted, then the first residual has the form
i.e., the matrix is obtained by projecting the columns of onto the orthogonal complement of . We observe that satisfies the conditions of Lemma 1 as well because is full rank since is. This implies, by Lemma 1, that the second step of Algorithm 1 extracts one of the columns of .
Induction step. Assume that after steps the residual has the form with full rank. Then, by Lemma 1, the next extracted index will correspond to one of the columns of (say, without loss of generality, the last one) and the next residual will have the form where full rank since is, and is unchanged. By induction, after steps, we have that the indices corresponding to the different columns of have been extracted and that the residual is equal to zero (). ∎
3 Adding Noise
In this section, we analyze how perturbing the input data matrix affects the performances of Algorithm 1. We are going to assume that the input perturbed matrix can be written as where is the noiseless original separable matrix satisfying Assumption 1, and is the noise with for all for some sufficiently small .
Given a matrix , we introduce the following notations: , , , and .
then, for any ,
satisfies .
for ,
for , or
for and .
Before analyzing the different cases, let us provide a lower bound for . Using Equation (1), we have
Since is a feasible solution and , this implies . Recall that since is strongly convex with parameter , we have
Clearly, since and for all , cf. Equation (1).
for some . Using Equation (1), we have
since , a contradiction.
By strong convexity, we also have . Plugging it in (3) gives
for some :
for some , . First, we have
In fact, . Then, using
and , we obtain
For the upper bound (4), we use the fact that the gradient of is Lipschitz continuous with constant
for any , . The second inequality follows from the fact that and by Lipschitz continuity of the gradient: for any .
For the lower bound (5), we use strong convexity
for any , . The third inequality follows from the fact that
We can now prove the theorem which will be used in the induction step to prove that Algorithm 1 works under small perturbations of the input separable matrix.
satisfy Assumption 2, with strong convexity parameter , and its gradient have Lipschitz constant .
be sufficiently small so that .
Then the index corresponding to a column of that maximizes the function satisfies
and , which implies
First note that implies . Let us then prove Equation (6) by contradiction. Assume the extracted index, say , for which satisfies for . We have
where is the perturbed column of corresponding to (that is, the th column of ). The first inequality follows from Lemma 3. In fact, we have since and , (by convexity of ), and so that . The second inequality is strict since the maximum is attained at a vertex with for some at optimality (see proof of Lemma 2). The third inequality follows from Lemma 2 while the fourth follows from the fact that so that for all by Lemma 3.
We notice that, since ,
Combining this inequality with Equation (8), we obtain , a contradiction since should maximize among the columns of and the ’s are among the columns of .
To prove Equation (7), we use Equation (6) and observe that
so that . Therefore,
It is interesting to relate the ratio to the condition number of matrix , given by the ratio of its largest and smallest singular values .
In particular, this inequality implies that if then .
3.2 Error Bound for Algorithm 1
We have shown that, if the input matrix has the form
where and are sufficiently small and the sum of the entries of each column of is smaller than one, then Algorithm 1 extracts one column of which is close to a column of ; cf. Theorem 2. We now show that, at each step of Algorithm 1, the residual matrix satisfies these assumptions so that we can prove the result by induction.
We first give some useful lemmas; see and the references therein.
We can now prove the main theorem of the paper which shows that, given a noisy separable matrix where satisfies Assumption 1, Algorithm 1 is able to identify approximately the columns of .
and be the index set of cardinality extracted by Algorithm 1. Then there exists a permutation of such that
Let us prove the result by induction. First, let us define the residual matrix obtained after steps of Algorithm 1 as follows:
with is the orthogonal projection performed at step 5 of Algorithm 1 where is the extracted column of , that is, for some .
for some . Let us assume without loss of generality that . The next residual has the form
since
where the first inequality follows from being the projection of onto the orthogonal complement of . Moreover,
In fact, because of the orthogonal projections, while follows from
Lemma 7 applies since . The last inequality follows from since
For to satisfy the same conditions as , it remains to show that and . Let us show that these hold for all :
Since (see above), is implied by , that is,
By assumption on the matrix , these conditions are satisfied at the first step of the algorithm (we actually have that is an empty matrix), so that, by induction, all the residual matrices satisfy these conditions. Finally, Theorem 2 implies that the index extracted by Algorithm 1 at the th step satisfies
, and without loss of generality. Since the matrix is unchanged between each step, this implies where , hence
The second inequality is obtained using and so that
4 Bounds for Separable NMF and Comparison with the Algorithms of Arora et al. [3] and Bittorf et al. [6]
Arora et al. identify a matrix such that
The algorithm of Bittorf et al. identifies a matrix satisfying
By Theorem 3, Algorithm 1 therefore requires
This shows that the above bounds are tighter, as they only require the noise to be bounded above by a constant proportional to to guarantee an NMF with error proportional to . In particular, if is not full rank, Algorithm 1 will fail to extract more than columns of , while the value of can be much larger than zero implying that the algorithms from will still be robust to a relatively large noise.
To conclude, the techniques in based on linear programming lead to better error bounds. However, there are computationally much more expensive (at least quadratic in , while Algorithm 1 is linear in , cf. Section 1.1), and have the drawback that some parameters have to be estimated in advance: the noise level , and
the parameter for Arora et al. (which is rather difficult to estimate as is unknown),
the factorization rank for Bittorf et al. In their incremental gradient descent algorithm, the parameter does not need to be estimated. However, other parameters need to be tuned, namely, primal and dual step sizes., hence the solution has to be recomputed from scratch when the value of is changed (which often happens in practice as the number of columns to be extracted is typically estimated with a trial and error approach).
Moreover, the algorithms from heavily rely on the separability assumption while Algorithm 1 still makes sense even if the separability assumption is not satisfied; see Section 4.1. Table 1 summarizes these results. Note that we keep the analysis simple and only indicate the growth in terms of . The reason is threefold: (1) in many applications (such as hyperspectral unmixing), is much larger than and , (2) a more detailed comparison of the running times would be possible (that is, in terms of , , and ) but is not straightforward as it depends on the algorithm used to solve the linear programs (and possibly on the parameters and ), and (3) both algorithms are at least quadratic in (for example, the computational cost of each iteration of the first-order method proposed in is proportional to , so that the complexity is linear in ).
Outlier Detection
It is important to point out that Algorithm 1 is very sensitive to outliers, as are most algorithms aiming to detect the vertices of the convex hull of a set of points, e.g., the algorithms from discussed in the previous section. Therefore, one should ideally discard the outliers beforehand, or design variants of these methods robust to outliers. In this section, we briefly describe a simple way for dealing with (a few) outliers. This idea is inspired from the approach described in .
where for all , hence for all . Assuming has rank (hence ), the matrix above also satisfies Assumption 1. In the noiseless case, Algorithm 1 will then extract a set of indices corresponding to columns of and (Theorem 1). Therefore, assuming that the matrix has at least one non-zero element in each row, one way to identifying the outliers would be to
Extract columns from the matrix using Algorithm 1,
Compute the corresponding optimal abundance matrix , and
Select the columns corresponding to rows of with the largest sum,
see Algorithm 2. (Note that Algorithm 2 requires to solve a convex quadratic program, hence it is computationally much more expensive than Algorithm 1.)
It is easy to check that Algorithm 2 will recover the columns of because the optimal solution computed at the second step is unique and equal to (since is full rank), hence : for the indices corresponding to the columns of while : for the outliers; see Equation (14).
In the noisy case, a stronger condition is necessary: the sum of the entries of each row of must be larger than some bound depending on the noise level. In terms of hyperspectral imaging, it means that for an endmember to be distinguishable from an outlier, its abundance in the image should be sufficiently large, which is perfectly reasonable.
and be the index set of cardinality extracted by Algorithm 2. If
then there exists a permutation of such that
By Theorem 3, the columns extracted at the first step of Algorithm 2 correspond to the columns of and up to error . Let then and be the columns extracted by Algorithm 1 with .
At the second step of Algorithm 2, the matrix is equal to
up to the permutation of its rows. It remains to show that
so that the last step of Algorithm 2 will identify correctly the columns of among the ones extracted at the first step. We are going to show that
More precisely, we are going to prove the following lower (resp. upper) bounds for the entries of the first (resp. last ) rows of :
For , for all .
For , for all .
Therefore, assuming (a) and (b) hold, we obtain
which proves the result. It remains to prove (a) and (b). First, we have that
since leads to the best approximation of over (see step 2 of Algorithm 2) and .
Then, let us prove the upper bound for the block of matrix at position , that is, let us prove that
(Note that by construction, hence some of the bounds are trivial, e.g., for the block (1,2).) The derivations necessary to obtain the bounds for the other (non-trivial) blocks are exactly the same and are then omitted here. Let and and denote , and let also . We have
The first inequality follows from , and , while the second inequality follows from the fact that is a column of . The last inequality follows from the fact that the projection of any column of onto the subspace spanned by the other columns is at least . Finally, using Equations (17) and (18), we have , hence . ∎
Choices for f𝑓f and Related Methods
In this section, we discuss several choices for the function in Algorithm 1, and relate them to existing methods.
According to our derivations (see Theorem 3), using functions whose strong convexity parameter is equal to the Lipschitz constant of its gradient is the best possible choice (since it minimizes the error bounds). The only function satisfying Assumption 2 along with this condition is, up to a scaling factor, . In fact, Assumption 2 implies ; see Equation (1). However, depending on the problem at hand, other choices could be more judicious (see Sections 4.2 and 4.3). It is worth noting that Algorithm 1 with has been introduced and analyzed by several other authors:
Successive Projection Algorithm. Araújo et al. proposed the successive projection algorithm (SPA), which is equivalent to Algorithm 1 with . They used it for variable selection in spectroscopic multicomponent analysis, and showed it works better than other standard techniques. In particular, they mention ‘SPA seems to be more robust than genetic algorithms’ but were not able to provide a rigorous justification for that fact (which our analysis does). Ren and Chang rediscovered the same algorithm, which was referred to as the automatic target generation process (ATGP). It was empirically observed in to perform better than other hyperspectral unmixing techniques (namely, PPI and VCA ). However, no rigorous explanation of their observations was provided. In Section 5, we describe these techniques and explain why they are not robust to noise, which theoretically justifies the better performances of Algorithm 1. Chan et al. analyzed the same algorithm (with the difference that the data is preprocessed using a linear dimensionality reduction technique). The algorithm is referred to as the successive volume maximization algorithm (SVMAX). They also successfully use Algorithm 1 as an initialization for a more sophisticated approach which does not take into account the pure-pixel assumption.
Greedy Heuristic for Volume Maximization. Çivril and Magdon-Ismail showed that Algorithm 1 with is a very good greedy heuristic for the following problem: given a matrix and an integer , find a subset of columns of whose convex hull has maximum volume. More precisely, unless , they proved that the approximation ratio guaranteed by the greedy heuristic is within a logarithmic factor of the best possible achievable ratio by any polynomial-time algorithm. However, the special case of separable matrices was not considered. This is another advantage of Algorithm 1: even if the input data matrix is not approximately separable, it identifies columns of whose convex hull has large volume. For the robust algorithms from discussed in Section 2.4, it is not clear whether they will be able to produce a meaningful output in that case; see also Section 5.2 for some numerical experiments.
This choice limits the impact of large entries in , hence would potentially be more robust to outliers. In particular, as goes to zero, converges to while, when goes to infinity, it converges to (in any bounded set).
is strongly convex with parameter and its gradient is Lipschitz continuous with constant .
hence , and . ∎
For example, one can choose for which we have , which is slightly larger than one but is less sensitive to large, potentially outlying, entries of . Let us illustrate this on a simple example:
One can check that, for any , Algorithm 1 with recovers the first two columns of , that is, the columns of . However, using , Algorithm 1 recovers the columns of for any . Choosing appropriate function depending on the input data matrix and the noise model is a topic for further research.
The condition that the gradient of must be Lipschitz continuous in Assumption 2 can be relaxed to the condition that the gradient of is continuously differentiable. In fact, in all our derivations, we have always assumed that was applied on a bounded set (more precisely, the ball ). Since implies that is locally Lipschitz continuous, the condition is sufficient for our analysis to hold. Similarly, the strong convexity condition can be relaxed to local strong convexity.
For , is strongly convex with parameter with respect to the norm [22, Section 4.1.1], while its gradient is locally Lipschitz continuous (see Remark 3). For , the gradient of is Lipschitz continuous with respect to the norm with constant (by duality), while it is locally strongly convex. Therefore, satisfies Assumption 2 for any in any bounded set, hence our analysis applies. Note that, for and , the algorithm is not guaranteed to work, even in the noiseless case (when points are on the boundary of the convex hull of the columns of ): consider for example the following separable matrices
Numerical Experiments
In the first part of this section, we compare Algorithm 1 with several fast hyperspectral unmixing algorithms under the linear mixing model and the pure-pixel assumption. We first briefly describe them (computational cost and main properties) and then perform a series of experiments on synthetic data sets in order to highlight their properties. For comparisons of Algorithm 1 with other algorithms on other synthetic and real-world hyperspectral data sets, we refer the reader to since Algorithm 1 is a generalization of the algorithms proposed in ; see Section 4.
In the second part of the section, we compare Algorithm 1 with the Algorithm of Bittorf et al. .
Algorithm 1 with . We will only test this variant because, according to our analysis, it is the most robust. (Comparing different variants of Algorithm 1 is a topic for further research.) The computational cost is rather low: steps 3 and 5 are the only steps requiring computation, and have to be performed times. We have
Step 3. Compute the squared norm of the columns of , which requires times operations (squaring and summing the elements of each column), and extract the maximum, which requires comparisons, for a total of approximately operations.
Step 5. It can be compute in the following way
where computing requires operations, operations, and operations, for a total of approximately operations.
The total computational cost of Algorithm 1 is then about operations, plus some negligible terms.
If the matrix is sparse, will eventually become dense which is often impractical. Therefore, should be kept in memory as the original matrix minus the rank-one updates.
It is not robust to noise. In fact, linear functions can be maximized at any vertex of the convex hull of a set of points. Therefore, in the noisy case, as soon as a column of the perturbed matrix is not contained in the convex hull of the columns of , it can be identified as a vertex. This can occur for arbitrarily small perturbation, as will be confirmed by the experiments below.
If not enough linear functions are generated, the algorithm might not be able to identify all the vertices (even in the noiseless case). This is particularly critical in case of ill-conditioning because the probability that some vertices maximize a randomly generated linear function can be arbitrarily low.
If the input noisy data matrix contains many columns close to a given column of matrix , the score of these columns will be typically small (they essentially share the score of the original column of matrix ), while an isolated column which does not correspond to a column of could potentially have a higher score than these columns, hence be extracted. This can for example be rather critical for hyperspectral images where there typically are many pixels close to pure pixels (i.e., columns of corresponding to the same column of ). Moreover, for the same reasons, PPI might extract columns of corresponding to the same column of .
Vertex Component Analysis (VCA) . The first step of VCA is to preprocess the data using principal component analysis which requires . Then, the core of the algorithm requires operations (see below), for a total of operationsThe code is available at http://www.lx.it.pt/~bioucas/code.htm.. Notice that the preprocessing is particularly well suited for data sets where , such as hyperspectral images, where is the number of hyperspectral images with , while is the number of pixels per image with . The core of VCA is very similar to Algorithm 1: at each step, it projects the data onto the orthogonal complement of the extracted column. However, instead of using a strictly convex function to identify a vertex of the convex hull of (as in Algorithm 1), it uses a randomly generated linear function (that is, it selects the column maximizing the function where is randomly generated, as PPI does). Therefore, for the same reasons as for PPI, the algorithm is not robust. However, it solves the second and third pitfalls of PPI (see point (b) and (c) above), that is, it will always be able to identify enough vertices, and a cluster of points around a vertex are more likely to be extracted than an isolated point. Note that, in the VCA implementation, only one linear function is generated at each step which makes it rather sensitive to this choice. Finally, the two main differences between VCA and Algorithm 1 are that: (1) VCA uses a pre-processing (although we could implement a version of Algorithm 1 with the same pre-processing), and (2) VCA uses randomly generated linear functions to pick vertices of the convex hull of the columns of (which makes it non-robust to noise, and also non-deterministic).
Simplex Volume Maximization (SiVM) . SiVM recursively extracts columns of the matrix while trying to maximize the volume of the convex hull of the corresponding columns. Because evaluating the volumes induced by adding a column not yet extracted to the previously selected ones is computationally expensive, the function is approximated via a heuristic, for a total computational cost of operations (as for Algorithm 1). The heuristic assumes that the columns of are located at the same distance, that is, for all and . Therefore, there is not guarantee that the algorithm will work, even in the noiseless case; this will be particularly critical for ill-conditioned problems, which will be confirmed by the experiments below.
We now generate several synthetic data sets allowing to highlight the properties of the different algorithms, and in particular of Algorithm 1. We are going to consider noisy separable matrices generated as follows.
The matrix will be generated in two different ways :
The matrices and will be generated in two different ways as well :
where is the average of the columns of (geometrically, this is the vertex centroid of the convex hull of the columns of ). This means that we move the columns of toward the outside of the convex hull of the columns of . Hence, for any , the columns of are not contained in the convex hull of the columns of (although the rank of remains equal to 20).
Finally, we construct the noisy separable matrix in four different ways, see Table 2, where , and are generated as described above for a total of four experiments.
For each experiment, we generate 100 matrices for 100 different values of and compute the percentage of columns of that the algorithms were able to identify (hence the higher the curve, the better); see Figure 1. (Note that we then have 10000 matrices generated for each experiment.)
Algorithm 1 is the most robust algorithm as it is able to identify all the columns of for the largest values of the perturbation for all experiments; see Table 3 and Figure 1.
In Exp. 1, PPI and SiVM perform relatively well, the reason being that the matrix is well-conditioned (see Table 2) while VCA is not robust to any noise. In fact, as explained in Section 5.1, VCA only uses one randomly generated linear function to identify a column of at each step, hence can potentially extract any column of since they all are vertices of the convex hull of the columns of (the last columns of are the middle points of the columns of and are perturbed toward the outside of the convex hull of the columns of ).
In Exp. 2, the matrix is well-conditioned so that SiVM still performs well. PPI is now unable to identify all columns of , because of the repetition in the data set (each column of is present twice as a column of )For , we observe that our implementation of the PPI algorithm actually recovers all columns of . The reason is that the first columns of are exactly equal to each other and that the MATLAB max(.) function only outputs the smallest index corresponding to a maximum value. This is why PPI works in the noiseless case even when there are duplicates.. VCA now performs much better because the columns of are strictly contained in the interior of the convex hull of the columns of .
In Exp. 3 and 4, SiVM performs very poorly because of the ill-conditioning of matrix .
In Exp. 3, as opposed to Exp. 1, PPI is no longer robust because of ill-conditioning, although more than 97% of the columns of are perfectly extracted for all . VCA is not robust but performs better than PPI, and extracts more than 97% of the columns of for all (note that Algorithm 1 does for ).
In Exp. 4, PPI is not able to identify all the columns of because of the repetition, while, as opposed to Exp. 2, VCA is not robust to any noise because of ill-conditioning.
Algorithm 1 is the fastest algorithm although PPI and SiVM have roughly the same computational time. VCA is slower as it uses PCA as a preprocessing; see Table 4.
These experiments also show that the error bound derived in Theorem 3 is rather loose, which can be partly explained by the fact that our analysis considers the worst-case scenario (while our experiments use either a structured noise or Gaussian noise). Recall that the value of in Theorem 3 is the smallest value such that for all ; see Equation (9). Table 2 gives the average value of the maximum norm of the columns of for each experiment. Based on these values, the first row of Table 5 shows the average upper bound for to guarantee recovery; see Theorem 3.
2 Comparison with the Algorithm of Bittorf et al. [6]
In this section, we compare the Algorithm of Bittorf et al. (BRRT) (Algorithm 3 in ; see also Algorithm 2 in )We do not perform a comparison with the algorithm of Arora et al. as it is not very practical (the value of has to be estimated, see Section 2.4) and has already been shown to perform similarly as BRRT in . with Algorithm 1. BRRT has to solve a linear program with variables which we solve using CVX . Therefore we are only able to solve small-scale problems (in fact, CVX uses an interior-point method): we perform exactly the same experiments as in the previous section but for and for all experiments, so that
for the first and third experiments (the last ten columns of are the middle points of the five columns of ).
for the second and fourth experiments (we repeat twice each endmember, and add 10 points in the convex hull of the columns of ).
The average running time for BRRT on these data sets using CVX is about two seconds while, for Algorithm 1, it is less than seconds. (Bittorf et al. propose a more efficient solver than CVX for their LP instances. As mentioned in Section 2.4, even with their more efficient solver, Algorithm 1 is much faster for large .) Figure 2 shows the percentage of correctly extracted columns with respect to , while Table 6 shows the robustness of both algorithms.
Quite surprisingly, Algorithm 1 performs in average better than BRRT. Although BRRT is more robust in two of the four experiments (that is, it extracts correctly all columns of for a larger value of ), the percentage of columns it is able to correctly extract decreases much faster as the noise level increases. For example, Table 7 shows the maximum value of for which 99% percent of the columns of are correctly extracted. In that case, Algorithm 1 always performs better.
A possible explanation for this behavior is that, when the noise is too large, the condition for recovery are not satisfied as the input matrix is far from being separable. However, using Algorithm 1 still makes sense as it extracts columns whose convex hull has large volume while it is not clear what BRRT does in that situation (as it heavily relies on the separability assumption). Therefore, although BRRT guarantees perfect recovery for higher noise levels, it appears that, in practice, when the noise level is high, Algorithm 1 is preferable.
Conclusion and Further Work
In this paper, we have introduced and analyzed a new family of fast and robust recursive algorithms for separable NMF problems which are equivalent to hyperspectral unmixing problems under the linear mixing model and the pure-pixel assumption. This family generalizes several existing hyperspectral unmixing algorithms, and our analysis provides a theoretical framework to explain the better performances of these approaches. In particular, our analysis explains why algorithms like PPI and VCA are less robust against noise compared to Algorithm 1.
Many questions remain open, and would be interesting directions for further research:
Is it possible to provide better error bounds for Algorithm 1 than the ones of Theorem 3? In other words, is our analysis tight? Also, can we improve the bounds if we assume specific generative and/or noise models?
How can we choose appropriate functions for Algorithm 1 depending on the input data matrix?
Can we design other robust and fast algorithms for the separable NMF problem leading to better error bounds?
Acknowledgments
The authors would like to thank the reviewers for their feedback which helped improve the paper significantly.