- 1

Descomposición de Matrices y Su Aplicación en Machine Learning
01:47 - 2

Transformaciones Lineales con Matrices en Python: Visualización y Análisis
12:56 - 3

Autovalores y autovectores en transformaciones lineales
06:44 - 4

Cálculo de Autovalores y Autovectores con NumPy en Python
06:45 - 5

Descomposición de matrices: valores y vectores propios
08:37 - 6

Descomposición de Matrices en Valores Singulares
05:29 - 7

Transformaciones Lineales con Matrices: Efectos en el Círculo Unitario
10:53 - 8

Descomposición SVD: Transformaciones de Matrices y Círculo Unitario
06:25 - 9

Impacto de los Valores Singulares en Transformaciones Matriciales
09:17
Impacto de los Valores Singulares en Transformaciones Matriciales
Clase 9 de 18 • Curso de Álgebra Lineal Aplicada para Machine Learning
Contenido del curso
- 10

Procesamiento de Imágenes: Escala de Grises y Normalización
09:47 - 11

Descomposición de imágenes: reducción de tamaño y reconstrucción eficaz
07:41 - 12

Compresión de Imágenes Usando Descomposición en Valores Singulares
05:04 - 13

Cálculo de la seudo inversa de Moore-Penrose en Python
14:28 - 14

Solución de Sistemas Sobredeterminados con Pseudo-Inversa y Python
07:28
¿Cómo intervienen los valores singulares en una transformación?
Entender la importancia de los valores singulares es fundamental para cualquier analista de datos que busque profundizar en la descomposición de matrices y sus aplicaciones prácticas. Al descomponer una matriz, obtenemos tres matrices: U, D y V, donde D es diagonal y está compuesta por los valores singulares. Pero, ¿qué provoca realmente la aplicación de estos valores en una transformación? Descubrir esto nos permite analizar cómo los valores singulares influyen en las direcciones principales y la extensión en las que el transformador impacta al espacio de datos.
¿Cómo se implementa la descomposición de matrices en Python?
El trabajo comienza llamando a las bibliotecas necesarias y definiendo una matriz a descomponer. Utilizando numpy (alias np) y matplotlib, podemos no solo ejecutar operaciones matemáticas complejas, sino también visualizar el efecto de estas descomposiciones:
import numpy as np
from matplotlib import pyplot as plt
# Definimos la matriz a descomponer
A = np.array([[3, 7], [5, 2]])
# Calculamos la descomposición en valores singulares
U, D, Vt = np.linalg.svd(A)
Con numpy.linalg.svd(), se realiza la descomposición SVD de la matriz, devolviendo las matrices U, D (en forma de un vector diagonal) y V transpuesta, permitiendo así el análisis de sus efectos individuales.
¿Cómo afectan los valores singulares a los vectores?
Una vez que tenemos los valores singulares, podemos ver su influencia directa sobre los vectores al aplicar las matrices resultantes de la descomposición. Por ejemplo, al definir un nuevo conjunto de vectores, observamos cómo se transforman al aplicar los valores singulares:
# Definición de vectores
vector_1 = np.array([1, 0])
vector_2 = np.array([0, 1])
# Aplicación de D a los vectores
d_vector_1 = D[0] * np.array([U[0,0], U[1,0]])
d_vector_2 = D[1] * np.array([U[0,1], U[1,1]])
Los valores de la matriz diagonal D escalan los vectores direccionales transformándolos, ampliando o reduciendo su longitud según su magnitud.
¿Cómo visualizamos las transformaciones de los vectores?
Para comprender mejor estas transformaciones, utilizamos gráficos en matplotlib para visualizar tanto la matriz original como los vectores transformados por los valores singulares. Al trazar estos en un gráfico, podemos contrastar cómo cambian tanto el tamaño como la dirección de los vectores iniciales y transformados:
# Visualización del efecto de la descomposición
plt.quiver(0, 0, vector_1[0], vector_1[1], angles='xy', scale_units='xy', scale=1, color='r', label='Vector Original 1')
plt.quiver(0, 0, d_vector_1[0], d_vector_1[1], angles='xy', scale_units='xy', scale=1, color='b', label='Vector Transformado 1')
plt.quiver(0, 0, vector_2[0], vector_2[1], angles='xy', scale_units='xy', scale=1, color='g', label='Vector Original 2')
plt.quiver(0, 0, d_vector_2[0], d_vector_2[1], angles='xy', scale_units='xy', scale=1, color='y', label='Vector Transformado 2')
plt.xlim(-8, 8)
plt.ylim(-8, 8)
plt.grid()
plt.legend()
plt.show()
Al visualizar estos cambios, se obtiene una imagen clara de cómo los valores singulares transforman los vectores, revelando sus efectos de escala y rotación que impactan desde distintas direcciones.
¿Por qué es importante el análisis de valores singulares?
El análisis de valores singulares es esencial para diversas aplicaciones, desde la compresión de imágenes hasta el reconocimiento de patrones. Este enfoque permite descomponer las transformaciones complejas en alteraciones manejables en escala y dirección. Además, comprender estos conceptos abre nuevas oportunidades para mejorar procesos analíticos y modelar datos con precisión superior.
En conclusión, el estudio y la aplicación práctica de valores singulares nos proporcionan una herramienta extraordinariamente potente para manipular y comprender nuestras matrices y sus transformaciones.