Determinante y rango en regresión lineal
Clase 14 de 16 • Curso de Álgebra Lineal para Machine Learning
Contenido del curso
Clase 14 de 16 • Curso de Álgebra Lineal para Machine Learning
Contenido del curso
Alberto Ezequiel Marin Chacon
Daniel Erazo
Bryan Castano
José Eder Guzmán Mendoza
Gabriel Obregón
Alejandro Ochoa Maidana
Quiere decir que una de las características es redundante. Esa característica adicional no aporta información nueva al modelo.
Así es, es correcto!
Singularidad && Multicolinealidad vs Model.
Singularidad (Perfecta): Ocurre cuando una columna de tu dataset es una combinación lineal exacta de otras (ej: tienes peso en "kg" y masa corporal en "libras").<sup>1</sup> Matemáticamente, el determinante :
det$X^T X$ es cero ($|X^T X| = 0$). La matriz no tiene inversa.
Multicolinealidad (Alta): Las variables están muy correlacionadas pero no son idénticas (ej: "años de estudio" y "nivel de ingresos").<sup>,</sup> El determinante es casi cero.<sup>,</sup> La matriz es "mal condicionada" (ill-conditioned).
Solución.
Ridge (L2): La cura para la Singularidad
Ridge es la herramienta por excelencia para eliminar la Singularidad.
Añade $\lambda I$ a $X^T X$. Esto "empuja" los valores propios (eigenvalues) de la matriz lejos del cero.
Esto garantiza que la matriz siempre sea invertible. Ridge salva el cálculo matemático.
Lasso (L1): El tratamiento para la Multicolinealidad
Lasso es mejor para tratar la Multicolinealidad desde una perspectiva de "limpieza". Si tienes dos variables altamente correlacionadas que aportan la misma información, Lasso tiende a elegir una y poner el peso de la otra exactamente en cero.
Peinsa en la solución analítica de Mínimos Cuadrados (OLS): $w = (X^T X)^{-1} X^T y$.
Si<sup> </sup>$X^T X$ es casi singular, sus valores singulares son muy pequeños.<sup>18</sup> Al invertir la matriz, esos valores pasan al denominador: $1/\sigma_i$.
Resultado: Los pesos $w$ "explotan". Un cambio diminuto en tus datos de entrada ($X$) o en tus etiquetas ($y$) causará cambios masivos en$w$.
Esto se manifiesta como una varianza altísima: el modelo se vuelve extremadamente inestable y pierde toda capacidad de generalización.
En el mundo real (como en Una Ciudad con datos de propiedad o economía), lo verás así:
Como están muy correlacionadas, el modelo podría darle un peso de $+500$ al área y $-200$ a las habitaciones. ¡
Un sinsentido físico! (El modelo intenta cancelar el error de una variable con la otra).
Es Bueno entneder la naturaleza real de estos asuntos con LinalAlg.
Usar Dimension , determiante y el rango de una matriz ayuda a eliminar caracteristicas redundante que pueden dañar nuestros modelos o son mero ruido.
En regresión lineal, el determinante y el rango son herramientas clave para diagnosticar si el modelo funcionará correctamente. El determinante permite verificar la invertibilidad de la matriz A=XTXA = X^TXA=XTX: si es distinto de cero, existe una solución única; si es cero, la matriz es singular y el modelo no puede resolverse mediante la ecuación normal.
Por su parte, el rango indica cuántas características son realmente independientes. Si el rango es menor que el número de columnas, existe redundancia (multicolinealidad), lo que provoca inestabilidad en los cálculos. En la práctica, esto ocurre cuando una variable puede expresarse como combinación de otras.
Con NumPy, funciones como np.linalg.det y np.linalg.matrix_rank permiten detectar estos problemas antes de entrenar el modelo. En síntesis, ambos conceptos ayudan a asegurar que los datos sean consistentes, evitar errores numéricos y construir modelos de regresión más confiables.
📊 Diagnóstico de regresión lineal
🔢 Determinante y 📐 Rango
🎯 OBJETIVO
👉 Aprender a diagnosticar si un modelo de regresión lineal funcionará antes de que fallen los cálculos, usando:
✔ Determinante
✔ Rango
🛑 Para detectar a tiempo:
· Singularidad
· Multicolinealidad
· Características redundantes
💡 IDEA CENTRAL
🧠 El modelo funciona solo si la matriz de la ecuación normal es invertible.
🔍 El determinante y el rango permiten verificar esto de forma directa.
🔢 HERRAMIENTA 1: DETERMINANTE
❓ ¿Qué indica?
📏 Muestra cómo la matriz “escala” el espacio ⚡ Sirve como prueba rápida de invertibilidad
✅ Interpretación
✔ Determinante ≠ 0 → matriz invertible → solución única
❌ Determinante = 0 → matriz no invertible → el método de la inversa falla
🧠 Uso clave: detectar singularidad antes de entrenar el modelo.
📐 HERRAMIENTA 2: RANGO
❓ ¿Qué mide?
🔎 Cuántas características independientes reales hay en los datos
✅ Interpretación
✔ Rango = número de columnas → todas las características aportan información
⚠ Rango < número de columnas → existe al menos una característica redundante
🧩 Idea importante: Una característica redundante = combinación lineal de otras.
🔗 CONEXIÓN ENTRE DETERMINANTE Y RANGO
🔁 Todo está relacionado:
· Características redundantes ⬇
· Baja el rango ⬇
· El determinante se vuelve cero
📌 Por eso suelen aparecer juntos:
· Multicolinealidad
· Singularidad
· Determinante = 0
· Rango reducido
🧪 DIAGNÓSTICO CON NUMPY
🟢 Caso “saludable”
📂 Situación
· Matriz A construida desde X
· ➕ Columna de unos (bias)
· Total: 3 columnas independientes
🎯 Resultado esperado
✔ Determinante ≠ 0 ✔ Rango = 3
🛠 Funciones usadas
· np.linalg.det → determinante
· np.linalg.matrix_rank → rango
✅ Conclusión: La matriz es invertible y el modelo es válido.
🦠 CASO “ENFERMO”
Columna redundante
🔧 Qué se hace
· Se duplica una característica (ej.: habitaciones)
· Se añade al conjunto de datos
· Se reconstruye la matriz A
⚠ Qué ocurre
· La nueva columna depende de otra
· El espacio de datos “colapsa”
🚨 Diagnóstico
❌ Determinante = 0 ⚠ Rango < número de columnas
📛 Interpretación:
· La matriz no es invertible
· Una característica no aporta información
· Aparece multicolinealidad
Que buena explicacion