Alberi decisionali: attraversamento di alberi saggio (il migliore per primo) e saggio di livello


14

Numero 1:

Sono confuso dalla descrizione di LightGBM riguardo al modo in cui l'albero viene espanso.

Dichiarano:

La maggior parte degli algoritmi di apprendimento dell'albero decisionale cresce l'albero per livello (profondità) in senso orizzontale, come nella seguente immagine:

inserisci qui la descrizione dell'immagine

Domande 1 : quali sono gli algoritmi "più" implementati in questo modo? Per quanto ne so C4.5 e CART usano DFS. XGBoost utilizza BFS. Quali altri algoritmi o pacchetti usano BFS per alberi decisionali?

Numero 2:

LightGBM afferma:

LightGBM fa crescere l'albero per quanto riguarda le foglie (il migliore per primo). Sceglierà la foglia con la massima perdita di delta da coltivare. Quando si coltiva la stessa foglia, l'algoritmo fogliare può ridurre più perdite rispetto all'algoritmo livello-saggio.

inserisci qui la descrizione dell'immagine

Domanda 2 : È corretto affermare che gli alberi a crescita saggia avranno la stessa profondità per tutte le foglie?

Domande 3: Se la domanda 2 non è corretta, gli alberi dalla crescita saggia e sinuosa appariranno uguali alla fine della traversata (senza potatura ecc.). È un'affermazione corretta?

Domande 4: Se la domanda 3 è corretta, come può "l'algoritmo fogliare può ridurre più perdite dell'algoritmo livello-saggio"? Ha a che fare con l'algoritmo post-potatura?

Risposte:


11

Se coltivi l'albero intero, il migliore (primo per foglia) e il primo per profondità (per livello) produrrà lo stesso albero. La differenza sta nell'ordine in cui l'albero viene espanso. Dal momento che normalmente non coltiviamo alberi alla massima profondità, l'ordine conta: l'applicazione di criteri di arresto precoce e metodi di potatura può comportare alberi molto diversi. Poiché il saggio delle foglie sceglie le suddivisioni in base al loro contributo alla perdita globale e non solo alla perdita lungo un determinato ramo, spesso (non sempre) imparerà gli alberi di errore inferiore "più velocemente" rispetto al livello. Vale a dire per un piccolo numero di nodi, in termini di foglia probabilmente supererà le prestazioni in termini di livello. Man mano che aggiungi più nodi, senza arrestarsi o potare convergeranno alle stesse prestazioni perché alla fine costruiranno letteralmente lo stesso albero.

Riferimento:

Shi, H. (2007). Best-first Decision Tree Learning (Thesis, Master of Science (MSc)). L'Università di Waikato, Hamilton, Nuova Zelanda. Estratto da https://hdl.handle.net/10289/2317


EDIT: per quanto riguarda la tua prima domanda, sia C4.5 che CART sono esempi di approfondimento, non il migliore. Ecco alcuni contenuti rilevanti dal riferimento sopra:

1.2.1 Alberi decisionali standard

Algoritmi standard come C4.5 (Quinlan, 1993) e CART (Breiman et al., 1984) per l'induzione top-down degli alberi delle decisioni espandono i nodi in ordine di profondità in ogni fase usando la strategia di divisione e conquista. Normalmente, su ciascun nodo di un albero decisionale, il test coinvolge solo un singolo attributo e il valore dell'attributo viene confrontato con una costante. L'idea di base degli alberi decisionali standard è che, in primo luogo, selezionare un attributo da posizionare nel nodo radice e creare alcuni rami per questo attributo in base ad alcuni criteri (ad es. Informazioni o indice Gini). Quindi, dividere le istanze di addestramento in sottoinsiemi, una per ciascun ramo che si estende dal nodo principale. Il numero di sottoinsiemi è uguale al numero di rami. Quindi, questo passaggio viene ripetuto per un ramo scelto, utilizzando solo quelle istanze che lo raggiungono effettivamente. Un ordine fisso viene utilizzato per espandere i nodi (normalmente, da sinistra a destra). Se in qualsiasi momento tutte le istanze di un nodo hanno la stessa etichetta di classe, nota come nodo puro, la divisione si interrompe e il nodo viene trasformato in un nodo terminale. Questo processo di costruzione continua fino a quando tutti i nodi sono puri. Segue quindi un processo di potatura per ridurre i sovradimensionamenti (vedere la Sezione 1.3).

1.2.2 I migliori alberi decisionali

Un'altra possibilità, che finora sembra essere stata valutata solo nel contesto di algoritmi di potenziamento (Friedman et al., 2000), è quella di espandere i nodi nel miglior ordine al posto di un ordine fisso. Questo metodo aggiunge il nodo migliore "migliore" alla struttura ad ogni passaggio. Il nodo "migliore" è il nodo che riduce al massimo l'impurità tra tutti i nodi disponibili per la divisione (ovvero non etichettati come nodi terminali). Sebbene ciò comporti lo stesso albero completamente sviluppato della prima espansione di profondità standard, ci consente di studiare nuovi metodi di potatura degli alberi che utilizzano la convalida incrociata per selezionare il numero di espansioni. Sia la pre-potatura che la post-potatura possono essere eseguite in questo modo, il che consente un confronto equo tra loro (vedere Sezione 1.3).

Gli alberi decisionali migliori per primi sono costruiti in modo da dividere e conquistare in modo simile agli alberi decisionali standard per primi in profondità. L'idea di base su come viene costruito un albero migliore è la seguente. Innanzitutto, selezionare un attributo da posizionare nel nodo principale e creare alcuni rami per questo attributo in base ad alcuni criteri. Quindi, dividere le istanze di addestramento in sottoinsiemi, una per ciascun ramo che si estende dal nodo principale. In questa tesi vengono considerati solo gli alberi delle decisioni binarie e quindi il numero di rami è esattamente due. Quindi, questo passaggio viene ripetuto per un ramo scelto, utilizzando solo quelle istanze che lo raggiungono effettivamente. In ogni passaggio scegliamo il sottoinsieme "migliore" tra tutti i sottoinsiemi disponibili per le espansioni. Questo processo di costruzione continua fino a quando tutti i nodi sono puri o viene raggiunto un numero specifico di espansioni. Figura 1. 1 mostra la differenza nell'ordine di divisione tra un ipotetico albero binario best-first e un ipotetico albero binario profondità-first. Si noti che altri ordini possono essere scelti per il primo albero migliore mentre l'ordine è sempre lo stesso nel primo caso di profondità.


Puoi rispondere anche alla prima domanda?
Jekaterina Kokatjuhha,

Aggiornato la mia risposta. La versione breve è che sia C4.5 che CART sono esempi di profondità in primo luogo, non in primis.
David Marx,

La mia prima domanda non riguardava la definizione o la spiegazione di best-first o DFS. E mi sono dichiarato che C4.5 e CART sono DFS. La prima domanda riguardava "Quali" la maggior parte "degli algoritmi sono implementati dal punto di vista del livello? [...] Quali altri algoritmi o pacchetti usano BFS per gli alberi delle decisioni?"
Jekaterina Kokatjuhha,

1
La crescita degli alberi "in profondità" è saggia. Questo è quello che stavo cercando di dirti. Leggi il brano che ho evidenziato per te. Non confondere DFS e BFS traversali del grafico qui con la crescita dell'albero "Depth first" e "best first". Non sono la stessa cosa e la prima crescita approfondita si riferisce a ciò che stai chiamando "BFS", non a "DFS".
David Marx,

Questo era il punto critico che mi mancava tutto il tempo. Grazie.
Jekaterina Kokatjuhha,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.