Reducción de los errores del modelo con funciones de costo

Completado

El proceso de aprendizaje modifica repetidas veces un modelo hasta que puede realizar estimaciones de alta calidad. Para determinar la calidad del rendimiento de un modelo, el proceso de aprendizaje usa las matemáticas en forma de una función cost. La función cost también se conoce como función objetivo. Para entender lo que es una función de costo, vamos a desglosarla un poco.

Error, costo y pérdida

En el aprendizaje supervisado, error, costo y pérdida hacen referencia al número de errores que un modelo comete al predecir una o varias etiquetas.

Estos tres términos se usan de forma flexible en el aprendizaje automático, lo que puede provocar cierta confusión. Para simplificar, aquí los utilizamos indistintamente. El costo no es un criterio cualitativo, ya que se usan las matemáticas para calcularlo. Por ejemplo, si un modelo predice una temperatura diaria de 40°F, pero el valor real es 35°F, podríamos decir que tiene un error de 5°F.

La reducción del costo es nuestro objetivo

Dado que el costo indica la ineficacia del modelo, nuestro objetivo es tener un costo cero. En otras palabras, queremos entrenar el modelo para que no cometa ningún error. Sin embargo, esta idea suele ser imposible, por lo que definimos un objetivo algo más difuso que consiste en entrenar el modelo para que tenga el costo más bajo posible.

Como consecuencia de este objetivo, la forma de calcular el costo determina lo que el modelo intenta aprender. En el ejemplo anterior, definimos el costo como el error al calcular la temperatura.

¿Qué es una función de costo?

En el aprendizaje supervisado, una función de costo es un pequeño fragmento de código que calcula el costo a partir de la predicción de un modelo y la etiqueta esperada, la respuesta correcta. Por ejemplo, en el ejercicio anterior calculamos los errores de predicción, los elevamos al cuadrado y los sumamos para calcular el costo.

Una vez que la función de costo haya calculado el costo, sabremos si el modelo funciona bien o no. Si funciona bien, es posible que decidamos detener el entrenamiento. Si no es así, podemos pasar la información sobre el costo al optimizador, que usa esta información con el fin de seleccionar nuevos parámetros para el modelo.

Diagrama del ciclo de vida del aprendizaje automático con etiquetas, pero sin características.

Durante el entrenamiento, la duración y la eficacia de dicho entrenamiento pueden variar dependiendo de la función de costo que se utilice. Por ejemplo, si la función de costo siempre indica que los errores son pequeños, el optimizador realiza solo pequeños cambios en el modelo. Como otro ejemplo, si la función de costo devuelve valores grandes cuando se cometen ciertos errores. A continuación, el optimizador realiza cambios en el modelo para que no cometa este tipo de errores.

No hay una función de costo única. Cuál es la mejor depende de lo que se intente lograr. A menudo necesitamos experimentar con las funciones de costo para obtener un resultado con el que estemos satisfechos. En el ejercicio siguiente llevaremos a cabo este experimento.