Evita el sobreajuste

Un error común en el entrenamiento de un modelo de BigQuery ML es el sobreajuste. El sobreajuste ocurre cuando el modelo coincide demasiado con los datos de entrenamiento, lo que genera un rendimiento deficiente con datos nuevos. BigQuery ML admite dos métodos para evitar el sobreajuste: la interrupción anticipada y la regularización.

Para obtener información sobre cómo modificar las opciones que se describen a continuación, consulta la declaración CREATE MODEL.

Interrupción anticipada

La interrupción anticipada es la opción predeterminada para evitar el sobreajuste en BigQuery ML. Cuando la interrupción anticipada se habilita, la pérdida en los datos de exclusión se supervisa durante el entrenamiento, y este se detiene una vez que la mejora de la pérdida en la última iteración se encuentra por debajo de un umbral determinado. Dado que los datos de exclusión no se usan durante el entrenamiento, constituyen una buena estimación de la pérdida del modelo en datos nuevos. Con las opciones early_stop, min_rel_progress, data_split_method y data_split_eval_fraction, se controla el comportamiento de la interrupción anticipada.

Regularización

La regularización evita que los pesos del modelo crezcan demasiado y, de este modo, también impide que el modelo coincida demasiado con los datos de entrenamiento. BigQuery ML admite dos métodos para controlar el tamaño de los pesos del modelo: la regularización L1 y la regularización L2.

De forma predeterminada, los valores de l1_reg y l2_reg son cero, lo que inhabilita la regularización. En algunos conjuntos de datos, establecer valores positivos en l1_reg y l2_reg mejorará el rendimiento del modelo entrenado con datos nuevos. Por lo general, los valores más adecuados para los parámetros de regularización se encuentran mediante un proceso de prueba y error, y es común experimentar con diversos órdenes de magnitud (por ejemplo, 0.01, 0.1, 1, 10 y 100).

Los siguientes son algunos consejos generales sobre el uso de la regularización:

  • Si estás experimentando con los parámetros de regularización, inhabilita la interrupción anticipada para que el efecto de la regularización sea claro.

  • Si la cantidad de atributos es grande en comparación con el tamaño del conjunto de entrenamiento, establece valores grandes para los parámetros de regularización. El riesgo de sobreajuste es mayor cuando hay solo unas pocas observaciones por atributo.

  • Si te preocupa que haya varios atributos que no sean relevantes en la predicción de la etiqueta, configura l1_reg en un valor mayor que l2_reg y viceversa. Hay evidencia teórica de que la regularización L1 funciona mejor cuando hay muchos atributos irrelevantes.

Otro beneficio de la regularización L1 es que suele establecer muchos pesos del modelo en cero, lo que es útil para identificar los atributos más relevantes y entrenar un modelo compacto.

¿Qué sigue?