8.a Métricas regresión

Son las métricas que se usan en problemas de regresión. Son casi las mismas que usábamos como funciones de coste.

Mean Absolute Error (MAE)

Mean Squared Error (MSE)

Distancia del coseno

Root Mean Squared Error (RMSE)

Coeficiente de determinación o R²

Hay métricas que son exactamente iguales a las funciones de coste como MEA o MSE en los problemas de regresión MAE, MSE. Si ya las usamos como función de coste y queremos usarlas como métricas no es necesario indicarlas como métricas, se puede acceder a ellas de la siguiente forma:

Para mostrar la función de coste en el entrenamiento:

Para mostrar la función de coste en la validación:

Mean Absolute Error (MAE)

Es igual que la función de coste de Mean Absolute Error (MAE), así que no explicaremos nada mas sobre ella excepto como se usa en Keras como métrica

Se define como:

y usarla como

Mas información:

MeanAbsoluteError class

Mean Squared Error (MSE)

Es igual que la función de coste de Mean Squared Error (MSE), así que no explicaremos nada mas sobre ella excepto como se usa en Keras como métrica

Se define como:

y usarla como

Mas información:

MeanSquaredError class

Distancia del coseno

Es igual que la función de coste de Distancia del coseno, así que no explicaremos nada mas sobre ella excepto como se usa en Keras como métrica

Se define en Keras como:

y se usa como

Mas información:

CosineSimilarity class

Root Mean Squared Error (RMSE)

La Root Mean Squared Error (RMSE) o Raiz cuadrada del error cuadrático medio se calcula igual que el MSE pero se le aplica la raíz cuadrada.

Por lo tanto su fórmula es

Ahora vamos a explicar algunas cosas de RMSE.

¿Por qué se hace la raíz cuadrada? Pues porque antes habíamos elevado al cuadrado los errores

¿Pero que ventaja tiene esa raíz cuadrada? La raíz cuadrada se hace para que el error esté en las mismas unidades que los datos. Es para que como humanos entendamos mejor el valor. Es decir que nosotros entendemos mejor el resultado de RMSE que el de MSE

¿Por qué no existe la RMSE como función de coste? Por ahorrarnos el trabajo de hacer la raíz cuadrada. Como función de coste nos da igual el valor de MSE que la raíz cuadrada de MSE, la red va a funcionar igual.

¿Por qué no existe RMAE? Por que con MAE no elevábamos nada al cuadrado así que no tiene sentido RMAE

A veces se intenta comprar los resultados de RMSE con MAE ya que ambos están en las mismas unidades.

Por lo que si queremos usar MSE como métrica es mejor usar RMSE y como función de coste es mejor MSE

Se define en Keras como:

y se usa como

Mas información:

RootMeanSquaredError class

Coeficiente de determinación o R²

El coeficiente de determinación o R² se calcula de la siguiente forma:

Siendo:

Ahora vamos a explicar algunas cosas de R²

MAE, MSE y RMSE son mejor cuanto menor es el valor, mientras que R² es mejor cuanto más se acerca a 1.

Un problema de R² es que aumenta su valor cuantas más variables tengamos de entrada (es decir el tamaño del vector de cada muestra) por eso se suele usar la métrica de R² ajustada.

Se define en Keras como:

y se usa como

Mas información:

tf.keras.metrics.R2Score

Errores frecuentes en la interpretación del coeficiente de determinación lineal

Coeficiente de determinación ajustado o R²-ajustado

Como acabamos de comentar el Coeficiente de determinación tiene el problema de que tiende a 1 cuantos más características haya es decir cuantas más columnas tenga la hay. Se suele expresar como que hay una alta dimensionalidad.

Para evitar el problema del cálculo de R² en entornos de alta dimensionalidad (que suele ser lo normal en problemas de IA y Machine Learning) existe una nueva métrica que se llama R² ajustado y se escribe o

La fórmula ahora es:

Siendo:

: El número de características x.shape[1]

: El número de muestras s.shape[1]

Para usarlo en keras se usa también tf.keras.metrics.R2Score() pero se le pasa el argumento num_regressors. Siendo num_regressors el número de características, es decir x.shape[1].

Si a R2Score() no se le pasa ninguna valor a num_regressors su valor por defecto es 0. Y eso no significa que haya 0 características sino que en ese caso no hay que calcular el valor de sino

Selección de métricas de regresión

La elección de una métrica u otra se puede ver en MAE, MSE, RMSE, Coefficient of Determination, Adjusted R Squared — Which Metric is Better? y Know The Best Evaluation Metrics for Your Regression Model

RMSE es mejor que MSE ya que está en las mismas unidades que el resultado y no al cuadrado.

MAE vs MSE:

MAE es mas robusto que MSE ante datos anómalos, es decir que los tiene menos en cuenta

MSE eleva el error al cuadrado y la regresión al intentar minimizar dicho error , tiende a ir hacia ese dato anómalo. Por lo que MSE tiene más en cuenta los datos anómalos.

Por contra si los datos "anómalos" realmente no son anómalos sino situaciones "normales" pero poco frecuentes, deberíamos usar MSE.

Recordar que como función de coste es mejor usar MSE que MAE ya que en MAE la derivada es constante.