Regresión
Los modelos de regresión se entrenan para predecir valores de etiquetas numéricas basándose en datos de entrenamiento que incluyen tanto características como etiquetas conocidas. El proceso de entrenamiento de un modelo de regresión (o, de hecho, de cualquier modelo de aprendizaje automático supervisado) implica múltiples iteraciones en las que se utiliza un algoritmo adecuado (normalmente con algunos ajustes parametrizados) para entrenar un modelo, evaluar el rendimiento predictivo del modelo y perfeccionarlo repitiendo el proceso de entrenamiento con diferentes algoritmos y parámetros hasta alcanzar un nivel aceptable de precisión predictiva.
En el diagrama se muestran cuatro elementos clave del proceso de entrenamiento para los modelos de aprendizaje automático supervisados:
- Divida los datos de entrenamiento (aleatoriamente) para crear un conjunto de datos con el que entrenar el modelo, mientras conserva un subconjunto de los datos que utilizará para validar el modelo entrenado.
- Usar un algoritmo para ajustar los datos de entrenamiento a un modelo. En el caso de un modelo de regresión, use un algoritmo de regresión como la regresión lineal.
- Use los datos de validación que ha conservado para probar el modelo mediante la predicción de etiquetas para las características.
- Compare las etiquetas reales conocidas del conjunto de datos de validación con las etiquetas que predijo el modelo. A continuación, agregue las diferencias entre los valores de etiqueta predichos y reales para calcular una métrica que indique la precisión de la predicción del modelo para los datos de validación.
Después de cada entrenamiento, validar y evaluar la iteración, puede repetir el proceso con distintos algoritmos y parámetros hasta que se logre una métrica de evaluación aceptable.
Ejemplo: regresión
Vamos a explorar la regresión con un ejemplo simplificado en el que entrenaremos un modelo para predecir una etiqueta numérica (y) basada en un único valor de característica (x). La mayoría de los escenarios reales implican varios valores de características, lo que agrega cierta complejidad; pero el principio es el mismo.
Para nuestro ejemplo, vamos a ceñirnos al escenario de venta de helados que hemos analizado anteriormente. Para nuestra característica, consideraremos la temperatura (supongamos que el valor es la temperatura máxima en un día determinado), y la etiqueta para la que queremos entrenar un modelo de predicción es el número de helados vendidos ese día. Empezaremos con algunos datos históricos que incluyen registros de temperaturas diarias (x) y ventas de helados (y):
Temperatura (x) | Ventas de helados (y) |
51 | 1 |
52 | 0 |
67 | 14 |
65 | 14 |
70 | 23 |
69 | 20 |
72 | 23 |
75 | 26 |
73 | 22 |
81 | 30 |
78 | 26 |
83 | 36 |
Entrenamiento de un modelo de regresión
Comenzaremos dividiendo los datos y usando un subconjunto de ellos para entrenar un modelo. Este es el conjunto de datos de entrenamiento:
Temperatura (x) | Ventas de helados (y) |
---|---|
51 | 1 |
65 | 14 |
69 | 20 |
72 | 23 |
75 | 26 |
81 | 30 |
Para obtener una idea de cómo estos valores x e y se pueden relacionar entre sí, podemos trazarlos como coordenadas a lo largo de dos ejes, de la siguiente manera:
Ahora estamos listos para aplicar un algoritmo a nuestros datos de entrenamiento y ajustarlos a una función que aplica una operación a x para calcular y. Uno de estos algoritmos es la regresión lineal, que funciona derivando una función que produce una línea recta a través de las intersecciones de los valores x e y al tiempo que minimiza la distancia media entre la línea y los puntos trazados, de esta forma:
La línea es una representación visual de la función en la que la pendiente de la línea describe cómo calcular el valor de y para un valor determinado de x. La línea intercepta el eje x en 50, por lo que cuando x es 50, y es 0. Como se puede ver en los marcadores de los ejes del gráfico, la línea tiene una pendiente tal que cada aumento de 5 a lo largo del eje x produce un aumento de 5 en el eje y. Por lo tanto, cuando x es 55, y es 5; cuando x es 60, y es 10, etc. Para calcular un valor de y para un valor determinado de x, la función simplemente resta 50; es decir, la función se puede expresar de esta manera:
f(x) = x-50
Puede usar esta función para predecir el número de helados vendidos en un día con cualquier temperatura determinada. Por ejemplo, supongamos que la previsión meteorológica nos dice que mañana hará 77 grados. Podemos aplicar nuestro modelo para calcular 77-50 y predecir que mañana venderemos 27 helados.
Pero, ¿hasta qué punto es preciso nuestro modelo?
Evaluación de un modelo de regresión
Para validar el modelo y evaluar lo bien que predice, conservamos algunos datos de los que conocemos el valor de la etiqueta (y). Estos son los datos que conservamos:
Temperatura (x) | Ventas de helados (y) |
---|---|
52 | 0 |
67 | 14 |
70 | 23 |
73 | 22 |
78 | 26 |
83 | 36 |
Podemos utilizar el modelo para predecir la etiqueta de cada una de las observaciones de este conjunto de datos basándonos en el valor de la característica (x); y luego comparar la etiqueta predicha (ŷ) con el valor real conocido de la etiqueta (y).
Utilizando el modelo que entrenamos anteriormente, que encapsula la función f(x) = x-50, se obtienen las siguientes predicciones:
Temperatura (x) | Ventas reales (y) | Ventas previstas (ŷ) |
---|---|---|
52 | 0 | 2 |
67 | 14 | 17 |
70 | 23 | 20 |
73 | 22 | 23 |
78 | 26 | 28 |
83 | 36 | 33 |
Podemos trazar las etiquetas predichas y las reales frente a los valores de las características de la siguiente manera:
El modelo calcula las etiquetas predichas, por lo que se encuentran en la línea de la función, pero existe cierta variación entre los valores ŷ calculados por la función y los valores y reales del conjunto de datos de validación; lo cual se indica en el gráfico como una línea entre los valores ŷ e y que muestra lo alejada que estaba la predicción del valor real.
Métricas de evaluación de regresión
En función de las diferencias entre los valores previstos y reales, puede calcular algunas métricas comunes que se usan para evaluar un modelo de regresión.
Error medio absoluto (MAE)
En este ejemplo, la varianza indica el número de helados que se equivocó cada predicción. No importa si la predicción era superior o inferior al valor real (así, por ejemplo, -3 y +3 indican ambos una varianza de 3). Esta métrica se conoce como error absoluto de cada predicción y se puede resumir para todo el conjunto de validación como el error absoluto medio (MAE).
En el ejemplo del helado, la media (promedio) de los errores absolutos (2, 3, 3, 1, 2 y 3) es 2,33.
Error cuadrático medio (MSE)
La métrica de error absoluto medio tiene en cuenta todas las discrepancias entre las etiquetas predichos y reales. Sin embargo, puede ser más deseable tener un modelo que se equivoque sistemáticamente por poco que otro que cometa menos errores, pero mayores. Una forma de producir una métrica que "amplifique" los errores más grandes es elevar al cuadrado los errores individuales y calcular la media de los valores elevados al cuadrado. Esta métrica se denomina error cuadrático medio (ECM).
En nuestro ejemplo del helado, la media de los valores absolutos al cuadrado (que son 4, 9, 9, 1, 4 y 9) es 6.
Raíz del error cuadrático medio (RMSE)
El error cuadrático medio ayuda a tener en cuenta la magnitud de los errores, pero como eleva al cuadrado los valores de error, la métrica resultante ya no representa la cantidad medida por la etiqueta. En otras palabras, podemos decir que el MSE de nuestro modelo es 6, pero eso no mide su precisión en términos del número de helados que se predijeron mal; 6 es solo una puntuación numérica que indica el nivel de error en las predicciones de validación.
Si queremos medir el error en términos del número de helados, es necesario calcular la raíz cuadrada del MSE; que genera una métrica denominada raíz del error cuadrático medio. En este caso √6, que es 2,45 (helados).
Coeficiente de determinación (R2)
Todas las métricas hasta ahora comparan la discrepancia entre los valores previstos y los reales para evaluar el modelo. Sin embargo, en realidad, hay alguna variación aleatoria natural en las ventas diarias de helados que el modelo tiene en cuenta. En un modelo de regresión lineal, el algoritmo de entrenamiento ajusta una línea recta que minimiza la varianza media entre la función y los valores de etiqueta conocidos. El coeficiente de determinación (más comúnmente denominado R2 o R cuadrado) es una métrica que mide la proporción de la varianza en los resultados de validación que el modelo puede explicar, en contraposición a algún aspecto anómalo de los datos de validación (por ejemplo, un día con un número muy inusual de ventas de helados debido a una fiesta local).
El cálculo de R2 es más complejo que para las métricas anteriores. Compara la suma de las diferencias al cuadrado entre las etiquetas previstas y las reales con la suma de las diferencias al cuadrado entre los valores reales de las etiquetas y la media de los valores reales de las etiquetas, de esta forma:
R2 = 1- ∑(y-ŷ)2 ÷ ∑(y-ȳ)2
No se preocupe demasiado si le parece complicado; la mayoría de las herramientas de aprendizaje automático pueden calcular la métrica automáticamente. Lo importante es que el resultado es un valor entre 0 y 1 que describe la proporción de varianza que explica el modelo. En términos sencillos, cuanto más cercano a 1 sea este valor, mejor se ajusta el modelo a los datos de validación. En el caso del modelo de regresión del helado, el R2 calculado a partir de los datos de validación es 0,95.
Entrenamiento iterativo
Las métricas descritas anteriormente se usan normalmente para evaluar un modelo de regresión. En la mayoría de los escenarios del mundo real, un científico de datos utilizará un proceso iterativo para entrenar y evaluar repetidamente un modelo, variando:
- La selección y preparación de las características (la elección de las características que se incluirán en el modelo y los cálculos que se les aplicarán para garantizar un mejor ajuste).
- La selección del algoritmo (en el ejemplo anterior hemos explorado la regresión lineal, pero existen muchos otros algoritmos de regresión)
- Los parámetros del algoritmo (ajustes numéricos para controlar el comportamiento del algoritmo, más exactamente llamados hiperparámetros para diferenciarlos de los parámetros x e y).
Tras múltiples iteraciones, se selecciona el modelo que da como resultado la mejor métrica de evaluación aceptable para el escenario específico.