Modelando relaciones con una línea
La regresión lineal es un modelo que describe la relación entre una variable dependiente y una o más variables independientes mediante una combinación lineal.
👉 Es uno de los algoritmos más simples y utilizados en machine learning.
Definición corta
La regresión lineal predice un valor continuo como una combinación lineal de las variables de entrada.
📐 Definición matemática
👉 donde:
- y: variable objetivo
- xi: variables de entrada
- wi: coeficientes (pesos)
🧠 Intuición
La regresión lineal responde:
👉 “¿Cómo cambia y cuando cambian las variables x?”
Entrada X ↓ Relación lineal ↓ Predicción Y
📊 Ejemplo simple
Predecir precio de una casa:
Precio = a + b × tamaño
👉 relación lineal entre tamaño y precio.
🔄 Tipos de regresión lineal
🔹 Simple
- una variable independiente
🔹 Múltiple
- varias variables independientes
📊 Comparación
| Tipo | Variables |
|---|---|
| Simple | 1 |
| Múltiple | n |
🧠 Objetivo del modelo
Minimizar el error entre:
- valores reales
- valores predichos
📐 Función de pérdida (MSE)
👉 error cuadrático medio.
📊 Interpretación
Predicción cercana → error pequeño Predicción lejana → error grande
🧠 Supuestos clave
- relación lineal
- independencia de errores
- varianza constante
- sin multicolinealidad fuerte
📊 Ejemplo conceptual
Datos ↓ Ajustar línea ↓ Modelo
🧠 Uso en machine learning
La regresión lineal se usa en:
- predicción de valores continuos
- análisis de relaciones
- modelos base
- benchmarking
📊 Ejemplo conceptual
Datos ↓ Modelo lineal ↓ Predicción
📊 Ejemplo en Python
from sklearn.linear_model import LinearRegressionimport numpy as npX = np.array([[1], [2], [3]])y = np.array([2, 4, 6])model = LinearRegression()model.fit(X, y)print(model.predict([[4]]))
🧠 Qué muestra este ejemplo
- ajuste de modelo
- aprendizaje de relación
- predicción
📊 Ejemplo en PyTorch
import torchX = torch.tensor([[1.0], [2.0], [3.0]])y = torch.tensor([[2.0], [4.0], [6.0]])model = torch.nn.Linear(1, 1)optimizer = torch.optim.SGD(model.parameters(), lr=0.01)for _ in range(100): pred = model(X) loss = torch.mean((pred - y) ** 2) optimizer.zero_grad() loss.backward() optimizer.step()print(model(torch.tensor([[4.0]])))
⚠️ Errores comunes
Asumir linealidad siempre
Muchos datos no son lineales.
Ignorar outliers
Afectan el modelo.
No escalar datos
Puede afectar entrenamiento.
📊 Ejemplo conceptual en ML
Datos ↓ Ajuste lineal ↓ Predicción ↓ Evaluación
🧠 Interpretación profunda
La regresión lineal refleja un principio clave:
👉 Muchos problemas complejos pueden aproximarse con relaciones simples
Es la base de:
- modelos más complejos
- redes neuronales (capas lineales)
- aprendizaje supervisado
Conclusión
La regresión lineal es un modelo fundamental que describe relaciones lineales entre variables, siendo una herramienta clave en machine learning.
👉 Es el punto de partida para entender modelos más avanzados.
Related Concepts
- Función de pérdida
- Gradiente
- Optimización
- Regresión logística
- Modelos lineales