Evitar overfitting
Uma armadilha comum ao treinar um modelo do BigQuery ML é o overfitting (em inglês). O overfitting ocorre quando o modelo é muito parecido com os dados de treinamento, fazendo com que ele tenha um desempenho ruim em novos dados. O BigQuery ML é compatível com dois métodos para evitar o overfitting: parada antecipada e regularização (páginas em inglês).
Para saber como modificar as opções descritas abaixo, consulte
a instrução CREATE MODEL
.
Parada antecipada
A parada antecipada é a opção padrão para evitar o overfitting no BigQuery ML. Quando a parada antecipada é ativada, a perda nos dados não incluídos (páginas em inglês) é monitorada durante o treinamento, que é interrompido quando a melhoria da perda na iteração mais recente fica abaixo de um limite. Como os dados não incluídos não são usados durante o treinamento, é 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 parada antecipada.
Regularização
A regularização impede que os pesos de modelo (em inglês) aumentem muito, impedindo que o modelo corresponda aos dados de treinamento com muita precisão. O BigQuery ML é compatível com dois métodos para controlar o tamanho dos pesos de modelo: regularização L1 e regularização L2 (páginas em inglês).
Por padrã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 treinado, em novos dados. Os melhores valores para os parâmetros de regularização geralmente são encontrados por meio de tentativa e erro. É comum testar valores em várias ordens de magnitude (como 0,01; 0,1; 1; 10; e 100).
Veja alguns conselhos sobre como usar a regularização:
Se você estiver testando os parâmetros de regularização, tente desativar a parada antecipada para que o efeito da regularização seja claro.
Se o número de recursos for grande em comparação com o tamanho do conjunto de treinamento, tente valores grandes para os parâmetros de regularização. O risco de overfitting é maior quando há apenas algumas observações por recurso.
Se você estiver preocupado com a possibilidade de muitos recursos serem irrelevantes para prever o rótulo, tente definir
l1_reg
como maior quel2_reg
e vice-versa. Há provas teóricas (em inglês) de que a regularização L1 funciona melhor quando muitos recursos são irrelevantes.
Outro benefício da regularização L1 é que ela tende a definir muitos pesos de modelo como exatamente zero, o que é útil para identificar os recursos mais relevantes e treinar um modelo compacto.
A seguir
- Para uma visão geral sobre ML do BigQuery, consulte Introdução ao ML do BigQuery.
- Para começar a usar o BigQuery ML, consulte Criar modelos de machine learning no BigQuery ML.
- Para mais informações sobre como utilizar os modelos, consulte: