Transposición de matrices y matriz inversa

La transposición aparece con frecuencia en el mecanismo de atención, y la matriz inversa nos ayuda a entender las «transformaciones invertibles», como la transformación de coordenadas en PCA.

Transposición: intercambiar filas y columnas

A (2×3)
123
456
AT (3×2)
14
25
36

El valor que estaba en la posición (i, j) pasa, después de la transposición, a la posición (j, i).La forma cambia de m×n a n×m.

Matriz inversa: deshacer la transformación

La matriz A representa una transformación lineal. \( A^{-1} \) representa «deshacer el efecto de A».

Expresión matemática: \( AA^{-1} = A^{-1}A = I \) (I es la matriz identidad, equivalente al número 1).

Sololas matrices cuadradas y de rango completotienen matriz inversa.

Las matrices no cuadradas, o las matrices cuadradas que no tienen rango completo, son «matrices singulares» y no tienen inversa; equivalen a una operación no invertible.

Propiedades clave

  • La transpuesta de un producto invierte el orden: \( (\mathbf{AB})^T = \mathbf{B}^T\mathbf{A}^T \)
  • La inversa de un producto también invierte el orden: \( (\mathbf{AB})^{-1} = \mathbf{B}^{-1}\mathbf{A}^{-1} \)

Ejemplos cotidianos

Transposición: intercambiar filas y columnas en una tabla de Excel

Si transpone una tabla de ventas donde «los nombres están en filas y los meses en columnas», pasa a tener «los nombres en columnas y los meses en filas».

Los datos no cambian, solo cambia su disposición; eso es la transposición.

Matriz inversa: Ctrl+Z para deshacer

Hiciste una operación de rotación + escalado (matriz A) y quieres revertirla (A^{-1}).

La composición de ambas operaciones equivale a que nada cambió (AA^{-1} = I, transformación identidad).


Definición matemática

Transposición

\[ (\mathbf{A}^T)_{ij} = \mathbf{A}_{ji} \]

Matriz inversa

Para una matriz cuadrada A de n×n, si existe B tal que \( \mathbf{AB} = \mathbf{BA} = \mathbf{I}_n \), entonces B = A^{-1}.


Práctica con Python

Ejemplo

import numpy as np

A = np.array([[1, 2, 3], [4, 5, 6]])
print("A (2x3):\n", A)
print("A.T (3x2):\n", A.T)
print()

# Verificar (AB)^T = B^T @ A^T
B = np.array([[1,2],[3,4],[5,6]])  # 3x2
AB = A @ B   # (2,3) @ (3,2) = (2,2)
print("(AB)^T:\n", AB.T)
print("B^T @ A^T:\n", B.T @ A.T)
print(Iguales:, np.allclose(AB.T, B.T @ A.T))
print()

# Matriz inversa
C = np.array([[2, 1], [5, 3]])  # Matriz cuadrada de 2x2
C_inv = np.linalg.inv(C)
print("C:\n", C)
print("C^{-1}:\n", C_inv)
print("C @ C^{-1} = I:\n", C @ C_inv)

# La matriz singular no tiene inversa
D = np.array([[1, 2], [2, 4]])  # La fila 2 es el doble de la fila 1
try:
    np.linalg.inv(D)
except np.linalg.LinAlgError:
    print("\nLa matriz singular D no tiene inversa (la fila 2 = 2 × la fila 1).)
A (2x3):
 [[1 2 3]
 [4 5 6]]
A.T (3x2):
 [[1 4]
 [2 5]
 [3 6]]

C @ C^{-1} = I:
 [[1. 0.]
 [0. 1.]]

奇异矩阵 D 没有逆矩阵(第2行=2×第1行)

Casos de uso en IA

La operación K^T en el mecanismo de atención

En \( QK^T \), la transposición de la matriz Key permite que Q de (seq_len, d_k) haga una multiplicación de matrices con K de (seq_len, d_k); la transposición convierte K en (d_k, seq_len), de modo que la dimensión interna coincida. Este K^T es la transformación dimensional más crítica en el cálculo de atención de todos los modelos Transformer.

Solución de forma cerrada para la regresión lineal

\( \hat{\beta} = (X^TX)^{-1}X^Ty \) — aquí aparecen a la vez la transposición y la matriz inversa. X^T X garantiza que el resultado sea una matriz simétrica definida positiva (invertible); luego, al invertirla se obtiene la solución analítica. El LinearRegression de sklearn, sin regularización, calcula exactamente esto en su interior.

Actualización de parámetros en el descenso de gradiente

Durante la retropropagación, la forma de la matriz de gradientes de los pesos debe coincidir con la matriz de pesos para poder realizar la actualización por resta. Por ejemplo, si W es (d_out, d_in), su gradiente \nabla_W L también es (d_out, d_in); la transposición ayuda a que los gradientes propaguen correctamente las dimensiones en el grafo computacional a través de las capas intermedias.


Otras extensiones