Saltar al contenido principal
LibreTexts Español

7.5: Uso de descomposiciones de valores singulares

  • Page ID
    115690
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Ahora hemos visto qué son las descomposiciones de valores singulares, cómo construirlas y cómo proporcionan información importante sobre una matriz como las bases ortonormales para los cuatro subespacios fundamentales. Esto nos coloca en una buena posición para comenzar a usar descomposiciones de valores singulares para resolver una amplia variedad de problemas.

    Dado que las descomposiciones de valores singulares transmiten tan inmediatamente datos fundamentales sobre una matriz, parece natural que algunos de nuestros trabajos anteriores puedan ser reinterpretados en términos de descomposiciones de valores singulares. Por lo tanto, tomaremos un tiempo en esta sección para revisar algunos temas familiares, como los problemas de mínimos cuadrados y el análisis de componentes principales, mientras también analizamos algunas aplicaciones nuevas.

    Vista previa Actividad 7.5.1.

    Supongamos que\(A = U\Sigma V^T\) donde

    \ begin {ecuación*}\ Sigma =\ begin {bmatrix} 13 & 0 & 0 & 0 & 0\\ 0 & 8 & 0 & 0\\ 0 & 0 & 2 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\ end {bmatrix},\ end {ecuación*}

    los vectores\(\mathbf u_j\) forman las columnas de\(U\text{,}\) y los vectores\(\mathbf v_j\) forman las columnas de\(V\text{.}\)

    1. ¿Cuáles son las dimensiones de las matrices\(A\text{,}\)\(U\text{,}\) y\(V\text{?}\)
    2. ¿Cuál es el rango de\(A\text{?}\)
    3. Describir cómo encontrar una base ortonormal para\(\col(A)\text{.}\)
    4. Describir cómo encontrar una base ortonormal para\(\nul(A)\text{.}\)
    5. Si las columnas\(Q\) forman una base ortonormal para\(\col(A)\text{,}\) lo que es\(Q^TQ\text{?}\)
    6. ¿Cómo formarías una matriz que proyecte vectores ortogonalmente en\(\col(A)\text{?}\)

    Problemas de mínimos cuadrados

    Los problemas de mínimos cuadrados, que exploramos en la Sección 6.5, surgen cuando nos enfrentamos a un sistema lineal inconsistente\(A\mathbf x=\mathbf b\text{.}\) Dado que no hay solución al sistema, en cambio encontramos el vector\(\mathbf x\) minimizando la distancia entre\(\mathbf b\) y Es\(A\mathbf x\text{.}\) decir, encontramos el vector\(\xhat\text{,}\) la solución aproximada de mínimos cuadrados, resolviendo\(A\xhat=\bhat\) dónde\(\bhat\) está la proyección ortogonal de\(\mathbf b\) sobre el espacio de columna de\(A\text{.}\)

    Si tenemos una descomposición de valores singulares,\(A=U\Sigma V^T\text{,}\) entonces el número de valores singulares distintos de cero nos\(r\) dice el rango de\(A\text{,}\) y las primeras\(r\) columnas de\(U\) formar una base ortonormal para\(\col(A)\text{.}\) Esta base puede usarse para proyectar vectores sobre\(\col(A)\) y por lo tanto para resolver problemas de mínimos cuadrados.

    Antes de explorar más a fondo esta conexión, presentaremos a Sage como una herramienta para automatizar la construcción de descomposiciones de valores singulares. Una nueva característica es que necesitamos declarar nuestra matriz para que consista en entradas de punto flotante. Esto lo hacemos incluyendo RDF dentro de la definición de matriz, como se ilustra en la siguiente celda.

    Actividad 7.5.2.

    Considera la ecuación\(A\mathbf x=\mathbf b\) donde

    \ begin {ecuación*}\ begin {bmatrix} 1 & 0\\ 1 & 1\\ 1 & 2\ end {bmatrix}\ mathbf x =\ threevec {-1} 36\ end {ecuación*}
    1. Encuentre un valor singular de descomposición para\(A\) usar la celda Sage a continuación. ¿Cuáles son los valores singulares de\(A\text{?}\)
    2. Cuál es\(r\text{,}\) el rango de\(A\text{?}\) ¿Cómo podemos identificar una base ortonormal para\(\col(A)\text{?}\)
    3. Formar la descomposición del valor singular reducido\(U_r\Sigma_rV_r^T\) construyendo la matriz\(U_r\text{,}\) que consiste en las primeras\(r\) columnas de\(U\text{,}\) la matriz\(V_r\text{,}\) que consiste en las primeras\(r\) columnas de\(V\text{,}\) y\(\Sigma_r\text{,}\) una matriz\(r\times r\) diagonal. Verifica que\(A=U_r\Sigma_r V_r^T\text{.}\)

      Puede que le resulte conveniente recordar que, si B es una matriz definida en Sage, entonces B.Matrix_from_column (list) y b.Matrix_from_rows (list) se pueden usar para extraer columnas o filas de B. Por ejemplo, B.Matrix_from_rows ([0,1,2]) proporciona una matriz formada a partir de las tres primeras filas de B.

    4. ¿Cómo la descomposición del valor singular reducido proporciona una matriz cuyas columnas son una base ortonormal para\(\col(A)\text{?}\)
    5. Explicar por qué una solución aproximada de mínimos cuadrados\(\xhat\) satisface
      \ begin {ecuación*} A\ xhat = u_ru_r^t\ mathbf b.\ end {ecuación*}
    6. ¿Cuál es el producto\(V_r^TV_r\) y por qué tiene esta forma?
    7. Explicar por qué
      \ begin {ecuación*}\ xhat = v_r\ sigma_r^ {-1} u_r^t\ mathbf b\ end {ecuación*}

      es una solución aproximada de mínimos cuadrados simplificando\(A\xhat = (U_r\Sigma_r V_r^T)(V_r\Sigma_r^{-1}U_r^T \mathbf b)\text{.}\)

      Ahora usa esta expresión para encontrar\(\xhat\text{.}\)

    Esta actividad demuestra el poder de una descomposición de valores singulares para encontrar una solución aproximada de mínimos cuadrados para una ecuación\(A\mathbf x = \mathbf b\text{.}\) Debido a que inmediatamente proporciona una base ortonormal para\(\col(A)\text{,}\) algo que hemos tenido que construir por el proceso de Gram-Schmidt en el pasado, podemos proyectar fácilmente \(\mathbf b\)sobre\(\col(A)\text{,}\) el que da como resultado una expresión simple para\(\xhat\text{.}\)

    Proposición 7.5.1.

    Si\(A=U_r\Sigma_r V_r^T\) es una descomposición de valor singular reducido de\(A\text{,}\) entonces una solución aproximada de mínimos cuadrados a\(A\mathbf x=\mathbf b\) viene dada por

    \ begin {ecuación*}\ xhat = v_r\ sigma_r^ {-1} u_r^t\ mathbf b.\ end {ecuación*}

    Si las columnas de\(A\) son linealmente independientes, entonces la ecuación\(A\xhat = \bhat\) tiene solo una solución por lo que hay una solución aproximada de mínimos cuadrados única\(\xhat\text{.}\) De lo contrario, la expresión en la Proposición 7.5.1 produce la solución a\(A\xhat=\bhat\) tener la longitud más corta.

    La matriz\(A^+ = V_r\Sigma_r^{-1}U_r^T\) se conoce como el psuedoinverso de Moore-Penrose de\(A\text{.}\) Cuando\(A\) es invertible,\(A^{-1} = A^+\text{.}\)

    \(k\)Aproximaciones de rango

    Si tenemos una descomposición de valores singulares para una matriz\(A\text{,}\) podemos formar una secuencia de matrices\(A_k\) que se aproximan\(A\) con precisión creciente. Esto puede resultar familiar para los estudiantes de cálculo que han visto la manera en que una función\(f(x)\) puede ser aproximada por una función lineal, una función cuadrática, y así sucesivamente con mayor precisión.

    Comenzaremos con una descomposición de valores singulares de una\(r\) matriz de rango\(A=U\Sigma V^T\text{.}\) para\(A\) que Para crear la matriz de aproximación\(A_k\text{,}\) mantengamos los primeros valores\(k\) singulares y pongamos los demás a cero. Por ejemplo, si\(\Sigma = \begin{bmatrix} 22 & 0 & 0 & 0 & 0 \\ 0 & 14 & 0 & 0 & 0 \\ 0 & 0 & 3 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ \end{bmatrix} \text{,}\) podemos formar matrices

    \ begin {ecuación*}\ Sigma^ {(1)} =\ begin {bmatrix} 22 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\ end {bmatrix},\ hspace {24pt}\ Sigma^ {(2)} =\ comenzar bmatrix} 22 y 0 y 0 y 0\ \ 0 & 14 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\ end {bmatrix}\ end {ecuación*}

    y definir\(A_1 = U\Sigma^{(1)}V^T\) y\(A_2 = U\Sigma^{(2)}V^T\text{.}\) Porque\(A_k\) tiene valores singulares\(k\) distintos de cero, sabemos que\(\rank(A_k) = k\text{.}\) De hecho, hay un sentido en el que\(A_k\) es la matriz más cercana a\(A\) entre todas las\(k\) matrices de rango.

    Actividad 7.5.3.

    Consideremos una matriz\(A=U\Sigma V^T\) donde

    \ begin {align*} & U =\ begin {bmatrix}\ frac {1} {2} &\ frac {1} {2} &\ frac {1} {2} &\ frac {1} {2}\ frac {1} {2} &\ frac {1} {2} & -\ frac {1} {2} {2}\\ frac {1} {2} & -\ frac {1} {2} &\ frac {1} {2} & -\ frac {1} {2}\ frac {1} {2} & -\ frac {1} {2} & -\ frac {1} {2} &\ frac {1} {2}\\ final {bmatrix},\ hspace {10pt}\ Sigma =\ begin {bmatrix} 500 & 0 & 0 & 0 & 0 & 0\\ 0 & 100 & 0 & 0 & 0\\ 0 & 0 & 20 & 0 & 0 & 0 & 0 & 4\ end {bmatrix}\\ & V =\ begin {bmatrix}\ frac {1} {2} &\ frac {1} {2} &\ frac {1} {2} &\ frac {1} { 2}\\ frac {1} {2} & -\ frac {1} {2} & -\ frac {1} {2} &\ frac {1} {2}\ -\ frac {1} {2} & -\ frac {1} {2} &\ frac {1} {2} &\ frac {1} {2} {1} {2} &\ frac {1} {2} & -\ frac {1} {2} &\ frac {1} {2}\ end {bmatrix}\ end {align*}

    Al evaluar la siguiente celda se crearán las matrices U, V y Sigma. Observe cómo el comando diagonal_matrix proporciona una manera conveniente de formar la matriz diagonal\(\Sigma\text{.}\)

    1. Formar la matriz\(A=U\Sigma V^T\text{.}\) Qué es\(\rank(A)\text{?}\)
    2. Ahora formar la matriz de aproximación\(A_1=U\Sigma^{(1)} V^T\text{.}\) ¿Qué es\(\rank(A_1)\text{?}\)
    3. Encuentra el error en la aproximación\(A\approx A_1\) encontrando\(A-A_1\text{.}\)
    4. Ahora encuentra\(A_2 = U\Sigma^{(2)} V^T\) y el error\(A-A_2\text{.}\) ¿Qué es\(\rank(A_2)\text{?}\)
    5. Encuentra\(A_3 = U\Sigma^{(3)} V^T\) y el error\(A-A_3\text{.}\) Qué es\(\rank(A_3)\text{?}\)
    6. ¿Qué pasaría si tuviéramos que computar\(A_4\text{?}\)
    7. ¿Qué nota sobre el error a\(A-A_k\) medida que\(k\) aumenta?

    En esta actividad, la matriz de aproximación\(A_k\) tiene rango\(k\) porque su descomposición de valores singulares tiene valores singulares\(k\) distintos de cero. Luego vimos cómo la diferencia entre\(A\) y las aproximaciones\(A_k\) disminuye a medida que\(k\) aumenta, lo que significa que la secuencia\(A_k\) forma mejores aproximaciones a medida que\(k\) aumenta.

    Otra forma de representar\(A_k\) es con una descomposición de valor singular reducido para que\(A_k = U_k\Sigma_kV_k^T\) donde

    \ begin {ecuación*} u_k =\ begin {bmatrix}\ mathbf u_1 &\ ldots &\ mathbf u_k\ end {bmatrix},\ hspace {10pt}\ sigma_k =\ begin {bmatrix}\ sigma_1 & 0 &\ ldots & 0\\ ldots & 0\\ 0 &\ sigma_2 &\ ldots & 0\\ vdots &\ vdots &\ ddots &\ vdots\\ 0 & 0 &\ ldots &\ sigma_k\ end {bmatrix},\ hspace {10pt} v_k =\ begin {bmatrix}\ mathbf v_1 &\ ldots &\ mathbf v_k\ end {bmatrix}\ text {.} \ end {ecuación*}

    Observe que la\(1\) matriz de rango\(A_1\) entonces tiene la forma\(A_1 = \mathbf u_1\begin{bmatrix}\sigma_1\end{bmatrix} \mathbf v_1^T = \sigma_1\mathbf u_1\mathbf v_1^T\) y que podemos escribir de manera similar:

    \ begin {align*} A\ approx A-1 & =\ sigma_1\ mathbf u_1\ mathbf v_1^t\\ A\ approx A_2 & =\ sigma_1\ mathbf u_1\ mathbf v_1^t +\ sigma_2\ mathbf u_2\ mathbf v_2^t\ A\ approx A_3 & =\ sigma_1\ mathbf u_1\ mathbf v_1^t +\ sigma_2\ mathbf u_2\ mathbf v_2^t +\ sigma_3\ mathbf u_3\ mathbf v_3^t\\\ vdots &\\ A = a_R & =\ sigma_1\ mathbf u_1\ mathbf v_1^t +\ sigma_2\ mathbf u_2\ mathbf v_2^t +\ sigma_3\ mathbf u_3\ mathbf v_3^t +\ ldots +\ sigma_r\ mathbf u_r\ mathbf v_r^t\ text {.} \ end {align*}

    Dados dos vectores\(\mathbf u\) y\(\mathbf v\text{,}\) la matriz\(\mathbf u~\mathbf v^T\) se llama el producto externo de\(\mathbf u\) y\(\mathbf v\text{.}\) (El producto punto a veces\(\mathbf u\cdot\mathbf v=\mathbf u^T\mathbf v\) se llama el producto interno.) Un producto externo siempre será una\(1\) matriz de rango por lo que vemos arriba cómo\(A_k\) se obtiene sumando\(1\) matrices de\(k\) rango, cada una de las cuales nos acerca un paso más a la matriz original\(A\text{.}\)

    Análisis de componentes principales

    En la Sección 7.3, exploramos el análisis de componentes principales como una técnica para reducir la dimensión de un conjunto de datos. En particular, construimos la matriz\(C\) de covarianza a partir de una matriz de datos degradada y vimos que los autovalores y vectores propios de nos\(C\) hablan de la varianza del conjunto de datos en diferentes direcciones. Nos referimos a los vectores propios de\(C\) como componentes principales y encontramos que proyectar los datos en un subespacio definido por los primeros componentes principales frecuentemente nos daba una forma de visualizar el conjunto de datos. A medida que agregamos más componentes principales, conservamos más información sobre el conjunto de datos original. Esto se siente similar a las\(k\) aproximaciones de rango que acabamos de ver así que exploremos la conexión.

    Supongamos que tenemos un conjunto de datos con\(N\) puntos, que\(A\) representa la matriz de datos degradada, que\(A = U\Sigma V^T\) es una descomposición de valores singulares, y que los valores singulares\(A\) se denotan como\(\sigma_i\text{.}\) Se deduce que la matriz de covarianza

    \ begin {ecuación*} C =\ Frac1n AA^T =\ Frac1n (U\ Sigma V^T) (U\ Sigma V^T) ^T = U\ izquierda (\ Frac1n\ Sigma\ Sigma^T\ derecha) U^T.\ final {ecuación*}

    Observe que\(\frac1N \Sigma\Sigma^T\) es una matriz diagonal cuyas entradas diagonales son\(\frac1N\sigma_i^2\text{.}\) Por lo tanto, se deduce que

    \ begin {ecuación*} C = U\ izquierda (\ Frac1n\ Sigma\ Sigma^T\ derecha) U^T\ end {ecuación*}

    es una diagonalización ortgonal de\(C\) mostrar que

    • los componentes principales del conjunto de datos, que son los vectores propios de\(C\text{,}\) están dados por las columnas de\(U\text{.}\) En otras palabras, los vectores singulares izquierdos de\(A\) son los componentes principales del conjunto de datos.
    • la varianza en la dirección de un componente principal es el valor propio asociado de\(C\) y por lo tanto
      \ begin {ecuación*} V_ {\ mathbf u_i} =\ Frac1n\ sigma_i^2. \ end {ecuación*}

    Actividad 7.5.4.

    Repasemos el conjunto de datos del iris que estudiamos en la Sección 7.3. Recuerda que hay cuatro medidas dadas por cada uno de 150 iris y que cada iris pertenece a una de tres especies.

    Al evaluar la siguiente celda se cargará el conjunto de datos y se definirá la matriz de datos degradada\(A\) cuya forma es\(4\times150\text{.}\)

    1. Encuentre los valores singulares de\(A\) usar el comando a.Singular_values () y utilícelos para determinar la varianza\(V_{\mathbf u_j}\) en la dirección de cada uno de los cuatro componentes principales. ¿Cuál es la fracción de varianza retenida por los dos primeros componentes principales?
    2. Ahora vamos a escribir la matriz\(\Gamma = \Sigma V^T\) para que\(A = U\Gamma\text{.}\) Supongamos que un punto de datos degradados, digamos, la columna número 100 de\(A\text{,}\) se escribe como una combinación lineal de componentes principales:
      \ begin {ecuación*}\ mathbf x = c_1\ mathbf u_1+c_2\ mathbf u_2+c_3\ mathbf u_3+c_4\ mathbf u_4. \ end {ecuación*}

      Explicar por qué\(\fourvec{c_1}{c_2}{c_3}{c_4}\text{,}\) el vector de coordenadas de\(\mathbf x\) en la base de componentes principales, aparece como columna número 100 de\(\Gamma\text{.}\)

    3. Supongamos que ahora proyectamos este punto de datos degradados\(\mathbf x\) ortogonalmente sobre el subespacio abarcado por los dos primeros componentes principales\(\mathbf u_1\) y\(\mathbf u_2\text{.}\) Cuáles son las coordenadas del punto proyectado en esta base y cómo podemos encontrarlas en la matriz\(\Gamma\text{?}\)
    4. Alternativamente, considere la aproximación\(A_2=U_2\Sigma_2V_2^T\) de la matriz de datos degradada\(A\text{.}\) Explique por qué la columna número 100 de\(A_2\) representa la proyección de\(\mathbf x\) sobre el subespacio bidimensional abarcado por los dos primeros componentes principales,\(\mathbf u_1\) y\(\mathbf u_2\text{.}\) Luego explique por qué coeficientes en esa proyección,\(c_1\mathbf u_1 + c_2\mathbf u_2\text{,}\) forman el vector bidimensional\(\twovec{c_1}{c_2}\) que es la columna número 100 de\(\Gamma_2=\Sigma_2 V_2^T\text{.}\)
    5. Ahora hemos visto que las columnas de\(\Gamma_2 = \Sigma_2 V_2^T\) forma las coordenadas de los puntos de datos degradados proyectados sobre el subespacio bidimensional abarcado por\(\mathbf u_1\) y\(\mathbf u_2\text{.}\) en la celda de abajo, encuentran un valor singular de descomposición\(A\) y lo utilizan para formar la matriz Gamma2. Al evaluar esta celda, verá una gráfica de las gráficas de datos degradadas proyectadas, similar a la que creamos en la Sección 7.3.

    En nuestro primer encuentro con el análisis de componentes principales, comenzamos con una matriz de datos degradada que\(A\text{,}\) formó la matriz de covarianza\(C\text{,}\) y utilizó los valores propios y vectores propios de\(C\) para proyectar los datos degradados en un subespacio dimensional más pequeño. En esta sección, hemos visto que una descomposición de valores singulares de\(A\) proporciona una ruta más directa: los vectores singulares izquierdos\(A\) forman los componentes principales y la matriz de aproximación\(A_k\) representa los puntos de datos proyectados sobre el subespacio abarcados por el primero\(k\) componentes principales. Las coordenadas de un punto de datos degradados proyectados vienen dadas por las columnas de\(\Gamma_k = \Sigma_kV_k^T\text{.}\)

    Compresión y desruido de imágenes

    Además del análisis de componentes principales, las aproximaciones\(A_k\) de una matriz\(A\) obtenidas a partir de una descomposición de valores singulares pueden ser utilizadas en el procesamiento de imágenes. Recuerde que estudiamos el algoritmo de compresión JPEG, cuya base es el cambio de base definido por la Transformada Discreta del Coseno, en la Sección 3.3. Ahora veremos cómo una descomposición de valores singulares proporciona otra herramienta tanto para comprimir imágenes como para eliminar el ruido en ellas.

    Actividad 7.5.5.

    Evaluar la siguiente celda carga algunos datos que usaremos en esta actividad. Para comenzar, define y muestra una\(25\times15\) matriz\(A\text{.}\)

    1. Si interpretamos 0 como negro y 1 como blanco, esta matriz representa una imagen como se muestra a continuación.
      Exploraremos cómo la descomposición del valor singular nos ayuda a comprimir esta imagen.
      1. Al inspeccionar la imagen representada por\(A\text{,}\) identificar una base\(\col(A)\) y determinar\(\rank(A)\text{.}\)
      2. La siguiente celda traza los valores singulares de\(A\text{.}\) Explica cómo esta gráfica verifica que el rango es lo que encontraste en la parte anterior.
      3. Hay un comando aproximado (A, k) que crea la aproximación\(A_k\text{.}\) Usa la celda de abajo para definir\(k\) y mirar las imágenes representadas por las primeras aproximaciones. ¿Cuál es el valor más pequeño\(k\) para el cual\(A=A_k\text{?}\)
      4. Ahora podemos ver cómo la descomposición del valor singular nos permite comprimir imágenes. Como se trata de una\(25\times15\) matriz, necesitamos\(25\cdot15=375\) números para representar la imagen. Sin embargo, también podemos reconstruir la imagen usando un pequeño número de valores singulares y vectores:
        \ begin {ecuación*} A = a_k =\ sigma_1\ mathbf u_1\ mathbf v_1^t +\ sigma_2\ mathbf u_2\ mathbf v_2^t +\ ldots +\ sigma_k\ mathbf u_k\ mathbf v_k^t.\ end {ecuación*}

        Cuáles son las dimensiones de los vectores singulares\(\mathbf u_i\) y\(\mathbf v_i\text{?}\) Entre los vectores singulares y los valores singulares, cuántos números necesitamos reconstruir\(A_k\) para los más pequeños\(k\) para los cuales\(A=A_k\text{?}\) Este es el tamaño comprimido de la imagen.

      5. La relación de compresión es la relación entre el tamaño sin comprimir y el tamaño comprimido. ¿Qué relación de compresión representa esto?
    2. A continuación exploraremos un ejemplo basado en una fotografía.
      1. Considere la siguiente imagen que consiste en una matriz de\(316\times310\) píxeles almacenados en la matriz\(A\text{.}\)

        Trazar los valores singulares de\(A\text{.}\)

      2. Utilice la celda a continuación para estudiar las aproximaciones\(A_k\) para\(k=1, 10, 20, 50, 100\text{.}\)
        Observe cómo la imagen de aproximación se aproxima\(A_k\) más estrechamente a la imagen original a\(A\) medida que\(k\) aumenta.

        Cuál es la relación de compresión cuando\(k=50\text{?}\) Cuál es la relación de compresión cuando\(k=100\text{?}\) Observe cómo una mayor relación de compresión conduce a una reconstrucción de menor calidad de la imagen.

    3. Una segunda aplicación relacionada de la descomposición del valor singular al procesamiento de imágenes se denomina eliminación de ruido. Por ejemplo, considere la imagen representada por la matriz de\(A\) abajo.
      Esta imagen es similar a la imagen de la letra “O” que primero estudiamos en esta actividad, pero hay regiones salpicadas en el fondo que resultan, tal vez, del escaneo de la imagen. Pensamos en las regiones salpicadas como ruido, y nuestro objetivo es mejorar la calidad de la imagen reduciendo el ruido.
      1. Trazar los valores singulares a continuación. ¿Cómo son los valores singulares de esta matriz similares a los representados por la imagen limpia que consideramos antes y en qué se diferencian?
      2. Hay un punto natural donde los valores singulares disminuyen drásticamente por lo que tiene sentido pensar que el ruido está formado por los pequeños valores singulares. Para retocar la imagen, reemplazaremos por lo tanto\(A\) por su aproximación\(A_k\text{,}\) donde\(k\) está el punto en el que caen los valores singulares. Esto tiene el efecto de establecer los pequeños valores singulares a cero y, por lo tanto, eliminar el ruido. Elija un valor apropiado de\(k\) abajo y observe que la nueva imagen parece estar algo limpiada como resultado de eliminar el ruido.

    Varios ejemplos que ilustran cómo la descomposición del valor singular comprime las imágenes están disponibles en esta página de Tim Baumann.

    Analizando casos de la Corte Suprema

    Como hemos visto, una descomposición de valores singulares concentra las características más importantes de una matriz en los primeros valores singulares y vectores singulares. Ahora utilizaremos esta observación para extraer significado de un gran conjunto de datos que da los registros de votación de los jueces de la Corte Suprema. Un análisis similar aparece en la ponencia A pattern analysis of the second Rehnquist U.S. Supreme Court by Lawrence Sirovich.

    La composición de la Suprema Corte fue inusualmente estable durante un periodo comprendido entre 1994 y 2005 cuando fue encabezada por el Presidente del Tribunal Supremo William Rehnquist. Esto a veces se llama el segundo tribunal Rehnquist. Los jueces durante este periodo fueron:

    • William Rehnquist
    • Antonin Scalia
    • Clarence Thomas
    • Anthony Kennedy
    • Sandra Día O'Connor
    • John Paul Stevens
    • David Souter
    • Ruth Bader Ginsburg
    • Stephen Breyer

    Durante este tiempo, hubo 911 casos en los que votaron los nueve jueces. Nos gustaría entender los patrones en su votación.

    Actividad 7.5.6.

    Evaluando las siguientes cargas celulares y muestra un conjunto de datos que describe los votos de cada justicia en estos 911 casos. Más específicamente, una entrada de +1 significa que la justicia representada por la fila votó con la mayoría en el caso representado por la columna. Una entrada de -1 significa que la justicia estaba en minoría. Esta información también se almacena en la\(9\times911\) matriz\(A\text{.}\)

    Se listan los jueces, de manera muy aproximada, en orden de más conservadores a más progresistas.

    En esta actividad, será útil visualizar las entradas en diversas matrices y vectores. La siguiente celda muestra las primeras 50 columnas de la matriz\(A\) con el blanco representando una entrada de +1, el rojo representando -1 y el negro representando 0.

    1. Trazar los valores singulares de\(A\) abajo. Describir la significancia de esta parcela, incluyendo las contribuciones relativas de los valores singulares a\(\sigma_k\) medida que\(k\) aumenta.
    2. Formar la descomposición del valor singular\(A=U\Sigma V^T\) y la matriz de coeficientes\(\Gamma\) para que\(A=U\Gamma\text{.}\)
    3. Ahora estudiaremos un caso particular, apareciendo el segundo caso como la columna de\(A\) indexado por 1. Hay un comando display_column (A, k) que proporciona una visualización visual de la\(k^{th}\) columna de una matriz\(A\text{.}\) Describir los votos de los jueces en el segundo caso.
    4. También, mostrar el primer vector singular izquierdo\(\mathbf u_1\text{,}\) la columna de\(U\) indexado por\(0\text{,}\) y la columna de\(\Gamma\) contener los coeficientes que expresan el segundo caso como una combinación lineal de vectores singulares izquierdos.
      ¿Qué nos dice esto sobre cómo se construye el segundo caso como una combinación lineal de vectores singulares izquierdos? Cuál es el significado del primer vector singular izquierdo\(\mathbf u_1\text{?}\)
    5. Estudiemos ahora el\(48^{th}\) caso, que está representado por la columna de\(A\) indexado por 47. Describir el patrón de votación en este caso.
    6. Mostrar el segundo vector singular izquierdo\(\mathbf u_2\) y el vector de coeficientes que expresan el\(48^{th}\) caso como una combinación lineal de vectores singulares izquierdos.
      Describir cómo se construye este caso como una combinación lineal de vectores singulares. Cuál es el significado del segundo vector singular izquierdo\(\mathbf u_2\text{?}\)
    7. Los datos del Cuadro 7.5.2 describen el número de casos decididos por cada posible recuento de votos.
      Cuadro 7.5.2. Número de casos por recuento de votos
      Recuento de votos # de casos
      9-0 405
      8-1 89
      7-2 111
      6-3 118
      5-4 188
      ¿Cómo\(\mathbf u_2\) reflejan los vectores singulares\(\mathbf u_1\) y estos datos? ¿Caracterizaría a la corte como inclinada hacia los conservadores o progresistas? Usa estos vectores singulares para explicar tu respuesta.
    8. Los casos decididos por 5-4 votos suelen ser los más impactantes ya que representan una fuerte división entre los jueces y, a menudo, la sociedad en general. Por esa razón, ahora nos centraremos en las decisiones 5-4. Evaluando la siguiente celda forma la\(9\times188\) matriz\(B\) que consiste en 5-4 decisiones.
      Formar la descomposición del valor singular\(B=U\Sigma V^T\) junto con la matriz\(\Gamma\) de coeficientes de manera que\(B=U\Gamma\) y mostrar el primer vector singular izquierdo\(\mathbf u_1\text{.}\) Estudie cómo se construye el\(7^{th}\) caso, indexado por 6, como una combinación lineal de vectores singulares izquierdos.
      ¿Qué nos dice este singular vector sobre la conformación de la corte y si se inclina hacia los conservadores o progresistas?
    9. Mostrar el segundo vector singular izquierdo\(\mathbf u_2\) y estudiar cómo se construye el\(6^{th}\) caso, indexado por 5, como una combinación lineal de vectores singulares izquierdos.
      ¿Qué nos\(\mathbf u_2\) dice de la importancia relativa de los registros de votación de los jueces?
    10. Por voto oscilante, nos referimos a una justicia que está menos inclinada a votar con un bloque particular de jueces pero que en cambio oscila de un bloque a otro con el potencial de influenciar decisiones cerradas. ¿Qué nos\(\mathbf u_2\) dicen los vectores singulares\(\mathbf u_1\) y sobre la presencia de bloques de votación en la cancha y la presencia de un voto swing? ¿Qué justicia representa el voto swing?

    Resumen

    Esta sección ha demostrado algunos usos de la descomposición del valor singular. Debido a que los valores singulares aparecen en orden decreciente, la descomposición tiene el efecto de concentrar las características más importantes de la matriz en los primeros valores singulares y vectores singulares.

    • Debido a que los primeros vectores singulares izquierdos forman una base ortonormal para\(\col(A)\text{,}\) una descomposición de valores singulares proporciona una manera conveniente de proyectar vectores sobre\(\col(A)\) y, por lo tanto, resolver problemas de mínimos cuadrados.
    • Una descomposición de valores singulares de una\(r\) matriz de rango\(A\) conduce a una serie de aproximaciones\(A_k\) de\(A\) donde
      \ begin {align*} A\ approx A-1 & =\ sigma_1\ mathbf u_1\ mathbf v_1^t\\ A\ approx A_2 & =\ sigma_1\ mathbf u_1\ mathbf v_1^t +\ sigma_2\ mathbf u_2\ mathbf v_2^t\ A\ approx A_3 & =\ sigma_1\ mathbf u_1\ mathbf v_1^t +\ sigma_2\ mathbf u_2\ mathbf v_2^t +\ sigma_3\ mathbf u_3\ mathbf v_3^t\\\ vdots &\\ A = a_R & =\ sigma_1\ mathbf u_1\ mathbf v_1^t +\ sigma_2\ mathbf u_2\ mathbf v_2^t +\ sigma_3\ mathbf u_3\ mathbf v_3^t +\ ldots +\ sigma_r\ mathbf u_r\ mathbf v_r^t\ end {align*}

      En cada caso,\(A_k\) es la\(k\) matriz de rango que está más cerca de\(A\text{.}\)

    • Si\(A\) es una matriz de datos degradada, los vectores singulares izquierdos dan los componentes principales de\(A\) y la varianza en la dirección de un componente principal se puede expresar fácilmente en términos del valor singular correspondiente.
    • La descomposición del valor singular tiene muchas aplicaciones. En esta sección, analizamos cómo se utiliza la descomposición en el procesamiento de imágenes a través de las técnicas de compresión y eliminación de ruido.
    • Debido a que los primeros vectores singulares de la izquierda contienen las características más importantes de una matriz, podemos usar una descomposición de valores singulares para extraer significado de un gran conjunto de datos como lo hicimos al analizar los patrones de votación del segundo tribunal de Rehnquist.

    Ejercicios 7.5.7Ejercicios

    1

    Supongamos que

    \ begin {ecuación*} A =\ begin {bmatrix} 2.1 & -1.9 & 0.1 & 3.7\\ -1.5 & 2.7 & 0.9 & -0.6\\ -0.4 & 2.8 & -1.5 & 4.2\\ -0.4 & 2.4 & 1.9 & -1.8\ end {bmatrix}. \ end {ecuación*}
    1. Encuentra los valores singulares de\(A\text{.}\) Lo que es\(\rank(A)\text{?}\)
    2. Encuentra la secuencia de matrices\(A_1\text{,}\)\(A_2\text{,}\)\(A_3\text{,}\) y\(A_4\) dónde\(A_k\) está la\(k\) aproximación de rango de\(A\text{.}\)
    2

    Supongamos que nos gustaría encontrar la mejor función cuadrática

    \ begin {ecuación*}\ beta_0 +\ beta_1x +\ beta_2x^2=y\ end {ecuación*}

    ajuste de los puntos

    \ begin {ecuación*} (0,1), (1,0), (2,1.5), (3,4), (4,8). \ end {ecuación*}
    1. Configurar un sistema lineal\(A\mathbf x = \mathbf b\) que describa los coeficientes\(\mathbf x = \threevec{\beta_0}{\beta_1}{\beta_2}\text{.}\)
    2. Encuentra el valor singular descomposición de\(A\text{.}\)
    3. Utilice el valor singular de descomposición para encontrar la solución aproximada de mínimos cuadrados\(\xhat\text{.}\)
    3

    Recuerde que el producto exterior de dos vectores\(\mathbf u\) y\(\mathbf v\) es la matriz\(\mathbf u~\mathbf v^T\text{.}\)

    1. Supongamos que\(\mathbf u = \twovec{2}{-3}\) y\(\mathbf v=\threevec201\text{.}\) Evaluar el producto exterior\(\mathbf u~\mathbf v^T\text{.}\) Para tener una idea más clara de cómo funciona esto, realice esta operación sin usar tecnología.

      ¿Cómo se\(\mathbf u~\mathbf v^T\) relaciona cada una de las columnas con\(\mathbf u\text{?}\)

    2. Supongamos\(\mathbf u\) y\(\mathbf v\) son vectores generales. Qué es\(\rank(\mathbf u~\mathbf v^T)\) y qué es una base para su espacio de columna\(\col(\mathbf u~\mathbf v^T)\text{?}\)
    3. Supongamos que\(\mathbf u\) es un vector unitario. Cuál es el efecto de multiplicar un vector por la matriz\(\mathbf u~\mathbf u^T\text{?}\)
    4

    Evaluar las siguientes cargas de celdas en un dataset que registra algunas características de 1057 casas. Observe cómo el tamaño del lote varía en un rango relativamente pequeño en comparación con las otras características. Por esta razón, además de degradar los datos, escalaremos cada entidad dividiendo por su desviación estándar para que el rango de valores sea similar para cada entidad. La matriz\(A\) contiene el resultado.

    1. Encuentre los valores singulares de\(A\) y utilícelos para determinar la varianza en la dirección de los componentes principales.
    2. ¿Para qué fracción de la varianza contabilizan los dos primeros componentes principales?
    3. Encontrar una descomposición de valores singulares\(A\) y construir la\(2\times1057\) matriz\(B\) cuyas entradas son las coordenadas de los puntos de datos degradados proyectados en el subespacio bidimensional abarcado por los dos primeros componentes principales. Puede trazar los puntos de datos proyectados usando list_plot (B.Column ()).
    4. Estudia las entradas en los dos primeros componentes principales\(\mathbf u_1\) y\(\mathbf u_2\text{.}\) ¿Se encontraría una casa más cara a la izquierda, derecha, arriba o abajo de la parcela que construyó?
    5. ¿De qué manera se diferencia una casa que se encuentra en el extremo izquierdo de la parcela que construiste de una casa promedio? ¿De qué manera se diferencia una casa que se encuentra cerca de la parte superior de la parcela que construiste de una casa promedio?
    5

    Volvamos a revisar las actas de votación de los magistrados del segundo tribunal Rehnquist. Al evaluar la siguiente celda se cargarán los registros de votación de los jueces en los 188 casos resueltos por 5-4 votos y los almacenarán en la matriz\(A\text{.}\)

    1. La celda anterior también definió el vector de 188 dimensiones\(\mathbf v\) cuyas entradas son todas 1. ¿Qué\(A\mathbf v\) representa el producto? Utilice la siguiente celda para evaluar este producto.
    2. ¿Cómo nos\(A\mathbf v\) dice el producto qué justicia votó en la mayoría con mayor frecuencia? ¿Qué dice esto sobre la presencia de un voto swing en la cancha?
    3. ¿Cómo nos dice este producto si debemos caracterizar a este tribunal como conservador inclinado o progresista?
    4. ¿Cómo nos dice este producto sobre la presencia de un segundo voto swing en la cancha?
    5. Estudiar el vector singular izquierdo\(\mathbf u_3\) y describir cómo refuerza el hecho de que hubo un segundo voto swing. ¿Quién fue este segundo voto swing?
    6

    La siguiente celda carga un conjunto de datos que describe los porcentajes con los que los jueces del segundo tribunal de Rehnquist coincidieron entre sí. Por ejemplo, la entrada en la primera fila y segunda columna es 72.78, lo que significa que los jueces Rehnquist y Scalia coincidieron entre sí en 72.78% de los casos.

    1. Examinar la matriz\(A\text{.}\) ¿Qué estructura especial tiene esta matriz y por qué deberíamos esperar que tenga esta estructura?
    2. Trazar los valores singulares de\(A\) abajo. ¿Para qué valor de\(k\)\(A_k\) sería la aproximación una aproximación razonable de\(A\text{?}\)
    3. Encuentra un valor singular de descomposición\(A=U\Sigma V^T\) y examina las matrices\(U\) y\(V\) usando, por ejemplo, n (U, 3). ¿Qué nota sobre la relación entre\(U\) y\(V\) y por qué deberíamos esperar que se mantenga esta relación?
    4. El comando approximate (A, k) formará la matriz de aproximación\(A_k\text{.}\) Estudiar la matriz\(A_1\) usando el comando display_matrix. ¿Qué justicia o jueces parecen ser más agradables, es decir, más propensos a estar de acuerdo con otros jueces? ¿Cuál es la justicia menos agradable?
    5. Examinar la diferencia\(A_2-A_1\) y describir cómo esto nos dice sobre la presencia de bloques de votación y votos oscilantes en la cancha.
    7

    Supongamos que\(A=U_r\Sigma_rV_r^T\) es una descomposición de valor singular reducido de la\(m\times n\) matriz\(A\text{.}\) La matriz\(A^+ = V_r\Sigma_r^{-1}U_r^T\) se llama la inversa de Moore-Penrose de\(A\text{.}\)

    1. Explique por qué\(A^+\) es una\(n\times m\) matriz.
    2. Si\(A\) es una matriz cuadrada invertible, explique por qué\(A^+=A^{-1}\text{.}\)
    3. Explicar por qué\(AA^+\mathbf b=\bhat\text{,}\) la proyección ortogonal de\(\mathbf b\)\(\col(A)\text{.}\)
    4. Explicar por qué\(A^+A\mathbf x=\xhat\text{,}\) la proyección ortogonal de\(\mathbf x\)\(\col(A^T)\text{.}\)
    8

    En la Subsección 5.1.1, vimos cómo algunos cálculos algebraicos lineales son sensibles al error de redondear cometido por una computadora. Una descomposición de valores singulares puede ayudarnos a entender cuándo puede ocurrir esta situación.

    Por ejemplo, considere las matrices

    \ begin {ecuation*} A =\ begin {bmatrix} 1.0001 & 1\\ 1 & 1\\\ end {bmatrix},\ hspace {24pt} B =\ begin {bmatrix} 1 & 1\\ 1 & 1\\\ end {bmatrix}. \ end {ecuación*}

    Las entradas en estas matrices son bastante cercanas entre sí, pero\(A\) es invertible mientras que no lo\(B\) es. Parece que\(A\) es casi singular. De hecho, podemos medir qué tan cerca está una matriz de ser singular formando el número de condición,\(\sigma_1/\sigma_n\text{,}\) la relación entre el valor singular más grande y el más pequeño. Si\(A\) fueran singulares, el número de condición estaría indefinido porque el valor singular\(\sigma_n=0\text{.}\) Por lo tanto, pensaremos en matrices con números de condición grandes como cercanas al singular.

    1. Definir la matriz\(A\) y encontrar un valor singular de descomposición. ¿Cuál es el número de condición de\(A\text{?}\)
    2. Definir los vectores singulares\(\mathbf u_1\) izquierdos y\(\mathbf u_2\text{.}\) comparar los resultados\(A^{-1}\mathbf b\) cuando
      1. \(\mathbf b=\mathbf u_1+\mathbf u_2\text{.}\)
      2. \(\mathbf b=2\mathbf u_1+\mathbf u_2\text{.}\)

      Observe cómo un pequeño cambio en el vector\(\mathbf b\) conduce a un pequeño cambio en\(A^{-1}\mathbf b\text{.}\)

    3. Ahora compara los resultados\(A^{-1}\mathbf b\) cuando
      1. \(\mathbf b=\mathbf u_1+\mathbf u_2\text{.}\)
      2. \(\mathbf b=\mathbf u_1+2\mathbf u_2\text{.}\)

      Observe ahora cómo un pequeño cambio en\(\mathbf b\) conduce a un gran cambio en\(A^{-1}\mathbf b\text{.}\)

    4. Anteriormente, vimos que, si escribimos\(\mathbf x\) en términos de vectores singulares\(\mathbf x=c_1\mathbf v_1+c_2\mathbf v_2\text{,}\) izquierdos entonces tenemos
      \ begin {ecuación*}\ mathbf b=a\ mathbf x = c_1\ sigma_1\ mathbf u_1 + c_2\ sigma_2\ mathbf u_2. \ end {ecuación*}

      Si escribimos\(\mathbf b=d_1\mathbf u_1+d_2\mathbf u_2\text{,}\) explicamos por qué\(A^{-1}\mathbf b\) es sensible a pequeños cambios en\(d_2\text{.}\)

    En términos generales, una matriz cuadrada\(A\) con un número de condición grande demostrará este tipo de comportamiento de manera que el cálculo de\(A^{-1}\) es probable que se vea afectado por el error de redondeo. Llamamos a tal matriz mal condicionada.


    This page titled 7.5: Uso de descomposiciones de valores singulares is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by David Austin via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.