XGBoost: come il deep learning può sostituire il gradient boosting e gli alberi decisionali – Parte 2: formazione |  di Saupin Guillaume |  Settembre 2023

 | Intelligenza-Artificiale

fotografato da Simone Wilkes SU Unsplash

In un articolo precedente:

hai imparato a riscrivere gli alberi decisionali utilizzando un approccio di Programmazione Differenziabile, come suggerito dal documento NODE. L’idea di questo articolo è quella di sostituire XGBoost con una rete neurale.

Più nello specifico, dopo aver spiegato perché il processo di costruzione degli Alberi Decisionali non è differenziabile, ha introdotto gli strumenti matematici necessari per regolarizzare i due elementi principali associati ad un nodo decisionale:

  • Selezione delle funzionalità
  • Rilevamento dei rami

Il documento NODE mostra che entrambi possono essere gestiti utilizzando la funzione entmax.

Per riassumere, abbiamo mostrato come creare un albero binario senza utilizzare gli operatori di confronto.

L’articolo precedente si concludeva con domande aperte riguardanti la formazione di un albero decisionale regolarizzato. È tempo di rispondere a queste domande.

Se sei interessato ad un approfondimento sui metodi di potenziamento del gradiente, dai un’occhiata al mio libro:

Innanzitutto, in base a quanto presentato nell’articolo precedente, creiamo una nuova classe Python: SmoothBinaryNode .

Questa classe codifica il comportamento di un nodo binario regolare. Ci sono due parti fondamentali nel suo codice:

  • La selezione delle funzionalità, gestita dalla funzione _choices
  • La valutazione di tali caratteristiche, rispetto ad una determinata soglia, e l’individuazione del percorso da seguire: left O right . Tutto questo è gestito dai metodi left E right .

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *