Logo de CursoIA
CursoIA Curso de Inteligencia Artificial

Álgebra lineal aplicada a IA, Unidad 5 — Sistemas lineales y modelos, 5.2 — Regresión lineal como problema matricial ·

Error y residuo

Error y residuo: Comprendiendo la regresión lineal matricial

Introducción

En el contexto de la inteligencia artificial, la regresión lineal es una técnica fundamental para predecir valores continuos. A menudo se expresa en términos de ecuaciones matemáticas simples, pero su interpretación a través del álgebra lineal proporciona un enfoque más profundo y poderoso. Este artículo explora la regresión lineal desde una perspectiva matricial, enfocándonos en el concepto crucial del "error" y el "residuo". Aprenderemos cómo interpretar estos términos de manera práctica e intuitiva.

Explicación principal con ejemplos

La regresión lineal busca modelar la relación entre una variable dependiente \(y\) (que queremos predecir) y una o más variables independientes \(x\). Matemáticamente, esto se expresa como:

\[ \mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\epsilon} \]

donde:

  • \(\mathbf{y}\) es un vector de valores observados.
  • \(\mathbf{X}\) es una matriz donde cada fila representa una observación y cada columna una variable independiente (incluyendo, a menudo, un término constante o "bias").
  • \(\boldsymbol{\beta}\) es el vector de coeficientes que queremos estimar.
  • \(\boldsymbol{\epsilon}\) son los errores aleatorios no explicados.

En términos matriciales, la regresión lineal se puede resolver como:

\[ \boldsymbol{\hat{y}} = \mathbf{X} \boldsymbol{\beta} \]

donde \(\boldsymbol{\hat{y}}\) son los valores predichos. El error (o residuo) se define como el diferencial entre los valores observados y los predichos:

\[ \boldsymbol{\epsilon} = \mathbf{y} - \boldsymbol{\hat{y}} \]

Ejemplo práctico

Supongamos que tenemos un conjunto de datos sobre la altura y peso de una muestra de personas. Queremos predecir el peso a partir de la altura.

import numpy as np

# Datos observados (altura, peso)
X = np.array([[160], [170], [180], [190]])
y = np.array([50, 65, 75, 85])

# Agregamos el término constante
X = np.hstack((np.ones(X.shape[0])[:, None], X))

# Coeficientes a estimar (β)
beta = np.linalg.inv(X.T @ X) @ X.T @ y

# Predicciones
y_pred = X @ beta

En este ejemplo, beta contiene los coeficientes de la regresión lineal. La predicción \(\boldsymbol{\hat{y}}\) se calcula como \(X\boldsymbol{\beta}\), y el error \(\boldsymbol{\epsilon} = \mathbf{y} - \boldsymbol{\hat{y}}\).

Errores típicos / trampas

  1. Omisión de variables relevantes: Si omitimos una variable relevante en \(\mathbf{X}\), los errores pueden aumentar significativamente, ya que la regresión no puede capturar completamente la relación entre las variables.
  1. Multicolinealidad: Cuando dos o más variables independientes están altamente correlacionadas, esto puede causar un aumento de la varianza en los coeficientes estimados, lo cual se conoce como multicolinealidad. Esto puede afectar negativamente el modelo y hacerlo menos preciso.
  1. Heterocedasticidad: Si los errores no son homocedásticos (tienen una varianza constante), la regresión lineal matricial puede dar resultados sesgados o ineficientes. Este problema se conoce como heterocedasticidad y debe ser abordado mediante técnicas adecuadas.

Checklist accionable

  1. Verifica tu conjunto de datos: Asegúrate de que no hayan variables relevantes omitidas.
  2. Evalúa la multicolinealidad: Calcula el índice de correlación de las variables independientes para identificar posibles problemas.
  3. Comprueba la homocedasticidad: Verifica si los errores tienen una varianza constante a través del análisis de gráficos como el gráfico de residuales vs predicciones.
  4. Normaliza tus datos: Si las variables tienen escalas muy diferentes, normalizarlas puede mejorar la estabilidad y la precisión del modelo.
  5. Valida tu modelo: Utiliza técnicas como validación cruzada para asegurarte de que el modelo generalice bien a nuevos datos.

Siguientes pasos

  • Aprende sobre NumPy: Asegúrate de tener una sólida comprensión de cómo trabajar con matrices y vectores en NumPy.
  • Explora más modelos lineales: Familiarízate con otras técnicas de regresión, como la regresión polinomial o el ridge regression.
  • Implementa tu propio modelo: Prueba a implementar una regresión lineal matricial desde cero para mejorar tu comprensión.

Aprender a interpretar el error y los residuos en el contexto de la regresión lineal es crucial para construir modelos más precisos e informados. Con este conocimiento, estás mejor equipado para enfrentar desafíos comunes en la implementación del álgebra lineal aplicada a la inteligencia artificial.

Contacto

Indica tu objetivo (ChatGPT, RAG, agentes, automatización) y tu stack (web/backend).