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 dil2_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
- Per una panoramica di BigQuery ML, consulta la pagina Introduzione a BigQuery ML.
- Per iniziare a utilizzare BigQuery ML, consulta la guida introduttiva a BigQuery ML con Cloud Console.
- Per scoprire di più sull'utilizzo dei modelli, vedi: