Пояснення min_child_weight в алгоритмі xgboost


23

Визначення з min_child_weight параметра в xgboost задається як:

мінімальна сума ваги екземпляра (гессіана), необхідна дитині. Якщо на етапі розділу дерева з’явиться вузол аркуша із сумою ваги екземпляра менше min_child_weight, тоді процес побудови відмовиться від подальшого розподілу. У режимі лінійної регресії це просто відповідає мінімальній кількості екземплярів, необхідних для кожного вузла. Чим більший, тим консервативніший буде алгоритм.

Я прочитав досить багато речей про xgboost, включаючи оригінальний папір (див. Формулу 8 і той, що знаходиться відразу після рівняння 9), це питання і більшість справ, пов’язаних з xgboost, які з’являються на перших кількох сторінках пошуку в Google. ;)

В основному я все ще не задоволений, чому ми накладаємо обмеження на суму гессіана? Моя єдина думка, що випадає з оригінальної статті, - це те, що вона стосується зваженого квантильного ескізного розділу (і переформулювання за рівнянням 3 зваженого збитку в квадраті), який має hi як "вагу" кожного екземпляра.

Подальше питання стосується того, чому це просто кількість випадків у режимі лінійної регресії? Я думаю, це пов'язано з другою похідною суми рівнянь квадратів?

Відповіді:


42

Для регресії втрата кожної точки у вузлі становить

12(уi-уi^)2

Друга похідна цього виразу щодо - 1уi^1 . Отже, коли ви підсумовуєте другу похідну за всіма точками у вузлі, ви отримуєте кількість точок у вузлі. Тут min_child_weight означає щось на кшталт "перестати намагатися розділити, як тільки розмір вибірки у вузлі опуститься нижче заданого порогу".

Для двійкової логістичної регресії гесиан для кожної точки у вузлі має містити такі терміни, як

σ(уi^)(1-σ(уi^))

σyi^σ(yi^) ' будуть близько 1, тому всі гесианські терміни будуть біля 0. Подібна логіка справедлива, якщо всі приклади тренувань у вузлі - 0. Тут min_child_weight означає щось на кшталт "перестаньте намагатися розділитись, як тільки ви досягнете певного ступеня чистоти у вузлі, і ваша модель може це вмістити".

Гессіян - це розумна річ, яку слід використовувати для регуляризації та обмеження глибини дерева. Для регресії легко зрозуміти, як ви могли б переоцінити, якщо ви завжди розбиваєтесь на вузли з, скажімо, лише одним спостереженням. Аналогічно, для класифікації легко зрозуміти, як ви могли б переоцінити, якщо наполягаєте на розбитті, поки кожен вузол не стане чистим.


Дякую за відповідь, я не можу підтримати вас через низьку репутацію.
maw501

1
Привіт @ maw501: Немає проблем, можу. Гарна відповідь Гагдауг!
Catbuilts

Отже, у випадку сильно незбалансованих даних, який пропонується діапазон для мінімальної ваги?
Махді Багбанзаде

Якщо в незбалансованому наборі даних слід включати і вагу min_child_weight? Дякую! @hahdawg
HanaKaze
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.