Resumen

Aprende a revertir transformaciones con la matriz inversa y domina la matriz identidad en NumPy para entender cómo se resuelven sistemas y se entrenan modelos de machine learning. Aquí verás qué significan, cuándo existen y cómo implementarlas con np.eye, np.linalg.det y np.linalg.inv de forma práctica.

¿Qué es la matriz identidad y cómo usarla en NumPy?

La matriz identidad es el elemento neutro de la multiplicación de matrices: al multiplicar cualquier matriz A por I obtienes la misma A. Es cuadrada, con unos en la diagonal principal y ceros en el resto. En NumPy se crea con np.eye. Nota breve: eye se pronuncia como la letra I en inglés, por eso el nombre del método.

¿Cómo se crea y verifica en código?

import numpy as np

# Identidad 3x3
I = np.eye(3)
print("Identidad 3x3:\n", I)

# Una matriz A de 2x3
A = np.array([[1, 2, 3],
              [4, 5, 6]])

# Verificación: A @ I = A
AI = A @ I
print("A @ I:\n", AI)
  • Identidad: elemento neutro de la multiplicación.
  • np.eye(n): genera la identidad n por n.
  • Verificación rápida: A @ I devuelve A.

¿Cuándo existe la matriz inversa y cómo calcularla?

La matriz inversa de A (A a la menos uno) es la transformación que deshace el efecto de A: A @ A_inversa = I. No todas las matrices son invertibles: debe ser cuadrada y tener determinante distinto de cero. Por ahora, el determinante es tu prueba rápida de invertibilidad.

¿Cómo validar invertibilidad con el determinante?

import numpy as np

# Matriz 2x2
M = np.array([[3, 1],
              [2, 2]])

# Determinante
det = np.linalg.det(M)
print(f"Determinante de M: {det}")  # esperado: 4.0 (distinto de cero)
  • Condiciones de invertibilidad: matriz cuadrada y determinante diferente de cero.
  • np.linalg.det(M): calcula el determinante.

¿Cómo obtener la inversa y comprobar identidad?

# Inversa de M
M_inversa = np.linalg.inv(M)
print("Inversa de M:\n", M_inversa)

# Comprobación: M @ M_inversa ≈ I
I_calc = M @ M_inversa
print("Producto M @ M_inversa (sin redondear):\n", I_calc)

# Redondeo para visualizar mejor
I_redonda = np.round(I_calc, 2)
print("Producto redondeado a 2 decimales:\n", I_redonda)
  • np.linalg.inv(M): devuelve la inversa si existe.
  • El redondeo con np.round ayuda a ver I con claridad.
  • Interpretación: si M @ M_inversa es la identidad, M es invertible.

¿Para qué sirven identidad e inversa en machine learning?

La inversa sustenta la ecuación normal en regresión lineal, ofreciendo una fórmula directa para los pesos óptimos. Aunque luego se prefieran métodos más estables, entender la inversa explica de dónde sale esa solución. La identidad es clave en regularización tipo rich: se suma una porción de la identidad para estabilizar el sistema y asegurar invertibilidad.

¿Qué habilidades y keywords practicas hoy?

  • Multiplicación con identidad: reversión nula de cambios.
  • Criterios de invertibilidad: matriz cuadrada y determinante distinto de cero.
  • Uso de NumPy: np.eye, np.array, np.linalg.det, np.linalg.inv, np.round.
  • Conceptos: matriz identidad, matriz inversa, determinante, elemento neutro.
  • Aplicaciones: ecuación normal en regresión lineal, regularización rich en sistemas de ecuaciones.

¿Qué ejercicio práctico realizar?

  • Crea una matriz 2x2 o 4x4.
  • Calcula su determinante con np.linalg.det y verifica que sea distinto de cero.
  • Si es invertible, calcula su inversa con np.linalg.inv.
  • Comprueba que el producto matriz por su inversa es la identidad. Puedes usar np.round(..., 2) para visualizar.
  • Publica tu resultado en los comentarios.