- 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
Solución de Sistemas Sobredeterminados con Pseudo-Inversa y Python
Clase 14 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
¿Qué es un sistema de ecuaciones y cómo se resuelve?
Un sistema de ecuaciones es un conjunto de ecuaciones con varias incógnitas. Este sistema puede tener cero, una o infinitas soluciones. En situaciones donde el sistema tiene una solución única, esto indica que existe una matriz inversa y que la matriz es cuadrada con vectores linealmente independientes. Cuando buscamos una solución X tal que minimice una norma específica, podemos recurrir a un método llamado pseudo inversa.
¿Cómo aplicar la pseudo inversa para resolver un sistema?
La pseudo inversa es útil para encontrar una solución X que minimice la norma de a por X menos B en un sistema de ecuaciones lineales. Esto es importante en sistemas sobre determinados, donde hay más ecuaciones que incógnitas.
Visualización inicial con Python
Para abordar este problema con código, se pueden seguir estos pasos:
-
Configuración de entorno y librerías: Inicialmente, se importa
numpycomonpy se utilizamatplotlibpara visualizar gráficamente.import numpy as np import matplotlib.pyplot as plt -
Definición del dominio: Se establece un rango de valores de X para evaluar las ecuaciones del sistema:
x = np.linspace(-5, 5, 1000) -
Definición de funciones: Se crean las funciones correspondientes a las tres ecuaciones del sistema:
y1 = -4 * x + 3 y2 = 2 * x + 5 y3 = -3 * x + 1
Graficación del sistema
Las ecuaciones se grafican para visualizar su intersección:
plt.plot(x, y1, label='y1 = -4x + 3')
plt.plot(x, y2, label='y2 = 2x + 5')
plt.plot(x, y3, label='y3 = -3x + 1')
plt.xlim(-2, 2.5)
plt.ylim(-6, 6)
plt.legend()
plt.show()
En el gráfico, es evidente que las rectas definidas por estas ecuaciones no cruzan en un único punto común.
¿Cómo usar la pseudo inversa para encontrar el punto óptimo?
Para resolver este problema gráficamente y encontrar el punto que minimice la norma dos, seguimos estos pasos:
-
Definir la matriz y el vector de soluciones:
La matriz A se construye con los coeficientes de las ecuaciones:
A = np.array([[4, 1], [-2, 1], [3, 1]]) b = np.array([3, 5, 1]) # Vector de soluciones -
Calcular la pseudo inversa:
Utilizamos
numpy.linalg.pinvpara calcularla:A_pseudo_inv = np.linalg.pinv(A) -
Encontrar la solución X:
Multiplicamos la pseudo inversa de A con el vector b:
X = A_pseudo_inv @ b
Este cálculo nos proporciona una solución que podemos interpretar gráficamente.
Interpretación gráfica y análisis
Al graficar nuevamente y añadir el punto encontrado:
plt.plot(x, y1, label='y1 = -4x + 3')
plt.plot(x, y2, label='y2 = 2x + 5')
plt.plot(x, y3, label='y3 = -3x + 1')
plt.scatter(X[0], X[1], color='red', zorder=5) # Punto solución
plt.xlim(-2, 2.5)
plt.ylim(-6, 6)
plt.legend()
plt.show()
El punto solución no siempre se encuentra en el centro del "triángulo" formado por las ecuaciones debido al diferente peso que cada una ejerce sobre él, como una suerte de centro de gravedad.
La pseudo inversa proporciona una herramienta efectiva para manejar sistemas sobre determinados, ayudándonos a encontrar soluciones óptimas que norman la minimización. Siguiendo este enfoque, podemos comprender y resolver problemas complejos en la matemática aplicada. ¡Sigue adelante y continúa aprendiendo!