Spiegazione di min_child_weight nell'algoritmo xgboost


23

La definizione del parametro min_child_weight in xgboost è data come:

somma minima del peso dell'istanza (hessiana) necessaria in un bambino. Se il passaggio della partizione dell'albero risulta in un nodo foglia con la somma del peso dell'istanza inferiore a min_child_weight, il processo di costruzione rinuncerà a un ulteriore partizionamento. In modalità di regressione lineare, ciò corrisponde semplicemente al numero minimo di istanze necessarie per trovarsi in ciascun nodo. Più grande è l'algoritmo più conservativo.

Ho letto alcune cose su xgboost, incluso il documento originale (vedi la formula 8 e quella subito dopo l'equazione 9), questa domanda e molte cose da fare con xgboost che appaiono nelle prime pagine di una ricerca su Google. ;)

Fondamentalmente non sono ancora felice del motivo per cui stiamo imponendo un vincolo sulla somma dell'Assia? Il mio unico pensiero al momento dal documento originale è che si riferisce alla sezione di schizzo quantile ponderata (e alla riformulazione a partire dall'equazione 3 perdita quadrata ponderata) che ha come 'peso' di ogni istanza.hi

Un'ulteriore domanda si riferisce al perché è semplicemente il numero di istanze in modalità di regressione lineare? Immagino che questo sia correlato alla seconda derivata dell'equazione della somma dei quadrati?

Risposte:


42

Per una regressione, la perdita di ogni punto in un nodo è

12(yiyi^)2

yi^1

Per una regressione logistica binaria, l'assia per ogni punto in un nodo conterrà termini come

σ(yi^)(1σ(yi^))

σyi^σ(yi^)

L'Assia è una cosa sana da usare per regolarizzare e limitare la profondità dell'albero. Per regressione, è facile vedere come potresti esagerare se ti dividi sempre in nodi con, diciamo, solo 1 osservazione. Allo stesso modo, per la classificazione, è facile vedere come potresti esagerare se insisti a dividere fino a quando ogni nodo è puro.


Grazie per la risposta, non posso votarti a causa della scarsa reputazione.
maw501,

1
Ciao @ maw501: nessun problema, posso. Buona risposta Hahdawg!
Catbuilt

Quindi, nel caso di dati altamente squilibrati, qual è il tuo intervallo proposto per min_child_weight?
Mahdi Baghbanzadeh,

In un set di dati non bilanciato, min_child_weight dovrebbe includere anche i pesi? Grazie! @hahdawg
HanaKaze
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.