Fixed Point and Bregman Iterative Methods for Matrix Rank Minimization
Shiqian Ma, Donald Goldfarb, Lifeng Chen
Introduction
The matrix rank minimization problem can be written as
In this paper, we are interested in methods for solving the affinely constrained matrix rank minimization problem
is a special case of (1), where and are both matrices and is a subset of index pairs The so called collaborative filtering problem (Rennie-Srebro-2005; Srebro-thesis-2004) can be cast as a matrix completion problem. Suppose users in an online survey provide ratings of some movies. This yields a matrix with users as rows and movies as columns whose -th entry is the rating given by the -th user to the -th movie. Since most users rate only a small portion of the movies, we typically only know a small subset of the entries. Based on the known ratings of a user, we want to predict the user’s ratings of the movies that the user did not rate; i.e., we want to fill in the missing entries of the matrix. It is commonly believed that only a few factors contribute to an individual’s tastes or preferences for movies. Thus the rating matrix is likely to be of numerical low rank in the sense that relatively few of the top singular values account for most of the sum of all of the singular values. Finding such a low-rank matrix corresponds to solving the matrix completion problem (1).
When the matrix is diagonal, problem (1) reduces to the cardinality minimization problem
The basis pursuit problem has received an increasing amount of attention since the emergence of the field of compressed sensing (CS) (Candes-Romberg-Tao-2006; Donoho-2006). Compressed sensing theories connect the NP-hard problem (1.1) to the convex and computationally tractable problem (1.1) and provide guarantees for when an optimal solution to (1.1) gives an optimal solution to (1.1). In the cardinality minimization and basis pursuit problems (1.1) and (1.1), is a vector of measurements of the signal obtained using the sampling matrix . The main result of compressed sensing is that when the signal is sparse, i.e., we can recover the signal by solving (1.1) with a very limited number of measurements, i.e., , when is a Gaussian random matrix or when it corresponds to a partial Fourier transformation. Note that if is contaminated by noise, the constraint in (1.1) must be relaxed, resulting in either the problem
where and are parameters and denotes the Euclidean norm of a vector .. Algorithms for solving (1.1) and its variants (1.1) and (1.16) have been widely investigated and many algorithms have been suggested including convex optimization methods ((Candes-Romberg-2005-l1-magic; Figueiredo-Nowak-Wright-2007; Hale-Yin-Zhang-2007; Kim-Koh-Lustig-Boyd-Gorinevsky-2007; vandenBerg-Friedlander-2008)) and heuristic methods ((Tibshirani-1996; Donoho-Tsaig-Drori-Starck-2006; Tropp-2006; Donoho-Tsaig-2006; Dai-Milenkovie-2008)).
2 Nuclear norm minimization
Nuclear norm and Operator norm. Assume that the matrix has positive singular values of . The nuclear norm of is defined as the sum of its singular values, i.e.,
The operator norm of matrix is defined as the largest singular value of , i.e.,
The nuclear norm is also known as Schatten 1-norm or Ky Fan norm. Using it as an approximation to in (1) yields the nuclear norm minimization problem
As in the basis pursuit problem, if is contaminated by noise, the constraint must be relaxed, resulting in either the problem
For the matrix completion problem (1), the corresponding nuclear norm minimization problem is
Candès et al.(Candes-Recht-2008) proved the following result.
Let be an matrix of rank with SVD
where the family is selected uniformly at random among all families of orthonormal vectors, and similarly for the family . Let . Suppose we observe entries of with locations sampled uniformly at random. Then there are constants and such that if
the minimizer to the problem (1.2) is unique and equal to with probability at least . In addition, if , then the recovery is exact with probability at least provided that
This theorem states that a surprisingly small number of entries are sufficient to complete a low-rank matrix with high probability.
Recently, this result was strengthened by Candès and Tao in (Candes-Tao-2009), where it is proved that under certain incoherence conditions, the number of samples that are required is only
The dual problem corresponding to the nuclear norm minimization problem (1.2) is
where is the adjoint operator of . Both (1.2) and (1.2) can be rewritten as equivalent semidefinite programming (SDP) problems. The SDP formulation of (1.2) is:
where denotes the trace of the square matrix . The SDP formulation of (1.2) is:
Thus to solve (1.2) and (1.2), we can use SDP solvers such as SeDuMi (Sturm-1999) and SDPT3 (Tutuncu-Toh-Todd-2003) to solve (1.2) and (1.2). Note that the number of variables in (1.2) is . SDP solvers cannot usually solve a problem when and are both much larger than
Recently, Liu and Vandenberghe (Liu-Vandenberghe-2008) proposed an interior-point method for another nuclear norm approximation problem
Liu and Vandenberghe (Liu-Vandenberghe-2008) proposed a customized method for computing the scaling direction in an interior point method for solving the SDP (1.2). The complexity of each iteration in their method was reduced from to when and ; thus they were able to solve problems up to dimension
where denotes the Frobenius norm of the matrix :
It is known that as long as is chosen to be sufficiently larger than the rank of the optimal solution matrix of the nuclear norm problem (1.2), this low-rank factorization problem is equivalent to the nuclear norm problem (1.2) (see e.g., (Recht-Fazel-Parrilo-2007)). The advantage of this low-rank factorization formulation is that both the objective function and the constraints are differentiable. Thus gradient-based optimization algorithms such as conjugate gradient algorithms and augmented Lagrangian algorithms can be used to solve this problem. However, the constraints in this problem are nonconvex, so one can only be assured of obtaining a local minimizer. Also, how to choose is still an open question.
Our algorithms have some similarity with the SVT algorithm in that they make use of matrix shrinkage (see Section 2). However, other than that, they are greatly different. All of our methods are based on a fixed point continuation (FPC) algorithm which uses an operator splitting technique for solving (1.23). By adopting a Monte Carlo approximate SVD in the FPC, we get an algorithm, which we call FPCA (Fixed Point Continuation with Approximate SVD), that usually gets the optimal solution to (1) even if the condition of Theorem 1.1, or those for the affine constrained case, are violated. Moreover, our algorithm is much faster than state-of-the-art SDP solvers such as SDPT3 applied to (1.2). Also, FPCA can recover matrices of moderate rank that cannot be recovered by SDPT3, SVT, etc. with the same amount of samples. For example, for matrices of size and rank 50, FPCA can recover them with a relative error of in about 3 minutes by sampling only 20 percent of the matrix elements. As far as we know, there is no other method that has as good a recoverability property.
3 Outline and Notation
Fixed point iterative algorithm
Our fixed point iterative algorithm for solving (1.23) is the following simple two-line algorithm:
where is the matrix shrinkage operator which will be defined later.
where . For any , (2.4) is equivalent to
Note that the operator on the right hand side of (2.5) can be split into two parts: where and .
Letting , (2.5) is equivalent to
Note that (2.6) is actually the optimality conditions for the following convex problem
This problem has a closed form optimal solution given by the so called shrinkage operator:
Thus, the fixed point iterative algorithm is given by
Motivated by this work, we develop a fixed point iterative algorithm for (1.23). Since the objective function in (1.23) is convex, is the optimal solution to (1.23) if and only if
Hence, we get the following optimality conditions for (1.23):
Now based on the optimality conditions (2.10), we can develop a fixed point iterative scheme for solving (1.23) by adopting the operator splitting technique described at the beginning of this section. Note that (2.10) is equivalent to
In the following we will prove that the matrix shrinkage operator applied to gives the optimal solution to (2.14). First, we need the following definitions.
To verify that (2.15) satisfies (2.18), consider the following two cases:
Case 1: In this case, choosing as above, with and , where is a vector of ones, and choosing (i.e., ) satisfies (2.18).
Case 2: In this case, by choosing and and satisfy (2.18).
Note that in both cases, can be written as the form in (2.15) based on the way we construct . ∎
Based on the above we obtain the fixed point iterative scheme (2) stated at the beginning of this section for solving problem (1.23).
Moreover, from the discussion following Theorem 2.1 we have
is an optimal solution to problem (1.23) if and only if , where
Convergence results
In this section, we analyze the convergence properties of the fixed point iterative scheme (2). Before we prove the main convergence result, we need some lemmas.
Without loss of generality, we assume . Assume SVDs of and are and , respectively, where
and . Thus,
where are clearly orthogonal matrices. Now let us derive an upper bound for . It is known that an orthogonal matrix is a maximizing matrix for the problem
if and only if is positive semidefinite matrix (see 7.4.9 in (Horn-Johnson-book-1985)). It is also known that when is positive semidefinite,
Thus, , and achieve their maximum, if and only if , and are all positive semidefinite. Applying (3.4) to these three terms, we get , and Thus, without loss of generality, assuming , we have,
since and . Also, since the function is monotonely increasing in and ,
Also, achieves its minimum value if and only if , and achieve their maximum values simultaneously.
Furthermore, if equality in (3.1) holds, i.e., achieves its minimum, and its minimum is zero, then , , and , which further implies and achieves its maximum. By applying the result 7.4.13 in (Horn-Johnson-book-1985), we get
To conclude, clearly if (3.9) holds. ∎
The following two lemmas and theorem and their proofs are analogous to results and their proofs in Hale et al.(Hale-Yin-Zhang-2007).
Let and assume that . Then the operator is non-expansive, i.e., . Moreover, if and only if .
First, we note that since , where is the -th eigenvalue of . Hence,
Moreover, if and only if the inequalities above are equalities, which happens if and only if
i.e., if and only if ∎
Let be an optimal solution to problem (1.23), and . Then is also an optimal solution to problem (1.23) if and only if
The “only if” part is an immediate consequence of Corollary 1. For the “if” part, from Lemmas 1 and 2,
Hence, both inequalities hold with equality. Therefore, first using Lemma 1 and then Lemma 2 we obtain
which implies since . It then follows from Corollary 1 that is an optimal solution to problem (1.23). ∎
We now claim that the fixed-point iterations (2) converge to an optimal solution of problem (1.23).
The sequence generated by the fixed point iterations with converges to some where is the set of optimal solutions of problem (1.23).
Since both and are non-expansive, is also non-expansive. Therefore, lies in a compact set and must have a limit point, say Also, for any ,
which means that the sequence is monotonically non-increasing. Therefore,
where can be any limit point of . By the continuity of , the image of ,
is also a limit point of . Therefore, we have
which allows us to apply Lemma 3 to get that is an optimal solution to problem (1.23).
Finally, by setting in (3.11), we get that
i.e., converges to its unique limit point ∎
Fixed point continuation
In this section, we discuss a continuation technique (i.e., homotopy approach) for accelerating the convergence of the fixed point iterative algorithm (2).
Inspired by the work of Hale et al.(Hale-Yin-Zhang-2007), we first describe a continuation technique to accelerate the convergence of the fixed point iteration (2). Our fixed point continuation (FPC) iterative scheme for solving (1.23) is outlined below.
The parameter determines the rate of reduction of the consecutive , i.e.,
2 Stopping criteria for inner iterations
Note that in the fixed point continuation algorithm, in the -th inner iteration we solve problem (1.23) for a fixed . There are several ways to determine when to stop this inner iteration, decrease and go to the next inner iteration. The optimality conditions for (1.23) is given by (2.11a) and (2.11b). Thus we can use the following condition as a stopping criterion:
where is a small positive parameter. However, the expense of computing the largest singular value of a large matrix greatly decreases the speed of the algorithm. Hence, we do not use this criterion as a stopping rule for large matrices. Instead, we use the criterion
where is a small positive number, since when gets close to an optimal solution , the distance between and should become very small.
3 Debiasing
Debiasing is another technique that can improve the performance of FPC. Debiasing has been used in compressed sensing algorithms for solving (1.1) and its variants, where debiasing is performed after a support set has been tentatively identified. Debiasing is the process of solving a least squares problem restricted to the support set , i.e., we solve
where is a submatrix of whose columns correspond to the support index set , and is a subvector of corresponding to .
where is the rank of current matrix . Because debiasing can be costly, we use a rule proposed in (Wen-Yin-Goldfarb-Zhang-2009) to decide when to do it. In the continuation framework, we know that in each subproblem with a fixed , converges to zero, and converges to when converges to the optimal solution of the subproblem. We therefore choose to do debiasing when becomes large because this indicates that the change between two consecutive iterates is relatively small. Specifically, we call for debiasing in the solver FPC3 (see Section 7) when
Bregman iterative algorithm
Algorithm FPC is designed to solve (1.23), an optimal solution of which approaches an optimal solution of the nuclear norm minimization problem (1.2) as goes to zero. However, by incorporating FPC into a Bregman iterative technique, we can solve (1.2) by solving a limited number of instances of (1.23), each corresponding to a different .
Given a convex function , the Bregman distance (Bregman-1967) of the point from the point is defined as
where is some subgradient in the subdifferential of at the point .
Bregman iterative regularization was introduced by Osher et al.in the context of image processing (Osher-Burger-Goldfarb-Xu-Yin-2005). Specifically, in (Osher-Burger-Goldfarb-Xu-Yin-2005), the Rudin-Osher-Fatemi (Rudin-Osher-Fatemi-1992) model
was extended to an iterative regularization model by replacing the total variation functional
by the Bregman distance with respect to . This Bregman iterative regularization procedure recursively solves
for starting with and . Since (5.3) is a convex programming problem, the optimality conditions are given by from which we get the update formula for
Therefore, the Bregman iterative scheme is given by
Interestingly, this turns out to be equivalent to the iterative process
which can be easily implemented using existing algorithms for (5.2) with different inputs .
Subsequently, Yin et al.(Yin-Osher-Goldfarb-Darbon-2008) proposed solving the basis pursuit problem (1.1) by applying the Bregman iterative regularization algorithm to
for and obtained the following two equivalent iterative schemes analogous to (5) and (5), respectively:
One can also use the Bregman iterative regularization algorithm applied to the unconstrained problem (1.23) to solve the nuclear norm minimization problem (1.2). That is, one iteratively solves (1.23) by
Equivalently, one can also use the following iterative scheme:
Thus, our Bregman iterative algorithm for nuclear norm minimization (1.2) can be outlined as follows.
The last step can be solved by Algorithm FPC.
An approximate SVD based FPC algorithm: FPCA
The outputs are approximations to the largest singular values and are approximations to the corresponding left singular vectors of the matrix . Thus, the SVD of is approximated by
Drineas et al.(Drineas-Kannan-Mahoney-2006) prove that with high probability, the following estimate holds for both and :
There are many ways to choose the probabilities . In our numerical experiments in Section 7, we used the simplest one, i.e., we set all equal to . For other choices of , see (Drineas-Kannan-Mahoney-2006) and the references therein.
In our numerical experiments, we set using the following procedure. In the -th iteration, when computing the approximate SVD of , we set equal to the number of components in that are no less than where is a small positive number and is the largest component in the vector used to form . Note that is non-increasing in this procedure. However, if is too small at some iteration, the non-expansive property (3.1) of the shrinkage operator may be violated since the approximate SVD is not a valid approximation when is too small. Thus, in algorithm FPCA, if (3.1) is violated 10 times, we increase by . Our numerical experience indicates that this technique makes our algorithm very robust.
Our numerical results in Section 7 show that this approximate SVD based FPC algorithm: FPCA, is very fast, robust, and significantly outperforms other solvers (such as SDPT3) in recovering low-rank matrices. This result is not surprising. One reason for this is that in the approximate SVD algorithm, we compute a low-rank approximation to the original matrix. Hence, the iterative matrices produced by our algorithm are more likely to be of low-rank than an exact solution to the nuclear norm minimization problem (1.2), or equivalently, to the SDP (1.2), which is exactly what we want. Some convergence/recoverability properties of a variant of FPCA, which uses a truncated SVD rather than a randomized SVD at each step, are discussed in (Goldfarb-Ma-2009).
Numerical results
In this section, we report on the application of our FPC, FPCA and Bregman iterative algorithms to a series of matrix completion problems of the form (1) to demonstrate the ability of these algorithms to efficiently recover low-rank matrices.
To illustrate the performance of our algorithmic approach combined with exact and approximate SVD algorithms, different stopping rules, and with or without debiasing, we tested the following solvers.
FPC1. Exact SVD, no debiasing, stopping rule: (4.2).
FPC2. Exact SVD, no debiasing, stopping rule: (4.1) and (4.2).
FPC3. Exact SVD with debiasing, stopping rule: (4.2).
FPCA. Approximate SVD, no debiasing, stopping rule: (4.2).
Bregman. Bregman iterative method using FPC2 to solve the subproblems.
to estimate the closeness of to , where is the “optimal” solution to (1.2) produced by our algorithms. We declared to be recovered if the relative error was less than , which is the criterion used in (Recht-Fazel-Parrilo-2007) and (Candes-Recht-2008). We use to denote the average, largest and smallest relative error of the successfully recovered matrices, respectively.
We summarize the parameter settings used by the algorithms in Table 1. We use to denote the maximum number of iterations allowed for solving each subproblem in FPC, i.e., if the stopping rules (4.2) (and (4.1)) are not satisfied after iterations, we terminate the subproblem and decrease to start the next subproblem.
All numerical experiments were run in MATLAB 7.3.0 on a Dell Precision 670 workstation with an Intel Xeon(TM) 3.4GHZ CPU and 6GB of RAM.
The comparisons between FPC1, FPC2, FPC3 and SDPT3 for small matrix completion problems are presented in Table 2. From Table 2 we can see that FPC1 and FPC2 achieve almost the same recoverability and relative error, which means that as long as we set to be very small (like ), we only need to use (4.2) as the stopping rule for the inner iterations. That is, use of stopping rule (4.1) does not affect the performance of the algorithm. Of course FPC2 costs more time than FPC1 since more iterations are sometimes needed to satisfy the stopping rules in FPC2. While FPC3 can improve the recoverability, it costs more time for performing debiasing. SDPT3 seems to obtain more accurate solutions than FPC1, FPC2 or FPC3.
To illustrate the performance of our Bregman iterative algorithm, we compare the results of using it versus using FPC2 in Table 3. From our numerical experience, for those problems for which the Bregman iterative algorithm greatly improves the recoverability, the Bregman iterative algorithm usually takes 2 to 3 iterations. Thus, in our numerical tests, we fixed the number of subproblems solved by our Bregman algorithm to 3. Since our Bregman algorithm achieves as good a relative error as the FPC algorithm, we only report how many of the examples that are successfully recovered by FPC, are improved greatly by using our Bregman iterative algorithm. In Table 3, NIM is the number of examples that the Bregman iterative algorithm outperformed FPC2 greatly (the relative errors obtained from FPC2 were at least times larger than those obtained by the Bregman algorithm). From Table 3 we can see that for more than half of the examples successfully recovered by FPC2, the Bregman iterative algorithm improved the relative errors greatly (from [, ] to [, ]). Of course the run times for the Bregman iterative algorithm were about three times that for algorithm FPC2, since the former calls the latter three times to solve the subproblems.
In the following, we discuss the numerical results obtained by our approximate SVD based FPC algorithm (FPCA). We will see from these numerical results that FPCA achieves much better recoverability and is much faster than any of the solvers FPC1, FPC2, FPC3 or SDPT3.
We present the numerical results of FPCA for small (m=n=40) and medium (m=n=100) problems in Tables 4, and 5 respectively. Since we found that is small enough to guarantee very good recoverability, we set in algorithm FPCA and used only (4.2) as stopping rule for the inner iterations. From these tables, we can see that our FPCA algorithm is much more powerful than SDPT3 for randomly created matrix completion problems. When and , and the rank was less than or equal to 8, FPCA recovered the matrices in all 50 examples. When rank , it failed on only one example. Even for rank , which is almost the largest rank that satisfies , FPCA still recovered the solution in more than of the examples. However, SDPT3 started to fail to recover the matrices when the rank . When , there was only one example out of 50 where the correct solution matrix was recovered. When , none of the 50 examples could be recovered. For the medium sized matrices we used , which is only a measurement rate, FPCA recovered the matrices in all 50 examples when . For FPCA recovered the matrices in most of the examples (49 out of 50). When more than of the matrices were recovered successfully by FPCA. Even when FPCA still recovered 1 matrices. However, SDPT3 could not recover all of the matrices even when the rank and none of the matrices were recovered when When we increased the number of measurements to , we recovered the matrices in all 50 examples up to rank When we still recovered most of them. However, SDPT3 started to fail for some matrices when When , SDPT3 failed to recover any of the matrices. We can also see that for the medium sized problems, FPCA was much faster than SDPT3.
2 Comparison of FPCA and SVT
In this subsection we compare our FPCA algorithm against the SVT algorithm proposed in (Cai-Candes-Shen-2008). The SVT code is downloaded from http://svt.caltech.edu. We constructed two sets of test problems. One set contained “easy” problems. These problems are “easy” because the matrices are of very low-rank compared to the matrix size and the number of samples, and hence they are easy to recover. For all problems in this set, was less than 0.34. The other set contained “hard” problems, i.e., problems that are very challenging. These problems involved matrices that are not of very low rank and for which sampled a very limited number of entries. For this set of problems, ranged from 0.40 to 0.87. The maximum iteration number in SVT was set to be 1000. All other parameters were set to their default values in SVT. The parameters of FPCA were set somewhat loosely for easy problems. Specifically, we set and all other parameters were set to the values given in Table 1. Relative errors and times were averaged over 5 runs. In this subsection, all test matrices were square, i.e.,
From Table 6, we can see that for the easy problems except for one problem which is exceptionally sparse as well as having low rank, FPCA was much faster and usually provided more accurate solutions than SVT.
For hard problems, all parameters of FPCA were set to the values given in Table 1, except that we set since this value is small enough to guarantee very good recoverability. Also, for small problems ( i.e., ), we set ; and for large problems ( i.e., ), we set We use “—” to indicate that the algorithm either diverges or does not terminate in one hour. Relative errors and times were averaged over 5 runs.
From Table 7, we can see that for the hard problems, SVT either diverged or did not solve the problems in less than one hour, or it yielded a very inaccurate solution. In contrast, FPCA always provided a very good solution efficiently.
We can also see that FPCA was able to efficiently solve large problems () that could not be solved by SDPT3 due to the large size of the matrices and the large number of constraints.
3 Results for real data matrices
In this section, we consider matrix completion problems based on two real data sets: the Jester joke data set (Goldberg-Roeder-Gupta-Perkins-2001) and the DNA data set (Spellman-1998). The Jester joke data set contains 4.1 million ratings for 100 jokes from 73,421 users and is available on the website http://www.ieor.berkeley.edu/˜Egoldberg/jester-data/. Since the number of jokes is only 100, but the number of users is quite large, we randomly selected users to get a modestly sized matrix for testing purpose. As in (Srebro-Jaakkola-2003), we randomly held out two ratings for each user. Since some entries in the matrix are missing, we cannot compute the relative error as we did for the randomly created matrices. Instead, we computed the Normalized Mean Absolute Error (NMAE) as in (Goldberg-Roeder-Gupta-Perkins-2001) and (Srebro-Jaakkola-2003). The Mean Absolute Error (MAE) is defined as
where and are the withheld and predicted ratings of movie by user , respectively, for NMAE is defined as
where and are lower and upper bounds for the ratings. Since all ratings are scaled to the range , we have and
The numerical results for the Jester data set using FPC1 and FPCA are presented in Tables 8 and 9, respectively. In these two tables, and are the largest and smallest positive singular values of the recovered matrices, and is the rank of the recovered matrices. The distributions of the singular values of the recovered matrices are shown in Figures 1 and 2. From Tables 8 and 9 we can see that by using FPC1 and FPCA to recover these matrices, we can get relatively low NMAEs, which are comparable to the results shown in (Srebro-Jaakkola-2003) and (Goldberg-Roeder-Gupta-Perkins-2001).
We also used two data sets of DNA microarrays from (Spellman-1998). These data sets are available on the website http://cellcycle-www.stanford.edu/. The first microarray data set is a matrix that represents the expression of 6178 genes in 14 experiments based on the Elutriation data set in (Spellman-1998). The second microarray data set is based on the Cdc15 data set in (Spellman-1998), and represents the expression of 6178 genes in 24 experiments. However, some entries in these two matrices are missing. For evaluating our algorithms, we created complete matrices by deleted all rows containing missing values. This is similar to how the DNA microarray data set was preprocessed in (Troyanskaya-2001). The resulting complete matrix for the Elutriation data set was . The complete matrix for the Cdc15 data set was . We must point out that these DNA microarray matrices are neither low-rank nor even approximately low-rank although such claims have been made in some papers. The distributions of the singular values of these two matrices are shown in Figure 3. From this figure we can see that in each microarray matrix, only one singular value is close to zero, while the others are far away from zero. Thus there is no way to claim that the rank of the Elutriation matrix is less than 13, or the rank of the Cdc15 matrix is less than 23. Since these matrices are not low-rank, we cannot expect our algorithms to recover these matrices by sampling only a small portion of their entries. Thus we needed to further modify the data sets to yield low-rank matrices. Specifically, we used the best rank-2 approximation to the Elutriation matrix as the new complete Elutriation matrix and the best rank-5 approximation to the Cdc15 matrix as the new complete Cdc15 matrix. The numerical results for FPCA for recovering these two matrices are presented in Table 10. In the FPCA algorithm, we set and . For the Elutriation matrix, we set and for the Cdc15 matrix, we set . The observed entries were randomly sampled. From Table 10 we can see that by taking 60% of the entries of the matrices, our FPCA algorithm can recover these matrices very well, yielding relative errors as low as and , which is promising for practical use.
To graphically illustrate the effectiveness of FPCA, we applied it to image inpainting (Bertalmio-Sapiro-Caselles-Ballester-2000). Grayscale images and color images can be expressed as matrices and tensors, respectively. In grayscale image inpainting, the grayscale value of some of the pixels of the image are missing, and we want to fill in these missing values. If the image is of low-rank, or of numerical low-rank, we can solve the image inpainting problem as a matrix completion problem (1). In our test we applied SVD to the image in Figure 4(a), and truncated this decomposition to get the rank-40 image which is shown in Figure 4(b). Figure 4(c) is a masked version of the image in Figure 4(a), where one half of the pixels in Figure 4(a) were masked uniformly at random. Figure 4(d) is the image obtained from Figure 4(c) by applying FPCA. Figure 4(d) is a low-rank approximation to Figure 4(a) with a relative error of Figure 4(e) is a masked version of the image in Figure 4(b), where one half of the pixels in Figure 4(b) were masked uniformly at random. Figure 4(f) is the image obtained from Figure 4(e) by applying FPCA. Figure 4(f) is an approximation to Figure 4(b) with a relative error of Figure 4(g) is another masked image obtained from Figure 4(b), where 4 percent of the pixels were masked in a non-random fashion. Figure 4(h) is the image obtained from Figure 4(g) by applying FPCA. Figure 4(g) is an approximation to Figure 4(b) with a relative error of .
Conclusions and discussions
In this paper, we derived a fixed point continuation algorithm and a Bregman iterative algorithm for solving the linearly constrained nuclear norm minimization problem, which is a convex relaxation of the NP-hard linearly constrained matrix rank minimization problem. The convergence of the fixed point iterative scheme was established. By adopting an approximate SVD technique, we obtained a very powerful algorithm (FPCA) for the matrix rank minimization problem. On matrix completion problems, FPCA greatly outperforms SDP solvers such as SDPT3 in both speed and recoverability of low-rank matrices. Further study is needed to prove the convergence of algorithm FPCA.