Evitare l'overfitting

Un errore comune nell'addestramento di un modello BigQuery ML è l'overfitting. L'overfitting si verifica quando il modello corrisponde troppo ai dati di addestramento, causando prestazioni scarse 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. Se è abilitata l'interruzione anticipata, la perdita dei dati di holdout viene monitorata durante l'addestramento, mentre 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, si tratta di una buona stima della perdita di nuovi dati del modello. 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 le ponderazioni del modello aumentino troppo, impedendo al modello di corrispondere troppo rapidamente ai dati di addestramento. BigQuery ML supporta due metodi per controllare le dimensioni delle ponderazioni del modello: regolazione L1 e regolarizzazione L2.

Per impostazione predefinita, i valori di l1_reg e l2_reg sono zero, il che disattiva la regolarizzazione. Su alcuni set di dati, l'impostazione di valori positivi per l1_reg e l2_reg migliorerà le prestazioni del modello addestrato con i nuovi dati. I migliori valori per i parametri di regolarizzazione si trovano in genere attraverso prove ed errori ed è comune sperimentare valori in diversi ordini di grandezza (ad esempio, 0, 01, 0, 1, 1, 10 e 100).

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

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

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

Passaggi successivi