Cómo predecir precios con álgebra lineal
Clase 12 de 16 • Curso de Álgebra Lineal para Machine Learning
Contenido del curso
Clase 12 de 16 • Curso de Álgebra Lineal para Machine Learning
Contenido del curso
Bryan Castano
Gabriel Obregón
Diego Ortiz
Daniel Erazo
William Santiago Alzate Barriga
Daniel Erazo
Edgardo Riveros Sepulveda
José Eder Guzmán Mendoza
Darlinson Felipe Polania Camacho
Alberto Ezequiel Marin Chacon
Daniel Erazo
Hey, el Post de Towards_AI esta realmente interesante, Me ha gustado mucho leerlo, Ya habia entendo Ridge and Lasso pero no lo habia bisto la relacion con SVD.
Ufff realmente es matematica aplicada a ML.
Yo tenia varias dudas respecto a $lambda$ sera un escalar, un vector o una matriz?
La Respuesta es mucho mas profunda y facinante, aqui una respuesta que Gemini me ayudo a concluir como My Tutor de DL.
\n Es muy común confundirse con esto porque en las ecuaciones matriciales a veces vemos que $\lambda$ acompaña a una matriz.
Aqui la Explciacion de Gemini,
Es un hiperparámetro que tú eliges (un número real positivo, $\lambda \geq 0$). Sin embargo, en la notación matricial de la solución cerrada:
w = (X^T X + lambda. I)^{-1} X^T. y ;
La I es la clave, esl oque hace que Lambda se vuelva una matriz, osea lambda@I ;
El término $\lambda$ se multiplica por la matriz identidad $I$. Esto convierte al escalar en una matriz diagonal donde todos los elementos de la diagonal principal son $\lambda$. El propósito de esto es "inflar" la diagonal de $X^T X$ para asegurar que la matriz sea invertible (no singular), incluso si hay multicolinealidad.
<context>
El profesor habl ode eso la clase pasada y me hizo confudndio, para que servira la matrix I en Ridge Regresión ?
</context>
\n Ahora todo hace sntido.
La Descomposición en Valores Singulares (SVD) simplifica esto. Recordemos que cualquier matriz $X$ de tamaño $n x p$ se puede descomponer como:
X = U \Sigma V^T ;
Donde:
Paso A: Sustituir $X$ en el término $(X^T X + \lambda I)$
Sabemos que $X^T X = (V \Sigma^T U^T)(U \Sigma V^T)$. Como $U$ es ortogonal, $U^T U = I$, por lo que:
$$X^T X = V \Sigma^2 V^T$$
Ahora, el término de Ridge se convierte en:
$$X^T X + \lambda I = V \Sigma^2 V^T + \lambda I$$
Aquí viene el truco de álgebra lineal: como $V$ es ortogonal ($V V^T = I$), podemos escribir la identidad como $I = V I V^T$. Entonces:
$$V \Sigma^2 V^T + \lambda V I V^T = V (\Sigma^2 + \lambda I) V^T$$
<deomstracion>
</demostracion>
Si miras los componentes individuales de esa matriz diagonal central, verás que cada coeficiente se escala por:
$$\frac{\sigma_i}{\sigma_i^2 + \lambda}$$
Esto es lo que evita que los coeficientes exploten cuando los valores singulares $\sigma_i$ son muy pequeños (que es lo que pasa cuando hay multicolinealidad).
El escalar $\lambda$ termina operando directamente sobre el cuadrado de los valores singulares.
Eso es lo que le da estabilidad al modelo.
Esto fue Genial entenderlo finalmente, ahora veo como Ridge se aplcia tambien como regularizacion a las neuronas, en entrenamiento.
COn lLasso el asunto es un poco mas complejo y facinante, \nYo supongo que nosotos veremos algo de esto en el otro curso, \n Estoy ancisoso por ver SVD paraPCA , si el profesor explcia tmabien Algebra seguro ese metodo sera bien entendido. PCA siempre me ha sido muy abstracto pro todo eso de los espacios vectoriales perpendiculares y reduccion de dimensiones.
🧾📊🏠 Regresión lineal para estimar precios de viviendas
💡 IDEA CENTRAL
📈 La regresión lineal permite estimar el precio de una vivienda usando álgebra lineal y datos reales.
🧠 El modelo aprende una relación matemática entre las características de una casa y su precio.
🎯 ¿QUÉ PROBLEMA RESUELVE?
✔ Ajustar una línea o plano a los datos
✔ Minimizar el error entre:
👉 Uso práctico: predecir precios de viviendas
🏠 VARIABLES DEL MODELO
🔹 Entradas (características)
🔹 Salida
🧮 HIPÓTESIS DEL MODELO
📌 El precio se modela como:
precio = θ0 + θ1 · metros cuadrados + θ2 · habitaciones
🔍 Significado de los parámetros:
🧠 Estos valores representan el conocimiento aprendido.
🧩 FORMULACIÓN MATEMÁTICA
📐 El problema se expresa como:
Xθ = y
Donde:
📉 MEJOR AJUSTE (INTUICIÓN VISUAL)
🔵 Puntos → datos reales 🔴 Línea → predicción del modelo
⚠ La línea:
📘 ECUACIÓN NORMAL
🔎 Para encontrar los valores óptimos de θ:
X transpuesta por X multiplicado por θ = X transpuesta por y
➡ Convierte el problema en un sistema resoluble directamente.
🧪 EJEMPLO PRÁCTICO
🏘 Datos:
🔍 PROCEDIMIENTO PASO A PASO
① 📥 Definir X
② 🎯 Definir y
③ 📊 Visualizar datos
④ ➕ Agregar bias
⑤ 🧮 Construir ecuación normal
➡ Sistema final: Aθ = B
🧠 MATRIZ DE GRAM (A)
🧩 Resume la estructura del conjunto de datos.
Contiene información sobre:
🔹 🔋 Importancia individual
🔹 🔗 Relación entre variables
🔹 📏 Escala de valores
🗺 A funciona como un mapa de relevancias y correlaciones.
🎯 VECTOR B
📌 Representa la relación entre características y precio.
🔍 Valores altos → señal fuerte para predecir el precio.
✅ ESTADO FINAL DEL MODELO
✔ Matriz A construida
✔ Vector B calculado
✔ Sistema listo para resolver
➡ Resolver Aθ = B permite obtener:
Buen link el que detalla la regresión lineal, aunque está raro que se llame "Just a moment...", podría ser un poco más explícito ese título de link.
Muchas gracias por el comentario, lo vamos a cambiar
Hola, no entendí porque fue necesario rellenar la matriz con 1 (unos), alguien me ayuda con esta duda por favor
¡Hola! Esa es una excelente pregunta y es la clave para que nuestro modelo tenga 'libertad' de movimiento. Aquí te explico por qué de forma sencilla:
Imagina la ecuación de una línea recta básica: y = mx + b.
El problema:
Cuando hacemos la multiplicación de matrices (X . theta), la computadora multiplica cada peso por una característica. Si solo tuviéramos la columna de metros cuadrados, la fórmula sería solo Precio = theta_1 . (metros). Esto obligaría a que la línea pase siempre por el punto (0,0) (origen). ¡Es como si dijéramos que una casa con 0 metros necesariamente vale 0 dólares y no tiene costos base!
La solución (los Unos):
Al agregar una columna de unos, estamos creando un espacio para ese intercepto (theta_0). La operación matemática interna se ve así:
Precio = (theta_0 . 1) + (theta_1 . metros)
Ese 1 es un "truco" matemático para que el peso theta_0 se multiplique por algo y se sume al resultado final. Gracias a esa columna de unos, nuestra línea roja puede despegarse del cero y ajustarse mejor a los precios reales.
porque linea recta yo veo que es mejor curva
En la vida real, los datos rara vez siguen una línea perfectamente recta.
Usamos una línea recta porque es la forma más eficiente y simple de modelar una tendencia general. Imagina que intentas resumir una historia compleja con una sola frase: no captarás cada detalle, pero sí el mensaje principal. La regresión lineal hace lo mismo; busca la "tendencia promedio" para que, ante un dato nuevo, puedas hacer una predicción rápida sin complicar el cálculo.
Si intentáramos ajustar una curva perfecta a cada punto, el modelo sufriría de sobreajuste (memorizaría el ruido en lugar de aprender la regla). La línea recta nos da una base sólida y generalizable.
La regresión lineal utiliza álgebra lineal para predecir valores, como el precio de viviendas, a partir de características como metros cuadrados y número de habitaciones. El modelo se formula como Xθ = y, donde X contiene los datos, θ son los pesos a aprender y y los valores reales. Para encontrar la mejor solución, se utiliza la ecuación normal:
XTX θ=XTyX^T X \, \theta = X^T yXTXθ=XTy
En este proceso, la matriz de Gram (A = XᵀX) resume la estructura y relaciones entre las características, mientras que el vector B (Xᵀy) captura la relación entre las variables y el precio. Ambos permiten plantear un sistema que, al resolverse, produce los pesos óptimos del modelo. Este enfoque muestra cómo el álgebra lineal permite pasar de datos a predicciones de forma estructurada y eficiente en machine learning.
Es una matriz (4, 3). Como no es cuadrada entonces no es invertible. Como se vio en el curso de fundamentos de AL, eso quiere decir que el sistema no se resuelve con un simple producto punto.
Excelente, muy bien!