Explication de min_child_weight dans l'algorithme xgboost

23

La définition du paramètre min_child_weight dans xgboost est donnée comme:

somme minimale du poids d'instance (toile de jute) nécessaire chez un enfant. Si l'étape de partition d'arborescence aboutit à un nœud feuille avec la somme du poids d'instance inférieure à min_child_weight, le processus de construction abandonnera le partitionnement. En mode de régression linéaire, cela correspond simplement au nombre minimum d'instances nécessaires pour être dans chaque nœud. Plus l'algorithme sera grand et conservateur.

J'ai lu pas mal de choses sur xgboost, y compris le document original (voir la formule 8 et celle juste après l'équation 9), cette question et la plupart des choses à faire avec xgboost qui apparaissent sur les premières pages d'une recherche google. ;)

Fondamentalement, je ne suis toujours pas content de savoir pourquoi nous imposons une contrainte sur la somme de la toile de jute? Ma seule pensée à la minute d'après l'article original est qu'elle se rapporte à la section d'esquisse quantile pondérée (et à la reformulation de l'équation 3 perte quadratique pondérée) qui a hje comme `` poids '' de chaque instance.

Une autre question concerne pourquoi il s'agit simplement du nombre d'instances en mode de régression linéaire? Je suppose que cela est lié à la dérivée seconde de la somme de l'équation des carrés?

maw501
la source

Réponses:

42

Pour une régression, la perte de chaque point d'un nœud est

12(yje-yje^)2

yje^1

Pour une régression logistique binaire, la toile de jute pour chaque point dans un nœud va contenir des termes comme

σ(yje^)(1-σ(yje^))

σyje^σ(yje^)

Le Hessian est une chose sensée à utiliser pour la régularisation et la limitation de la profondeur des arbres. Pour la régression, il est facile de voir comment vous pourriez vous sur-équiper si vous vous divisez toujours en nœuds avec, disons, une seule observation. De même, pour la classification, il est facile de voir comment vous pourriez sur-adapter si vous insistez pour diviser jusqu'à ce que chaque nœud soit pur.

hahdawg
la source
Merci pour la réponse, je ne peux pas vous voter en raison de la mauvaise réputation.
maw501
1
Salut @ maw501: Aucun problème, je peux. Bonne réponse Hahdawg!
Catbuilts
Donc, dans le cas de données très déséquilibrées, quelle est votre plage proposée pour le min_child_weight?
Mahdi Baghbanzadeh
Dans un ensemble de données déséquilibré, min_child_weight doit-il également inclure des poids? Merci! @hahdawg
HanaKaze