Regresión lineal

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

y=w0+w1x1+w2x2++wnxny = w_0 + w_1 x_1 + w_2 x_2 + \cdots + w_n x_n


👉 donde:

  • yyy: variable objetivo
  • xix_ixi​: variables de entrada
  • wiw_iwi​: coeficientes (pesos)

🧠 Intuición

La regresión lineal responde:

👉 “¿Cómo cambia yyy cuando cambian las variables xxx?”


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

TipoVariables
Simple1
Múltiplen

🧠 Objetivo del modelo

Minimizar el error entre:

  • valores reales
  • valores predichos

📐 Función de pérdida (MSE)

MSE=1n(yiy^i)2MSE = \frac{1}{n} \sum (y_i – \hat{y}_i)^2


👉 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 LinearRegression
import numpy as np
X = 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

Python
import torch
X = 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