Evite o sobreajuste

Um erro comum ao preparar um modelo do BigQuery ML é o sobreajuste. O sobreajuste ocorre quando o modelo corresponde aos dados de preparação de forma demasiado aproximada, o que faz com que tenha um desempenho fraco em novos dados. O BigQuery ML suporta dois métodos para evitar o sobreajuste: paragem antecipada e regularização.

Para saber como modificar as opções descritas abaixo, consulte a declaração CREATE MODEL.

Paragem antecipada

A paragem antecipada é a opção predefinida para a prevenção do sobreajuste no BigQuery ML. Quando a paragem antecipada está ativada, a perda nos dados de retenção é monitorizada durante a preparação e a preparação é interrompida quando a melhoria da perda na iteração mais recente fica abaixo de um limite. Uma vez que os dados de retenção não são usados durante a preparação, são uma boa estimativa da perda do modelo em novos dados. As opções early_stop, min_rel_progress, data_split_method e data_split_eval_fraction controlam o comportamento da interrupção antecipada.

Regularização

A regularização impede que as ponderações do modelo aumentem demasiado, o que impede que o modelo corresponda aos dados de preparação de forma demasiado rigorosa. O BigQuery ML suporta dois métodos para controlar o tamanho das ponderações do modelo: regularização L1 e regularização L2.

Por predefinição, os valores de l1_reg e l2_reg são zero, o que desativa a regularização. Em alguns conjuntos de dados, definir valores positivos para l1_reg e l2_reg melhora o desempenho do modelo preparado em novos dados. Normalmente, os melhores valores para os parâmetros de regularização são encontrados através de tentativa e erro, e é comum experimentar valores em várias ordens de magnitude (por exemplo, 0,01, 0,1, 1, 10 e 100).

Seguem-se alguns conselhos gerais sobre a utilização da regularização:

  • Se estiver a fazer experiências com os parâmetros de regularização, experimente desativar a paragem antecipada para que o efeito da regularização seja claro.

  • Se o número de funcionalidades for elevado em comparação com o tamanho do conjunto de preparação, experimente valores elevados para os parâmetros de regularização. O risco de sobreajuste é maior quando existem apenas algumas observações por funcionalidade.

  • Se considerar que muitas funcionalidades podem ser irrelevantes para prever a etiqueta, experimente definir l1_reg como superior a l2_reg e vice-versa. Existem provas teóricas de que a regularização L1 funciona melhor quando muitas funcionalidades são irrelevantes.

Outra vantagem da regularização L1 é que tende a definir muitas ponderações do modelo como exatamente zero, o que é útil para identificar as funcionalidades mais relevantes e formar um modelo compacto.

O que se segue?