Regresión Lineal y Descenso del Gradiente

Linear Regression and Gradient Descent.

Aprende sobre el algoritmo de aprendizaje automático más fundamental

La regresión lineal es uno de los algoritmos fundamentales existentes en el aprendizaje automático. Comprender su flujo de trabajo interno ayuda a comprender los conceptos principales de otros algoritmos en la ciencia de datos. La regresión lineal tiene una amplia gama de aplicaciones donde se utiliza para predecir una variable continua.

Antes de sumergirnos en el funcionamiento interno de la regresión lineal, primero entendamos un problema de regresión.

Introducción

La regresión es un problema de aprendizaje automático que tiene como objetivo predecir el valor de una variable continua dada un vector de características que generalmente se denota como x = <x₁, x₂, x₃, …, xₙ>, donde xᵢ representa un valor de la i-ésima característica en los datos. Para que un modelo pueda hacer predicciones, debe ser entrenado en un conjunto de datos que contenga mapeos de vectores de características x a valores correspondientes de una variable objetivo y. El proceso de aprendizaje depende del tipo de algoritmo utilizado para una tarea determinada.

El problema de regresión consiste en encontrar una función f que pueda aproximar de cerca f(x) = y para todos los objetos del conjunto de datos

En el caso de la regresión lineal, el modelo aprende un vector de pesos w = <x₁, x₂, x₃, …, xₙ> y un parámetro de sesgo b que intentan aproximar un valor objetivo y como <w, x> + b = x₁ * w₁ + x₂ * w₂ + x₃ * w₃ + … + xₙ * wₙ + b de la mejor manera posible para cada observación del conjunto de datos (x, y).

Formulación

Cuando se construye un modelo de regresión lineal, el objetivo final es encontrar un vector de pesos w y un término de sesgo b que acerquen más la predicción ŷ al valor objetivo real y para todas las entradas:

Ecuación de regresión. <w, x> representa el producto interno entre los vectores w y x.

Para hacer las cosas más fáciles, en el ejemplo que vamos a ver, se utilizará un conjunto de datos con una única característica x. Por lo tanto, x y w son vectores unidimensionales. Para simplificar, eliminemos la notación del producto interno y reescribamos la ecuación anterior de la siguiente manera:

Ecuación de regresión para un predictor

Función de pérdida

Para entrenar un algoritmo, se debe elegir una función de pérdida. La función de pérdida mide cuán bueno o malo fue el algoritmo en hacer predicciones para un conjunto de objetos en una sola iteración de entrenamiento. En función de su valor, el algoritmo ajusta los parámetros del modelo con la esperanza de que en el futuro el modelo produzca menos errores.

Una de las funciones de pérdida más populares es el error cuadrático medio (o simplemente MSE), que mide la desviación media cuadrática entre los valores predichos y los verdaderos.

Fórmula de MSE (y es un valor verdadero, ŷ es un valor predicho, n es el número de objetos)

Descenso del gradiente

El descenso de gradiente es un algoritmo iterativo que actualiza el vector de pesos para minimizar una función de pérdida dada mediante la búsqueda de un mínimo local. El descenso de gradiente utiliza la siguiente fórmula en cada iteración:

Fórmula de actualización del descenso de gradiente
  • <w> es un vector de pesos del modelo en la iteración actual. Los pesos calculados se asignan a <w>’. Durante la primera iteración del algoritmo, los pesos suelen inicializarse aleatoriamente, pero también existen otras estrategias.
  • alpha es usualmente un valor positivo pequeño, también conocido como tasa de aprendizaje, un hiperparámetro que controla la velocidad de encontrar un mínimo local.
  • El triángulo invertido denota un gradiente, es decir, un vector de derivadas parciales de una función de pérdida. En el ejemplo actual, el vector de pesos consta de 2 componentes. Por lo tanto, para calcular el gradiente de <w>, se necesitan calcular 2 derivadas parciales (f representa una función de pérdida):
Gradiente del vector w

Las fórmulas de actualización se pueden reescribir de la siguiente manera:

Fórmulas de actualización para peso y sesgo

En este momento, el objetivo es encontrar las derivadas parciales de f. Suponiendo que se elige MSE como función de pérdida, se puede calcular para una sola observación (n = 1 en la fórmula de MSE), por lo tanto, f = (y – ŷ)² = (y – wx – b)².

Derivada parcial para la variable w
Derivada parcial para la variable b

El proceso de ajuste de los pesos del modelo basado en un solo objeto se llama descenso de gradiente estocástico.

Descenso de gradiente en lotes

En la sección anterior, los parámetros del modelo se actualizaron calculando MSE para un solo objeto (n = 1). De hecho, es posible realizar un descenso de gradiente para varios objetos en una sola iteración. Esta forma de actualizar los pesos se llama descenso de gradiente en lotes.

Las fórmulas para actualizar los pesos en este caso se pueden obtener de manera muy similar, en comparación con el descenso de gradiente estocástico en la sección anterior. La única diferencia es que aquí se tiene que tener en cuenta el número de objetos n. En última instancia, se calcula la suma de los términos de todos los objetos en un lote y luego se divide por n, el tamaño del lote.

Fórmulas de actualización para el descenso de gradiente en lotes

Visualización

Cuando se trata de un conjunto de datos que consta de una sola característica, los resultados de la regresión se pueden visualizar fácilmente en un gráfico 2D. El eje horizontal representa los valores de la característica, mientras que el eje vertical contiene los valores objetivo.

La calidad de un modelo de regresión lineal se puede evaluar visualmente por qué tan cerca se ajusta a los puntos del conjunto de datos: cuanto más cerca esté la distancia promedio entre cada punto del conjunto de datos a la línea, mejor será el algoritmo.

Dos líneas de regresión construidas para el mismo conjunto de datos. La línea de la izquierda ajusta los datos mucho mejor que la línea de la derecha. Por lo tanto, el modelo de regresión de la izquierda se considera mejor.

Si un conjunto de datos contiene más características, entonces la visualización se puede hacer utilizando técnicas de reducción de dimensionalidad como PCA o t-SNE aplicadas a características para representarlas en una dimensionalidad inferior. Después de eso, las nuevas características se representan en gráficos 2D o 3D, como de costumbre.

Análisis

La regresión lineal tiene una serie de ventajas:

  1. Velocidad de entrenamiento. Debido a la simplicidad del algoritmo, la regresión lineal se puede entrenar rápidamente en comparación con algoritmos de aprendizaje automático más complejos. Además, se puede implementar mediante el método LSM que también es relativamente rápido y fácil de entender.
  2. Interpretabilidad. Una ecuación de regresión lineal construida para varias características se puede interpretar fácilmente en términos de importancia de características. Cuanto mayor sea el valor del coeficiente de una característica, mayor será el efecto que tendrá en la predicción final.
Dada esta ecuación de regresión lineal, la característica X₃ tiene la mayor importancia de características

Por otro lado, también tiene varias desventajas:

  1. Supuestos de datos. Antes de ajustar un modelo de regresión lineal, es importante verificar el tipo de dependencia entre las características de salida e entrada. Si es lineal, entonces no debería haber ningún problema para ajustarlo. De lo contrario, el modelo no podrá ajustar bien los datos ya que la ecuación solo tiene términos lineales. De hecho, es posible agregar grados superiores en la ecuación para convertir el algoritmo en regresión polinómica, por ejemplo. Sin embargo, en realidad, sin mucho conocimiento del dominio, a menudo es difícil prever correctamente el tipo de dependencia. Esta es una de las razones por las que la regresión lineal puede no adaptarse a los datos dados.
  2. Problema de multicolinealidad. La multicolinealidad ocurre cuando dos o más predictores están altamente correlacionados entre sí. Imagina una situación en la que un cambio en una variable influye en otra variable. Sin embargo, un modelo entrenado no tiene información al respecto. Cuando estos cambios son grandes, es difícil para el modelo ser estable durante la fase de inferencia en datos no vistos. Por lo tanto, esto causa un problema de sobreajuste. Además, los coeficientes de regresión finales pueden ser inestables para la interpretación debido a esto.
  3. Normalización de datos. Para utilizar la regresión lineal como herramienta de importancia de características, los datos deben normalizarse o estandarizarse. Esto asegurará que todos los coeficientes de regresión finales estén en la misma escala y se puedan interpretar correctamente.

Conclusión

Hemos analizado la regresión lineal, un algoritmo simple pero muy popular en el aprendizaje automático. Sus principios básicos se utilizan en algoritmos más complejos.

Aunque la regresión lineal rara vez se usa en sistemas de producción modernos, su simplicidad permite usarla a menudo como una línea de base estándar en problemas de regresión que luego se comparan con soluciones más sofisticadas.

El código fuente utilizado en el artículo se puede encontrar aquí:

ML-Zepes/linear_regression.ipynb en master · slavafive/ML-Zepes

No puedes realizar esa acción en este momento. Has iniciado sesión con otra pestaña o ventana. Has cerrado sesión en otra pestaña o…

github.com

Recursos

  • Mínimos cuadrados | Wikipedia
  • Regresión polinómica | Wikipedia

Todas las imágenes, a menos que se indique lo contrario, son del autor.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

En busca de la confianza de una modelo ¿Puedes confiar en una caja negra?

Este artículo explora estrategias para evaluar la confiabilidad de las etiquetas generadas por Modelos de Lenguaje Gr...

Inteligencia Artificial

Silicon Volley Los diseñadores utilizan la IA generativa para obtener un asistente de Chip

Un artículo de investigación publicado hoy describe formas en que la inteligencia artificial generativa puede ayudar ...

Inteligencia Artificial

¿Qué es MLOps?' El resultado de la traducción es

MLOps es un conjunto de métodos y técnicas para implementar y mantener modelos de aprendizaje automático (ML) en prod...

Inteligencia Artificial

Llama-2, GPT-4 o Claude-2; ¿Cuál es el mejor modelo de lenguaje de inteligencia artificial?

Los Modelos de Lenguaje Grandes (LLMs) han recibido mucha apreciación a nivel mundial y han ganado inmensa popularida...

Ciencia de Datos

Utilizando Gráficos de Superficie 3D de Plotly para Visualizar Superficies Geológicas.

Dentro de la geociencia, es esencial tener una comprensión completa de las superficies geológicas presentes en el sub...

Ciencias de la Computación

La inteligencia artificial se utilizó para crear una nueva canción final de los Beatles, según Paul McCartney.

El músico dice que utilizó tecnología para 'extraer' la voz de John Lennon de una vieja demo y completar una canción ...