Fitfit, regolarizzazione e interruzione anticipata

A differenza delle foreste casuali, gli alberi con gradienti intensi possono sovraccaricare. Pertanto, per quanto riguarda le reti neurali, puoi applicare la regolarizzazione e l'interruzione anticipata utilizzando un set di dati di convalida.

Ad esempio, le seguenti figure mostrano le curve di perdita e accuratezza per gli insiemi di addestramento e convalida durante l'addestramento di un modello GBT. Noterai quanto sono divergenti le curve, il che suggerisce un alto livello di overfitting.

Rappresentano la perdita di addestramento e quella di convalida rispetto al numero di
  alberi decisionale. La perdita di addestramento diminuisce gradualmente con l'aumentare del numero di alberi decisionali. Tuttavia, la perdita di convalida diminuisce solo fino a circa 40 alberi decisionale. Con più di 40 alberi di decisione, la perdita di convalida aumenta di fatto. Con 400 alberi decisionale, il
  divario tra la perdita di addestramento e la perdita di convalida è
  enorme.

Figura 29. Perdita o numero di alberi decisionale.

 

Livelli di accuratezza della convalida e di convalida della convalida rispetto al numero di alberi di decisione. L'accuratezza dell'addestramento aumenta gradualmente all'aumentare del numero di alberi decisionali, raggiungendo un picco di quasi 1,0 su 400 alberi decisionale. L'accuratezza della convalida aumenta a circa 0,86 in 40 alberi decisionale, quindi gradualmente scende a circa 0,83 in 400 alberi decisionale.

Figura 30. Precisione e numero di alberi decisionale.

 

I parametri di regolazione più comuni per gli alberi con intensità di gradiente includono:

  • La profondità massima dell'albero.
  • L'aliquota del ritiro.
  • Il rapporto tra gli attributi testati per ciascun nodo.
  • Coordinamento L1 e L2 della perdita.

Tenete presente che gli alberi decisionale in genere crescono molto meno rispetto ai modelli forestali casuali. Per impostazione predefinita, gli alberi con incrementi in gradiente in TF-DF vengono cresciuti fino a 6. Poiché gli alberi sono poco superficiali, il numero minimo di esempi per foglia ha un impatto minimo e in genere non è ottimizzato.

La necessità di un set di dati di convalida è un problema quando il numero di esempi di addestramento è basso. Pertanto, è normale addestrare alberi con gradiente graduato all'interno di un ciclo di convalida incrociata o disabilitare l'interruzione anticipata quando è noto che il modello non si sovraccarica.

Esempio di utilizzo

Nel capitolo precedente abbiamo addestrato una foresta casuale su un piccolo set di dati. In questo esempio, sostituiremo semplicemente il modello della foresta casuale con un modello di alberi con gradiente potenziato:

model = tfdf.keras.GradientBoostedTreesModel()

# Part of the training dataset will be used as validation (and removed
# from training).
model.fit(tf_train_dataset)

# The user provides the validation dataset.
model.fit(tf_train_dataset, validation_data=tf_valid_dataset)

# Disable early stopping and the validation dataset. All the examples are
# used for training.
model.fit(
   tf_train_dataset,
   validation_ratio=0.0,
   early_stopping="NONE")
# Note: When "validation_ratio=0", early stopping is automatically disabled,
# so early_stopping="NONE" is redundant here.

Utilizzo e limitazioni

Gli alberi con sfumatura sfumata hanno alcuni pro e contro.

Pro

  • Analogamente agli alberi decisionale, supportano in modo nativo le funzionalità numeriche e di categoria e spesso non richiedono la pre-elaborazione delle funzionalità.
  • Gli alberi potenziati sfumati hanno iperparametri predefiniti che spesso forniscono ottimi risultati. Tuttavia, ottimizzare questi iperparametri può migliorare notevolmente il modello.
  • I modelli ad albero con aumento graduato sono in genere piccoli (in numero di nodi e in memoria) e veloci da eseguire (spesso solo uno o pochi μs / esempi).

Contro

  • Gli alberi decisionale devono essere addestrati in sequenza, il che può rallentare notevolmente l'addestramento. Tuttavia, il rallentamento dell'addestramento è leggermente compensato dagli alberi da decisione più piccoli.
  • Al pari delle foreste casuali, gli alberi con gradiente non possono imparare e riutilizzare le rappresentazioni interne. Ogni albero decisionale (e ciascun ramo di ogni albero decisionale) deve imparare di nuovo il pattern del set di dati. In alcuni set di dati, in particolare quelli con dati non strutturati (ad esempio, immagini e testo), questo provoca la visualizzazione di risultati più scarsi di altri rami graduali.