Evitare l'overfitting

Un problema comune durante l'addestramento di un modello BigQuery ML è l'overfitting. L'overfitting si verifica quando il modello corrisponde troppo da vicino ai dati di addestramento, il che ne causa un rendimento scarso sui nuovi dati. BigQuery ML supporta due metodi per prevenire l'overfitting: interruzione anticipata e regolarizzazione.

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

Interruzione anticipata

L'interruzione anticipata è l'opzione predefinita per la prevenzione dell'overfitting in BigQuery ML. Quando l'interruzione anticipata è attivata, la perdita nei dati di holdout viene monitorata durante l'addestramento e l'addestramento viene interrotto quando il miglioramento della perdita nell'ultima iterazione scende al di sotto di una soglia. Poiché i dati di holdout non vengono utilizzati durante l'addestramento, rappresentano una buona stima della perdita del modello su nuovi dati. Le opzioni early_stop, min_rel_progress, data_split_method e data_split_eval_fraction controllano il comportamento dell'interruzione anticipata.

Regolarizzazione

La regolarizzazione impedisce che i pesi del modello diventino troppo grandi, impedendo al modello di corrispondere troppo da vicino ai dati di addestramento. BigQuery ML supporta due metodi per controllare le dimensioni dei pesi del modello: regolarizzazione L1 e regolarizzazione L2.

Per impostazione predefinita, i valori di l1_reg e l2_reg sono zero, il che disattiva la regolarizzazione. 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 regolarizzazione vengono in genere trovati per tentativi ed errori ed è comune sperimentare con valori di diversi ordini di grandezza (ad esempio 0,01, 0,1, 1, 10 e 100).

Ecco alcuni consigli generali sull'utilizzo 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 caratteristiche è elevato rispetto alle dimensioni del set di addestramento, prova a utilizzare valori elevati per i parametri di regolarizzazione. Il rischio di overfitting è maggiore quando ci sono poche osservazioni per funzionalità.

  • Se temi che molte funzionalità possano essere irrilevanti per la previsione dell'etichetta, prova a impostare l1_reg su un valore maggiore di l2_reg e viceversa. Esistono prove teoriche che dimostrano che la regolarizzazione L1 funziona meglio quando molte caratteristiche non sono pertinenti.

Un altro vantaggio della regolarizzazione 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