Evitar el sobreajuste

Un error habitual al entrenar un modelo de BigQuery ML es el sobreajuste. El sobreajuste se produce cuando el modelo se ajusta demasiado a los datos de entrenamiento, lo que provoca que tenga un rendimiento deficiente con los datos nuevos. BigQuery ML admite dos métodos para evitar el sobreajuste: detención temprana y regularización.

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

Detención temprana

La detención anticipada es la opción predeterminada para evitar el sobreajuste en BigQuery ML. Cuando la detención anticipada está habilitada, se monitoriza la pérdida en los datos de retención durante el entrenamiento y este se detiene cuando la mejora de la pérdida en la última iteración es inferior a un umbral. Como los datos de retención no se usan durante el entrenamiento, son una buena estimación de la pérdida del modelo en datos nuevos. Las opciones early_stop, min_rel_progress, data_split_method y data_split_eval_fraction controlan el comportamiento de la parada anticipada.

Regularización

La regularización evita que los pesos del modelo crezcan demasiado, lo que impide que el modelo se ajuste demasiado a los datos de entrenamiento. BigQuery ML admite dos métodos para controlar el tamaño de los pesos del modelo: regularización L1 y 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, si asignas valores positivos a l1_reg y l2_reg, mejorarás el rendimiento del modelo entrenado con los datos nuevos. Los mejores valores para los parámetros de regularización suelen encontrarse mediante prueba y error, y es habitual experimentar con valores de varios órdenes de magnitud (por ejemplo, 0,01, 0,1, 1, 10 y 100).

A continuación, te ofrecemos algunos consejos generales sobre el uso de la regularización:

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

  • Si el número de características es grande en comparación con el tamaño del conjunto de entrenamiento, prueba con valores grandes para los parámetros de regularización. El riesgo de sobreajuste es mayor cuando solo hay unas pocas observaciones por característica.

  • Si te preocupa que muchas funciones puedan ser irrelevantes para predecir la etiqueta, prueba a definir l1_reg como un valor mayor que l2_reg y viceversa. Hay pruebas teóricas de que la regularización L1 funciona mejor cuando muchas características no son relevantes.

Otra ventaja de la regularización L1 es que tiende a asignar el valor cero a muchas ponderaciones del modelo, lo que resulta útil para identificar las funciones más relevantes y entrenar un modelo compacto.

Siguientes pasos