Impedire l'overfitting

Un errore comune nell'addestramento di un modello BigQuery ML è l'overfitting. L'overfiting si verifica quando il modello corrisponde ai dati di addestramento troppo da vicino, causando un rendimento scarso sui nuovi dati. BigQuery ML supporta due metodi per prevenire l'overfitting: interruzione anticipata e regolazione.

Per informazioni su come modificare le opzioni descritte di seguito, consulta l'istruzione CREATE MODEL.

Interruzione anticipata

L'interruzione anticipata è l'opzione predefinita per l'overfitting della prevenzione in BigQuery ML. Quando si abilita l'interruzione anticipata, la perdita dei dati di holdout viene monitorata durante l'addestramento e quest'ultima viene interrotta quando il miglioramento della perdita nell'ultima iterazione scende al di sotto di una soglia. Poiché i dati di riferimento non vengono utilizzati durante l'addestramento, è una buona stima della perdita del modello sui nuovi dati. Le opzioni early_stop, min_rel_progress, data_split_method e data_split_eval_fraction consentono di controllare il comportamento dell'interruzione anticipata.

Normalizzazione

La regolarizzazione impedisce che i peso del modello diventino troppo grandi, impedendo al modello di abbinare troppo accuratamente i dati di addestramento. BigQuery ML supporta due metodi per controllare le dimensioni delle ponderazioni del modello: regolazione L1 e regolazione L2.

Per impostazione predefinita, i valori di l1_reg e l2_reg sono zero, pertanto la normalizzazione è disattivata. In alcuni set di dati, l'impostazione di valori positivi per l1_reg e l2_reg migliorerà le prestazioni del modello addestrato sui nuovi dati. I valori migliori per i parametri di normalizzazione si trovano in genere tramite un errore di prova ed è normale che tu faccia esperimenti con valori in diversi ordini di grandezza (ad esempio 0,01, 0,1, 1, 10 e 100).

Ecco alcuni suggerimenti generali sull'uso della regolarizzazione:

  • Se stai sperimentando con i parametri di regolarizzazione, prova a disattivare l'interruzione anticipata in modo che l'effetto della regolarizzazione sia chiaro.

  • Se il numero di funzionalità è elevato rispetto alle dimensioni del set di addestramento, prova a inserire valori grandi per i parametri di normalizzazione. Il rischio di overfit è maggiore quando ci sono solo poche osservazioni per ogni caratteristica.

  • Se ritieni che molte funzionalità possano non essere pertinenti per prevedere l'etichetta, prova a impostare l1_reg in modo che sia più grande di l2_reg e viceversa. Ci sono prove teorie che confermano che la regolarizzazione L1 funziona meglio quando molte funzionalità non sono pertinenti.

Un altro vantaggio della regolarizzazione di L1 è che tende a impostare molti pesi del modello esattamente su zero, il che è utile per identificare le caratteristiche più pertinenti e addestrare un modello compatto.

Passaggi successivi