Valor singular de descomposición

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 5 de enero de 2022; las comprobaciones requieren 8 ediciones .

La descomposición en valores singulares  es un cierto tipo de descomposición de una matriz rectangular , que se usa ampliamente, debido a su interpretación geométrica visual, para resolver muchos problemas aplicados. Una reformulación de la descomposición en valores singulares, la llamada descomposición de Schmidt , tiene aplicaciones en la teoría de la información cuántica , como en el entrelazamiento .

La descomposición en valores singulares de una matriz permite calcular los valores singulares de una matriz dada, así como los vectores singulares izquierdo y derecho de la matriz :

Donde es la matriz hermitiana conjugada a la matriz , para una matriz real .

Los valores singulares de una matriz no deben confundirse con los valores propios de la misma matriz.

La descomposición en valores singulares es útil para calcular el rango de una matriz , el núcleo de una matriz y la pseudoinversa de una matriz .

La descomposición en valores singulares también se usa para aproximar matrices por matrices de un rango dado.

Definición

Deje que la matriz de orden consista en elementos del campo , donde  es el campo de los números reales o el campo de los números complejos .

Números singulares y vectores singulares

Un número real no negativo se denomina matriz de valor singular cuando existen dos vectores de longitud unitaria y tales que:

y

Dichos vectores se denominan, respectivamente, vector singular izquierdo y vector singular derecho correspondientes al número singular .

Descomposición de matrices

La descomposición en valores singulares de la matriz de orden es la descomposición de la siguiente forma

donde  es una matriz de tamaño con elementos no negativos, en la que los elementos que se encuentran en la diagonal principal son números singulares (y todos los elementos que no se encuentran en la diagonal principal son cero), y las matrices (de orden ) y (de orden ) son dos matrices unitarias , que consisten en vectores singulares izquierdo y derecho, respectivamente (a  es la matriz transpuesta conjugada k ).

Ejemplo

Sea dada la matriz:

Una de las descomposiciones en valores singulares de esta matriz es la descomposición , donde las matrices , y son las siguientes:

ya que las matrices y son unitarias ( y , donde  es la matriz identidad ), y es una matriz diagonal  rectangular , es decir , si .

Sentido geométrico

Sea la matriz asociada con un operador lineal . La descomposición en valores singulares se puede reformular en términos geométricos. Un operador lineal que mapea elementos espaciales en sí mismo puede representarse como operadores lineales de rotación y estiramiento ejecutados sucesivamente. Por lo tanto, los componentes de la descomposición en valores singulares muestran claramente cambios geométricos cuando un operador lineal asigna un conjunto de vectores de un espacio vectorial a sí mismo o a un espacio vectorial de otra dimensión [1] .

Para una representación más visual, considere una esfera de radio unitario en el espacio . El mapeo de líneas asigna esta esfera a un elipsoide espacial . Entonces los valores singulares distintos de cero de la diagonal de la matriz son las longitudes de los semiejes de este elipsoide. En el caso de que y todos los valores singulares sean diferentes y distintos de cero, la descomposición en valores singulares de una aplicación lineal se puede analizar fácilmente como consecuencia de tres acciones: considerar un elipsoide y sus ejes; luego considere las direcciones en las que el mapeo se asigna a estos ejes. Estas direcciones son ortogonales. Primero, aplicamos la isometría mapeando estas direcciones en ejes de coordenadas . El segundo paso es aplicar un endomorfismo diagonalizado a lo largo de los ejes de coordenadas y expandir/contraer estas direcciones, usando las longitudes de los semiejes como factores de estiramiento. Luego, el producto mapea la esfera unitaria en un elipsoide isométrico . Para determinar el último paso , simplemente aplique isometría a este elipsoide para convertirlo en . Como puede comprobar fácilmente, el producto es el mismo que .

Aplicaciones

Matriz pseudo-inversa

La descomposición en valores singulares se puede utilizar para encontrar matrices pseudoinversas , que se aplican, en particular, al método de mínimos cuadrados .

Si , entonces la matriz pseudoinversa a ella se encuentra mediante la fórmula:

donde  es la pseudoinversa de la matriz , obtenida a partir de ella reemplazando cada elemento de la diagonal por su inversa: y transponiendo.

Aproximación por una matriz de rango inferior

En algunos problemas prácticos, se requiere aproximar una matriz dada por alguna otra matriz con un rango predeterminado . Se conoce el siguiente teorema, que a veces se denomina  teorema de Eckart -Yang. [2]

Si requerimos que tal aproximación sea la mejor en el sentido de que la norma euclidiana de la diferencia de matrices y es mínima, bajo la restricción , entonces resulta que la mejor tal matriz se obtiene de la descomposición en valor singular de la matriz por la fórmula:

donde  es la matriz en la que todos los elementos de la diagonal se reemplazan por ceros, excepto los elementos más grandes.

Si los elementos de la matriz están ordenados en orden no creciente, entonces la expresión de la matriz se puede reescribir de la siguiente forma:

donde las matrices , y se obtienen a partir de las matrices correspondientes en la descomposición en valores singulares de la matriz cortando exactamente las primeras columnas.

Así, se puede observar que al aproximar la matriz con una matriz de menor rango, realizamos una especie de compresión de la información contenida en : la matriz de tamaño es reemplazada por matrices de menor tamaño y una matriz diagonal con elementos. En este caso, la compresión ocurre con pérdidas: solo la parte más significativa de la matriz se conserva en la aproximación .

En gran parte debido a esta propiedad, la descomposición de valores singulares encuentra una amplia aplicación práctica: en compresión de datos, procesamiento de señales, métodos iterativos numéricos para trabajar con matrices, análisis de componentes principales, análisis semántico latente y otras áreas.

Versión abreviada

Para una matriz de orden , si es necesario aproximar por una matriz de rango menor que , a menudo se usa una representación de descomposición compacta [3] :

Sólo se calculan columnas y filas . El resto de columnas y filas no se calculan. Esto ahorra mucha memoria cuando .

Pongamos un ejemplo, digamos que este es el número de usuarios, cada uno de los cuales anotó parte de las calificaciones de las películas, cuyo número total será denotado por , luego la matriz (muy escasa, ya que cada usuario calificó solo una pequeña parte de las películas) se denotarán y tendrán una dimensión suficientemente grande .

Si queremos trabajar con una matriz de dimensiones más pequeñas, debemos calcular la descomposición en valores singulares:

en este caso, la matriz , como se mencionó anteriormente, es diagonal. Después de eso, si queremos guardar solo información, entonces debemos tomar , de modo que la suma de los cuadrados de los primeros elementos sea de la suma total de todos los cuadrados de los elementos diagonales .

Entonces obtenemos la dimensión (tomando las columnas), la dimensión y la c . Luego, en lugar de una matriz, podemos manipular una matriz de menor dimensión , que a menudo se interpreta como una matriz de calificaciones de los usuarios por categoría de película.

Implementaciones de software

Los algoritmos numéricos para encontrar la descomposición de valores singulares están integrados en muchos paquetes matemáticos. Por ejemplo, en los sistemas MATLAB y GNU Octave , se puede encontrar con el comando

[ U , S , V ] = svd ( METRO );

SVD está incluido en la lista de métodos básicos de muchas bibliotecas matemáticas, incluidas las de distribución gratuita.
Por ejemplo, hay implementaciones

  • De la biblioteca científica GNU (GSL):

https://www.gnu.org/software/gsl/manual/html_node/Singular-Value-Decomposition.html

  • En el marco ROOT, desarrollado en el CERN y ampliamente utilizado en la comunidad científica:

https://root.cern.ch/root/htmldoc/guides/users-guide/LinearAlgebra.html#svd

  • En Intel® Math Kernel Library (Intel® MKL).

https://software.intel.com/en-us/intel-mkl

  • En la biblioteca numpy para álgebra lineal en Python:

https://numpy.org/doc/stable/reference/generated/numpy.linalg.svd.html

  • En la biblioteca de aprendizaje automático de tensorflow:

https://www.tensorflow.org/api_docs/python/tf/linalg/svd

  • y algunos otros

https://tedlab.mit.edu/~dr/SVDLIBC/
http://www.alglib.net/matrixops/general/svd.php

Véase también

Notas

  1. Descomposición de valores singulares en el wiki de reconocimiento . Consultado el 8 de noviembre de 2009. Archivado desde el original el 26 de mayo de 2012.
  2. Eckart, C. y Young, G. La aproximación de una matriz por otra de rango inferior. Psicométrica, 1936, 1, 211-218.
  3. Peter Harington. Aprendizaje automático en acción . - Isla Refugio, 2012. - Pág  . 280 . — ISBN 9781617290183 .

Literatura

  • William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery. 2.6 Descomposición en valores singulares // Recetas numéricas en C. - 2ª edición. —Cambridge: Prensa de la Universidad de Cambridge. - ISBN 0-521-43108-5 .

Enlaces

Artículos

Conferencias en línea