Rango de matriz
Cuánta información independiente contiene una matriz
El rango de una matriz es el número máximo de filas o columnas linealmente independientes que contiene. Representa la cantidad de información útil o no redundante en la matriz.
👉 Es un concepto clave para entender dimensionalidad, redundancia y capacidad de representación en machine learning.
Definición corta
El rango de una matriz es el número de filas o columnas independientes.
Definición detallada
Para una matriz A:rank(A)=nuˊmero de columnas linealmente independientes
👉 Equivalentemente:rank(A)=nuˊmero de filas linealmente independientes
Intuición
El rango responde:
👉 “¿Cuánta información única hay en esta matriz?”
Ejemplo
👉 La segunda fila es múltiplo de la primera.
Interpretación
| Rango | Significado |
|---|---|
| Bajo | alta redundancia |
| Alto | información rica |
| Máximo | independencia total |
👉 Para matriz m×n:rank(A)≤min(m,n)
Relación con otros conceptos
- Dependencia lineal
- Espacio vectorial
- SVD
- PCA
Tipos de rango
🔹 Rango completo (full rank)
rank(A)=min(m,n)
👉 No hay redundancia.
🔹 Rango reducido
rank(A)<min(m,n)
👉 Existe dependencia.
Rango en redes neuronales
🔹 1. Representación de datos
Matrices de datos:
👉 rango bajo → información redundante
🔹 2. PCA
Reduce dimensiones:
👉 eliminando componentes de bajo rango
🔹 3. Embeddings
Vectores:
👉 rango alto → mayor diversidad
🔹 4. Modelos lineales
Si el rango es bajo:
👉 el sistema no tiene solución única
Ejemplo paso a paso
Determinante ≠ 0 → rango completo:
Interpretación geométrica
- Rango 1 → línea
- Rango 2 → plano
- Rango 3 → volumen
👉 El rango define la dimensión del espacio generado.
Ejemplo en Python
import numpy as npA = np.array([ [1, 2], [2, 4]])rank = np.linalg.matrix_rank(A)print("Rango:", rank)
Ejemplo en NumPy (rango completo)
import numpy as npA = np.array([ [1, 2], [3, 4]])rank = np.linalg.matrix_rank(A)print("Rango:", rank)
Ejemplo en PyTorch
import torchA = torch.tensor([ [1.0, 2.0], [2.0, 4.0]])rank = torch.linalg.matrix_rank(A)print("Rango:", rank.item())
Ejemplo con SVD
import numpy as npA = np.array([ [1, 2], [2, 4]])U, S, V = np.linalg.svd(A)print("Valores singulares:", S)
👉 Valores cercanos a 0 → menor rango efectivo.
Qué muestra este ejemplo
- Cómo detectar redundancia
- Uso en reducción de dimensión
- Relación con SVD
Errores comunes
Confundir tamaño con rango
Una matriz grande puede tener rango bajo.
Ignorar precisión numérica
Valores pequeños pueden afectar el rango.
Asumir independencia automática
Debe verificarse.
Ejemplo conceptual en ML
Dataset:
Edad, Años de vida 👉 Variables redundantes → rango bajo
Interpretación profunda
El rango permite:
- detectar redundancia
- entender capacidad del modelo
- optimizar representaciones
- mejorar estabilidad numérica
👉 Es clave para analizar datos y modelos.
Conclusión
El rango de una matriz mide la cantidad de información independiente que contiene. Es esencial para entender dimensionalidad, redundancia y capacidad de representación en machine learning.
👉 Es una herramienta fundamental para analizar datos y modelos.
Related Concepts
- Dependencia lineal
- PCA
- SVD
- Espacio vectorial
- Valores propios