Curso de Matemáticas para IA · Lección 22 de 180
Transformaciones identidad e inversa: deshacer un mapa de características
Usa matrices identidad y una inversa pequeña para deshacer una transformación de características 2D, detectar casos inseguros y entender por qué solve es preferible a la inversión explícita.
Supón que un paso de preprocesamiento mezcla dos características antes de que entren en un modelo de IA. Más tarde quieres recuperar las coordenadas originales para depurar, elaborar un informe o alimentar otro modelo. ¿Cómo puedes saber si la transformación es realmente reversible y cómo puedes deshacerla sin tomar una decisión numérica frágil?
Al terminar esta lección podrás reconocer el comportamiento identidad, calcular y verificar la inversa de una matriz pequeña, distinguir una inversa de una transpuesta, identificar casos singulares y casi singulares, y explicar por qué normalmente se resuelve directamente un sistema lineal en lugar de formar una inversa de manera explícita.
Resultado de aprendizaje: Reconocer el comportamiento identidad y verificar la inversa de una matriz pequeña.
La lección 20: Los productos matriz-matriz componen transformaciones y lotes mostró que un producto puede componer aplicaciones lineales. El sitio complementario oficial de Mathematics for Machine Learning desarrolla las operaciones identidad, inversa y transpuesta en la sección 2.2 del PDF del libro, y después las conecta con los sistemas de ecuaciones en la sección 2.3. La notación sigue ese recorrido, pero los números, la visualización, el escenario de preprocesamiento, el código y las preguntas son originales.
Identidad significa «dejar intactas las coordenadas»
Para un vector columna bidimensional, la matriz identidad es
Multiplicar por deja sin cambios todas las coordenadas. Si , entonces
Los unos de la diagonal conservan cada coordenada, mientras que los ceros fuera de la diagonal impiden que una coordenada contribuya a la otra. La identidad es la versión matricial del número : multiplicar por ella no cambia nada, pero proporciona un objetivo preciso para comprobar si otra matriz se ha deshecho.
Importan ambos lados. El producto de matrices está ordenado, así que una inversa útil debe restaurar la identidad al multiplicarla por cualquiera de los dos lados, no limitarse a hacer que un vector seleccionado parezca correcto.
Una inversa deshace una transformación
Sea una matriz cuadrada. Una inversa, escrita , es una matriz que satisface
Si un vector de características se convierte primero en , multiplicarlo por recupera la entrada:
Esta es una regla de cancelación para matrices. No afirma que toda matriz tenga una inversa. Una matriz debe conservar suficientes direcciones independientes para que exista una inversa; veremos qué falla cuando no es así.
| Punto | x original | Después de A: z = Ax | Después de A⁻¹: x = A⁻¹z |
|---|---|---|---|
| p₀ | (0, 0) | (0, 0) | (0, 0) |
| p₁ | (1, 0) | (2, 1) | (1, 0) |
| p₂ | (1, 1) | (3, 2) | (1, 1) |
| p₃ | (0, 1) | (1, 1) | (0, 1) |
El paralelogramo no implica pérdida de información: sus cuatro vértices siguen correspondiéndose uno a uno con los vértices originales porque el determinante de esta A no es cero.
La visualización usa
El cuadrado unidad se convierte en un paralelogramo mediante y vuelve a las mismas esquinas mediante . La tabla es el registro estático y legible en texto de la correspondencia entre cada esquina. La figura mantiene una correspondencia uno a uno porque el determinante de esta es 1, no cero.
Ejemplo resuelto: invertir una matriz 2 × 2
Para
el determinante es
Cuando este número no es cero, la fórmula de la inversa 2 × 2 es
La fórmula incorpora dos comprobaciones: intercambiar las entradas diagonales, cambiar el signo de las entradas fuera de la diagonal y dividir por el determinante. El determinante distinto de cero es lo que hace legal esa división.
También podemos probar la inversa transformando un vector de características. Sea
El mapa directo da
La inversa lo devuelve:
La comprobación del producto matricial es más sólida que esta comprobación con un solo vector. Muchas matrices incorrectas pueden deshacer por casualidad un vector concreto; solo las ecuaciones de identidad demuestran que la transformación se ha invertido para todos los vectores del espacio.
Una inversa no es una transpuesta
La transpuesta intercambia filas y columnas:
Eso es una reorientación de los ejes. La inversa resuelve el requisito diferente . Pueden ser iguales en casos especiales, pero en general una operación no puede sustituir a la otra.
En la matriz del ejemplo, resulta ser simétrica, por lo que . Pero su inversa es
que claramente no es . La simetría por sí sola no hace que una matriz sea ortogonal ni convierte su transpuesta en una inversa.
Este es un contraejemplo no simétrico:
La transpuesta conserva las entradas, pero cambia su orientación. La inversa cambia signos y combina coordenadas para que los dos productos matriciales se conviertan en la identidad. Solo cuando —por ejemplo, en una rotación o reflexión pura—se cumple .
Aplicación de IA: invertir un cambio aprendido de coordenadas de características
Muchas canalizaciones trabajan con un vector de características centrado en lugar de los valores de las características sin procesar. Sea el vector de dos características sin procesar y un vector medio fijo. Un paso de preprocesamiento lineal puede escribirse como
La matriz mezcla y cambia la escala de las coordenadas centradas. Esto puede ser útil cuando un modelo posterior funciona mejor en un sistema de características rotado o expresado de otra manera. Si es invertible y se conserva el mismo , el vector original puede recuperarse mediante
La inversa no es un botón mágico para deshacer una canalización de preprocesamiento completa. Invierte este mapa lineal concreto. Si después la canalización recorta valores, elimina una característica, redondea a enteros o aplica una operación no inyectiva, ha descartado información que ninguna inversa matricial puede reconstruir.
Por ejemplo, toma
Primero centra el vector de características:
Las coordenadas transformadas son , como en el ejemplo resuelto. Al invertirlas obtenemos
Un hábito práctico de depuración es registrar juntos el significado de los ejes, la media usada para centrar y la versión exacta de la matriz. Una inversa de un ajuste de preprocesamiento más reciente puede ser matemáticamente válida y aun así ser la inversa equivocada para un lote anterior.
Las transformaciones singulares pierden distinciones
Considera
Su determinante es
La segunda fila es el doble de la primera, por lo que solo tiene una dirección independiente. También asigna entradas diferentes a la misma salida:
Una vez que esas dos entradas colisionan, un observador que solo vea la salida no puede saber qué entrada se usó. Una inversa tendría que enviar una salida a dos vectores distintos, algo imposible para una función. NumPy informa de este fallo como LinAlgError cuando se pide a numpy.linalg.inv o numpy.linalg.solve que trabajen con una matriz cuadrada singular; consulta la documentación de la inversa y la documentación de solve.
La singularidad no es solo un error de software. Puede significar que un mapa de características ha colapsado una dirección, que dos columnas son redundantes o que la representación de un modelo no contiene información suficiente para la reconstrucción solicitada. Una pseudoinversa o una estimación por mínimos cuadrados aún puede ser útil para una pregunta diferente, pero no es la inversa exacta por ambos lados de .
Casi singular es una advertencia numérica, no un éxito
Ahora cambia una entrada en una cantidad muy pequeña:
Su determinante es aproximadamente , por lo que técnicamente es invertible. Pero sus filas son casi paralelas. Pequeños cambios de medición o redondeo pueden producir grandes cambios en el vector recuperado. Un número de condición resume esta sensibilidad; en la norma 2 habitual, un valor cercano a significa que la resolución puede consumir muchos dígitos de precisión de la entrada. NumPy ofrece este diagnóstico como numpy.linalg.cond.
La distinción es importante:
| Estado de la matriz | Prueba del determinante | Interpretación práctica |
|---|---|---|
| No singular y bien condicionada | distinto de cero, no pequeño frente a la escala | Una inversa o una resolución pueden ser fiables para la precisión disponible. |
| Singular | exactamente cero en aritmética exacta | Entradas distintas pueden haber colapsado en una salida; no existe una inversa ordinaria. |
| Casi singular | distinto de cero, pero pequeño frente a la escala | La inversa existe sobre el papel, pero el ruido de entrada puede amplificarse mucho. |
El determinante por sí solo no es un umbral de seguridad universal independiente de la escala. Multiplicar una matriz por un escalar grande también cambia su determinante, así que hay que revisar el número de condición, los valores singulares, los residuos y la escala de la aplicación. Un determinante de punto flotante distinto de cero es evidencia de invertibilidad para esa representación, no una garantía de que la reconstrucción sea fiable.
Por qué se prefiere solve a construir una inversa explícita
La ecuación
tiene la solución matemática cuando es invertible. Sin embargo, en código, si solo necesitas , es innecesario formar primero la completa. numpy.linalg.solve acepta directamente y y calcula la solución del sistema; numpy.linalg.inv construye la matriz inversa y advierte que los resultados mal condicionados pueden ser inexactos.
Por tanto, el patrón de implementación preferido es:
import numpy as np
A = np.array([[2.0, 1.0],
[1.0, 1.0]])
b = np.array([2.0, 1.0])
x_from_solve = np.linalg.solve(A, b)
x_from_inverse = np.linalg.inv(A) @ b
np.testing.assert_allclose(x_from_solve, [1.0, 0.0])
np.testing.assert_allclose(x_from_inverse, x_from_solve)
np.testing.assert_allclose(A @ x_from_solve, b)
Ambos caminos coinciden en este ejemplo pequeño y bien condicionado. La diferencia de ingeniería importante es que solve calcula la solución solicitada sin materializar una matriz que quizá nunca uses. También mantiene explícito el algoritmo de resolución del sistema, de modo que el código comunica la tarea real: resolver .
Si varios términos independientes comparten la misma , pásalos como columnas de una matriz y resuelve en una sola llamada. Si es singular, solve no es la herramienta adecuada para una solución exacta; elige un método como mínimos cuadrados solo cuando su objetivo diferente corresponda a la aplicación. Comprueba siempre un residuo:
Un residuo pequeño en las unidades del problema es evidencia de que el vector calculado resuelve el sistema proporcionado. Por sí solo, no demuestra que el sistema esté bien condicionado ni que la matriz represente el paso de preprocesamiento correcto.
La siguiente lección hará explícito el paso de resolución mediante operaciones por filas. Por ahora, la identidad es el objetivo, la inversa es el mapa reversible, la transpuesta es un intercambio de ejes y el condicionamiento indica si una inversión legal desde el punto de vista matemático es sensata numéricamente.
Comprueba lo que has entendido
Pregunta 1
¿Qué hace I₂ al vector [4, −3]ᵀ y por qué?
Mostrar la solución paso a paso
Paso 1: escribe la identidad.
Paso 2: multiplica fila por columna.
Paso 3: interprétalo. Los unos de la diagonal conservan cada coordenada y los ceros impiden mezclar coordenadas, así que la identidad deja el vector sin cambios.
Pregunta 2
Encuentra la inversa de A = [[1, 2], [3, 7]] usando la fórmula 2 × 2.
Mostrar la solución paso a paso
Paso 1: identifica las entradas. Aquí , , y .
Paso 2: calcula el determinante.
El determinante no es cero, por lo que la inversa existe.
Paso 3: intercambia y cambia los signos.
La división por el determinante no cambia las entradas en este ejemplo concreto porque el determinante es igual a 1.
Pregunta 3
Verifica la inversa de la pregunta 2 calculando A A⁻¹.
Mostrar la solución paso a paso
Usa
Paso 1: calcula cada entrada.
Paso 2: compara con el objetivo. El resultado es , así que la matriz propuesta supera la comprobación del producto por la izquierda. Como se trata de la inversa de una matriz cuadrada y la fórmula produjo la inversa correspondiente por ambos lados, también invierte la matriz por el otro lado; calcular es una comprobación de código adicional útil.
Pregunta 4
Para B = [[1, 2], [0, 1]], ¿es Bᵀ una inversa válida? Muestra suficiente multiplicación para decidirlo.
Mostrar la solución paso a paso
Paso 1: escribe la transpuesta.
Paso 2: multiplica B por su transpuesta.
Paso 3: compara con la identidad. Esto no es , por lo que no es la inversa. De hecho, ; transpuesta e inversa responden a preguntas distintas.
Pregunta 5
Un paso de preprocesamiento usa z = A(x − μ), con μ = [10, 4]ᵀ, A = [[2, 1], [1, 1]] y z = [8, 5]ᵀ. Recupera x.
Mostrar la solución paso a paso
Paso 1: usa la forma inversa de la ecuación de preprocesamiento.
Paso 2: usa la inversa ya verificada.
Paso 3: recupera la media.
Olvidar recuperaría las coordenadas centradas, no los valores originales de las características.
Pregunta 6
¿Por qué S = [[1, 2], [2, 4]] no tiene una inversa ordinaria? Da una explicación geométrica o basada en la información.
Mostrar la solución paso a paso
Paso 1: comprueba el determinante.
El determinante cero significa que las filas y las columnas no contienen dos direcciones independientes.
Paso 2: muestra la pérdida de información.
Dos entradas diferentes producen una salida. Una función que solo recibe esa salida no puede decidir qué entrada devolver, por lo que no existe una inversa por ambos lados.
Pregunta 7
Una matriz tiene un determinante distinto de cero, pero un número de condición de aproximadamente 4 × 10⁸. ¿Es seguro afirmar que invertirla no presenta problemas? Explica.
Mostrar la solución paso a paso
Paso 1: separa existencia y sensibilidad. Un determinante distinto de cero indica que la matriz es invertible en aritmética exacta. No indica que la inversa sea estable frente a entradas redondeadas o ruidosas.
Paso 2: interpreta el número de condición. Un número de condición cercano a indica que la matriz es casi singular: pequeños cambios relativos en la entrada pueden amplificarse en muchos órdenes de magnitud en la solución recuperada.
Paso 3: elige una conclusión. No digas que invertirla no presenta problemas. Comprueba la precisión de los datos, los residuos, los valores singulares o el número de condición y la tolerancia de la aplicación. Una inversa válida desde el punto de vista matemático puede seguir produciendo una mala reconstrucción numérica.
Pregunta 8
Reescribe x = A⁻¹b como código NumPy cuando solo necesitas x y menciona una verificación que debas ejecutar después.
Mostrar la solución paso a paso
Paso 1: expresa la tarea directa. La ecuación es , así que pide a NumPy que resuelva ese sistema:
x = np.linalg.solve(A, b)Paso 2: explica la elección. Esto evita construir np.linalg.inv(A) cuando no se necesita la matriz inversa. También expresa directamente la operación prevista.
Paso 3: verifica el resultado. Calcula el residuo y compáralo con el término independiente:
np.testing.assert_allclose(A @ x, b)Esto comprueba que el vector devuelto resuelve el sistema proporcionado dentro de una tolerancia. Comprueba también el condicionamiento cuando la entrada pueda ser casi singular.