Loading AI tools
From Wikipedia, the free encyclopedia
A CUR matrix approximation is a set of three matrices that, when multiplied together, closely approximate a given matrix.[1][2][3] A CUR approximation can be used in the same way as the low-rank approximation of the singular value decomposition (SVD). CUR approximations are less accurate than the SVD, but they offer two key advantages, both stemming from the fact that the rows and columns come from the original matrix (rather than left and right singular vectors):
Formally, a CUR matrix approximation of a matrix A is three matrices C, U, and R such that C is made from columns of A, R is made from rows of A, and that the product CUR closely approximates A. Usually the CUR is selected to be a rank-k approximation, which means that C contains k columns of A, R contains k rows of A, and U is a k-by-k matrix. There are many possible CUR matrix approximations, and many CUR matrix approximations for a given rank.
The CUR matrix approximation is often [citation needed] used in place of the low-rank approximation of the SVD in principal component analysis. The CUR is less accurate, but the columns of the matrix C are taken from A and the rows of R are taken from A. In PCA, each column of A contains a data sample; thus, the matrix C is made of a subset of data samples. This is much easier to interpret than the SVD's left singular vectors, which represent the data in a rotated space. Similarly, the matrix R is made of a subset of variables measured for each data sample. This is easier to comprehend than the SVD's right singular vectors, which are another rotations of the data in space.
Hamm[4] and Aldroubi et al.[5] describe the following theorem, which outlines a CUR decomposition of a matrix with rank :
Theorem: Consider row and column indices with . Denote submatrices and . If rank() = rank(), then , where denotes the Moore–Penrose pseudoinverse.
In other words, if has low rank, we can take a sub-matrix of the same rank, together with some rows and columns of and use them to reconstruct .
Tensor-CURT decomposition[6] is a generalization of matrix-CUR decomposition. Formally, a CURT tensor approximation of a tensor A is three matrices and a (core-)tensor C, R, T and U such that C is made from columns of A, R is made from rows of A, T is made from tubes of A and that the product U(C,R,T) (where the -th entry of it is ) closely approximates A. Usually the CURT is selected to be a rank-k approximation, which means that C contains k columns of A, R contains k rows of A, T contains tubes of A and U is a k-by-k-by-k (core-)tensor.
The CUR matrix approximation is not unique and there are multiple algorithms for computing one. One is ALGORITHMCUR.[1]
The "Linear Time CUR" algorithm [7] simply picks J by sampling columns randomly (with replacement) with probability proportional to the squared column norms, ; and similarly sampling I proportional to the squared row norms, . The authors show that taking and where , the algorithm achieves Frobenius error bound , where is the optimal rank k approximation.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.