Contenido del curso
Operaciones con Vectores y Matrices
Multiplicación de Matrices
Construcción de un Modelo de Regresión Lineal
Matriz identidad e inversa en NumPy
Resumen
¿Se puede deshacer una transformación matricial? Sí, y la respuesta está en dos conceptos que sostienen buena parte del álgebra lineal aplicada a machine learning: la matriz identidad y la matriz inversa. Si trabajas con datos, entender cómo funcionan te permite resolver sistemas de ecuaciones y comprender algoritmos como la regresión lineal desde su base teórica.
¿Qué es la matriz identidad y por qué actúa como el número uno?
Antes de revertir algo, necesitas un punto de referencia neutro. Ese estado sin cambios en el álgebra de matrices es la matriz identidad, representada con una I mayúscula. Es una matriz cuadrada con unos en su diagonal principal y ceros en el resto.
Su propiedad fundamental es simple: cualquier matriz A multiplicada por I devuelve la misma A. No la altera. Por eso decimos que es el equivalente matricial del número uno [0:36].
¿Qué es la matriz identidad? Es una matriz cuadrada con unos en la diagonal principal y ceros en el resto. Funciona como elemento neutro de la multiplicación: cualquier matriz multiplicada por ella no cambia.
¿Cómo crear una matriz identidad con NumPy?
En NumPy se construye con np.eye(), indicando el tamaño de la matriz cuadrada. El nombre del método viene del sonido de la letra i en inglés, ya que usar I mayúscula como nombre de función no es buena práctica en software [1:25].
python import numpy as np
I = np.eye(3) print("Matriz identidad 3x3") print(I)
Si luego defines una matriz A cualquiera y calculas A @ I, el resultado será idéntico a A. Esa es la comprobación práctica de que la identidad no transforma nada.
¿Qué es la matriz inversa y cuándo existe?
La matriz inversa, denotada como A elevado a la -1, es la transformación que anula el efecto de la matriz original. Su definición formal: cualquier matriz multiplicada por su inversa da como resultado la matriz identidad. Tiene sentido, porque revertir una transformación equivale a no haber hecho nada.
Pero aquí está el detalle clave: no todas las matrices tienen inversa. Para que una matriz sea invertible deben cumplirse dos condiciones:
- Debe ser cuadrada.
- Su determinante debe ser diferente de cero.
El determinante funciona como una prueba rápida para saber si puedes deshacer la transformación [3:15].
¿Cuándo una matriz tiene inversa? Cuando es cuadrada y su determinante no es cero. Si el determinante es cero, la matriz no se puede invertir.
¿Cómo calcular el determinante y la inversa en NumPy?
NumPy expone estas operaciones desde el módulo linalg. Primero verificas el determinante con np.linalg.det() y, si es distinto de cero, calculas la inversa con np.linalg.inv().
python M = np.array([[3, 1], [2, 2]])
determinante = np.linalg.det(M) print(f"Determinante de la matriz M: {determinante}")
M_inversa = np.linalg.inv(M) print(f"Inversa de M:\n{M_inversa}")
En este ejemplo, el determinante da 4, así que la matriz es invertible. Para confirmar que la inversa está bien calculada, multiplicas la original por su inversa y esperas obtener la identidad:
python identidad = M @ M_inversa print(np.round(identidad, 2))
El uso de np.round() con dos decimales limpia los pequeños errores de precisión flotante y deja a la vista la identidad esperada [5:30].
¿Para qué sirve la matriz inversa en machine learning?
Estos dos objetos no son curiosidades matemáticas. Aparecen en el corazón de varios algoritmos que usarás a diario.
- Regresión lineal con ecuación normal: la matriz inversa es la base teórica de la fórmula que encuentra los pesos óptimos de un modelo de regresión lineal. Aunque en producción se prefieren métodos numéricos más estables, entender la inversa explica de dónde sale esa solución cerrada.
- Regularización Ridge: aquí entra la matriz identidad. Se le suma una pequeña porción de I al sistema de ecuaciones para darle estabilidad y garantizar que la matriz siempre sea invertible, incluso cuando los datos son problemáticos.
- Resolución de sistemas de ecuaciones: invertir una matriz permite despejar variables desconocidas de forma directa, lo que aparece en muchos problemas de optimización.
Ejercicio práctico para fijar el concepto
Un buen reto para cerrar la idea: crea una matriz 2x2 o 4x4 y sigue estos pasos.
- Usa
np.linalg.detpara verificar si es invertible comprobando que su determinante sea diferente de cero. - Calcula la inversa con
np.linalg.invsi cumple la condición. - Multiplica la matriz original por su inversa y confirma que el resultado sea la matriz identidad.
Cuéntame en los comentarios qué matriz elegiste y si lograste recuperar la identidad. ¿Probaste con una matriz cuyo determinante diera cero? Esa también es una lección que vale la pena vivir.