Implementación manual de regresión lineal con NumPy

Clase 4 de 20Curso de Fundamentos para AI y Machine Learning

Resumen

Objetivo de la clase

El objetivo principal de esta clase fue enseñar a los estudiantes cómo implementar una regresión lineal desde cero utilizando NumPy, para que comprendan los fundamentos matemáticos y algorítmicos que operan "detrás del telón" de las librerías modernas de machine learning.

Habilidades desarrolladas

  • Implementación manual de algoritmos: Capacidad de construir un modelo de regresión lineal sin usar librerías especializadas
  • Programación orientada a objetos: Creación de clases y métodos para encapsular la funcionalidad del modelo
  • Manipulación de matrices: Uso de operaciones de álgebra lineal (producto punto, transposición, inversas)
  • Evaluación de modelos: Cálculo manual de métricas de rendimiento
  • Generación de datos sintéticos: Creación de datasets controlados para pruebas

Conceptos clave

  • [0:47] Regresión lineal manual: Implementación desde cero usando la fórmula de mínimos cuadrados
  • [1:07] Tres enfoques de implementación: NumPy (manual), Scikit-Learn, y Stats Models
  • [1:11] Regresión simple vs múltiple: Diferencias entre una variable predictora y múltiples variables
  • [2:14] Variable objetivo sintética: Generación de datos con relación lineal conocida más ruido
  • [3:33] Clase RegresionLinealManual: Estructura orientada a objetos para el modelo
  • [3:41] Matriz de intercepto: Adición de columna de unos para calcular el término independiente
  • [4:10] Método de mínimos cuadrados: Aplicación de la fórmula matemática X^T * X y X^T * Y
  • [5:13] Función de predicción: Cálculo de valores predichos usando intercepto + coeficientes * X
  • [7:30] Suma de cuadrados de residuos (SS_Res): Medida del error entre predicciones y valores reales
  • [8:24] R cuadrada: Métrica que indica qué porcentaje de variabilidad explica el modelo

Palabras clave importantes

  • Mínimos cuadrados
  • Intercepto y coeficientes
  • Producto punto (dot product)
  • Matriz transpuesta
  • Residuos
  • R cuadrada
  • Variables sintéticas
  • NumPy
  • Álgebra lineal

Hechos importantes

  • [0:35] Importancia del aprendizaje manual: Aunque existen librerías que hacen todo automáticamente, entender la implementación evita errores y malinterpretaciones
  • [1:53] Semilla aleatoria 42: Fijación de reproducibilidad en la generación de datos
  • [1:58] 200 observaciones: Tamaño del dataset sintético generado
  • [2:22] Relación lineal conocida: Y = 2*X + 1 + ruido, donde el ruido tiene distribución normal
  • [8:06] Elevación al cuadrado: Se usa para eliminar signos negativos en el cálculo de errores

Principales puntos de datos

  • [9:06] Intercepto calculado: 1.045
  • [9:14] Coeficiente calculado: 2.050
  • [9:24] R cuadrada obtenida: 0.938 (muy cercano a 1, indicando buen ajuste)