Articulo de referencia

Aproximación de la matriz CUR

Una aproximación matricial CUR es un conjunto de tres matrices que, al multiplicarse entre sí, aproximan con precisión una matriz dada. [ 1 ] [ 2 ] [ 3 ] Una aproximación CUR pu...

Una aproximación matricial CUR es un conjunto de tres matrices que, al multiplicarse entre sí, aproximan con precisión una matriz dada. [ 1 ] [ 2 ] [ 3 ] Una aproximación CUR puede utilizarse de la misma manera que la aproximación de bajo rango de la descomposición en valores singulares (SVD). Las aproximaciones CUR son menos precisas que la SVD, pero ofrecen dos ventajas clave, ambas derivadas del hecho de que las filas y columnas provienen de la matriz original (en lugar de los vectores singulares izquierdo y derecho):

  • Existen métodos para calcularlo con una complejidad temporal asintótica menor que la de la descomposición en valores singulares (SVD).
  • Las matrices son más fáciles de interpretar; el significado de las filas y columnas en la matriz descompuesta es esencialmente el mismo que su significado en la matriz original.

Formalmente, una aproximación matricial CUR de una matriz A consiste en tres matrices C , U y R, donde C está formada por las columnas de A , R por las filas de A , y el producto CUR se aproxima fielmente a A. Generalmente, la aproximación CUR se elige con rango k , lo que significa que C contiene k columnas de A , R contiene k filas de A , y U es una matriz de k × k . Existen muchas aproximaciones matriciales CUR posibles, y muchas aproximaciones CUR para un rango dado.

La aproximación de matriz CUR se usa frecuentemente en lugar de la aproximación de bajo rango de la SVD en el análisis de componentes principales . La CUR es menos precisa, pero las columnas de la matriz C se toman de A y las filas de R también se toman de A. En PCA, cada columna de A contiene una muestra de datos; por lo tanto, la matriz C está formada por un subconjunto de muestras de datos. Esto es mucho más fácil de interpretar que los vectores singulares izquierdos de la SVD, que representan los datos en un espacio rotado. De manera similar, la matriz R está formada por un subconjunto de variables medidas para cada muestra de datos. Esto es más fácil de comprender que los vectores singulares derechos de la SVD, que son otra rotación de los datos en el espacio.

Matriz CUR

Hamm [ 4 ] y Aldroubi et al. [ 5 ] describen el siguiente teorema, que describe una descomposición CUR de una matriz.L{\displaystyle L}con rangor{\displaystyle r}:

Teorema: Consideremos los índices de fila y columna.I,J[norte]{\displaystyle I,J\subseteq [n]}con|I|,|J|r{\displaystyle |I|,|J|\geq r}. Denotemos las submatricesdo=L:,J,{\displaystyle C=L_{:,J},}U=LI,J{\displaystyle U=L_{I,J}}yR=LI,:{\displaystyle R=L_{I,:}}. Si rango(U{\displaystyle U}) = rango(L{\displaystyle L}), entoncesL=doU+R{\displaystyle L=CU^{+}R}, dónde()+{\displaystyle (\cdot )^{+}}denota la pseudoinversa de Moore-Penrose .

En otras palabras, siL{\displaystyle L}tiene rango bajo, podemos tomar una submatrizU=LI,J{\displaystyle U=L_{I,J}}del mismo rango, junto con algunas filasR{\displaystyle R}y columnasdo{\displaystyle C}deL{\displaystyle L}y utilizarlos para reconstruirL{\displaystyle L}.

Tensor CUR

La descomposición tensorial-CURT [ 6 ] es una generalización de la descomposición matricial-CUR. Formalmente, una aproximación tensorial CURT de un tensor A son tres matrices y un (núcleo)tensor C , R , T y U tales que C está hecho de columnas de A , R está hecho de filas de A , T está hecho de tubos de A y que el producto U(C,R,T) (donde eli,j,l{\displaystyle i,j,l}-la entrada esi,j,lUi,j,ldoi,iRj,jTl,l{\displaystyle \sum _{i',j',l'}U_{i',j',l'}C_{i,i'}R_{j,j'}T_{l,l'}}) se aproxima mucho a A. Por lo general, se selecciona CURT para que sea una aproximación de rango k , lo que significa que C contiene k columnas de A , R contiene k filas de A , T contiene tubos de A y U es un tensor (núcleo) de k por k por k .

Algoritmos

La aproximación de la matriz CUR no es única y existen múltiples algoritmos para calcularla. Uno de ellos es ALGORITHMCUR. [ 1 ]

El algoritmo "Linear Time CUR" [ 7 ] simplemente elige J muestreando columnas al azar (con reemplazo) con una probabilidad proporcional a las normas de columna al cuadrado,L:,j22{\displaystyle \|L_{:,j}\|_{2}^{2}}; y de manera similar, muestreando I proporcional a las normas de fila al cuadrado,Li22{\displaystyle \|L_{i}\|_{2}^{2}}Los autores demuestran que tomar|J|k/ε4{\displaystyle |J|\approx k/\varepsilon ^{4}}y|I|k/ε2{\displaystyle |I|\approx k/\varepsilon ^{2}}dónde0ε{\displaystyle 0\leq \varepsilon }El algoritmo alcanza la cota de error de Frobenius.AdoURFAAkF+εAF{\displaystyle \|A-CUR\|_{F}\leq \|A-A_{k}\|_{F}+\varepsilon \|A\|_{F}}, dóndeAk{\displaystyle A_{k}}es la aproximación óptima de rango k .

Véase también

Referencias

  1. 1 2 Michael W. Mahoney; Petros Drineas (2009). "Descomposiciones de matrices CUR para un análisis de datos mejorado" . Actas de la Academia Nacional de Ciencias . 106 (3): 697– 702. Bibcode : 2009PNAS..106..697M . doi : 10.1073/pnas.0803205106 . PMC 2630100. PMID 19139392 .  
  2. Boutsidis, Christos; Woodruff, David P. (2014). Descomposiciones óptimas de matrices CUR . Actas de STOC '14, cuadragésimo sexto simposio anual de la ACM sobre Teoría de la Computación.
  3. Song, Zhao; Woodruff, David P.; Zhong, Peilin (2017). Aproximación de bajo rango con error de norma L1 por entrada . Actas de STOC '17 del cuadragésimo noveno simposio anual de la ACM sobre teoría de la computación. arXiv : 1611.00898 .
  4. Keaton Hamm y Longxiu Huang. Perspectivas sobre las descomposiciones CUR. Análisis armónico aplicado y computacional, 48(3):1088–1099, 2020.
  5. Aldroubi, Akram y Hamm, Keaton y Koku, Ahmet Bugra y Sekmen, Ali. Descomposiciones CUR, matrices de similitud y agrupamiento de subespacios. Frontiers in Applied Mathematics and Statistics, 2019, Frontiers Media SA
  6. Song, Zhao; Woodruff, David P.; Zhong, Peilin (2017). "Aproximación de bajo rango del tensor de error relativo". arXiv : 1704.08246 [ cs.DS ].
  7. Drineas, Petros; Kannan, Ravi; Mahoney, Michael W. (2006-01-01). "Algoritmos rápidos de Monte Carlo para matrices I: Aproximación de la multiplicación de matrices" . SIAM Journal on Computing . 36 (1): 132– 157. doi : 10.1137/S0097539704442684 . ISSN 0097-5397 .