Я пытался понять, как Lightgbm безрукий L1 проигрывает (MAE, MAPE, HUBER)
Согласно этой статье , выигрыш во время разделения должен зависеть только от первого и вторые производные функции потерь. Это связано с тем, что Lightgbm использует приближение второго порядка к функции потерь, и, следовательно, мы можем аппроксимировать потери следующим образом
Для потерь L1 тем не менее, абсолютное значение градиента потерь является постоянным и его гессианом 0. Я также читал, что для решения этой проблемы для функций потерь с гессианом = 0 мы должны использовать 1 в качестве гессиана :
"Для этих целевых функций с first_order_gradient константа, LightGBM имеет специальную обработку для них: (...) он будет использовать постоянный градиент для обучения древовидной структуре, но использовать остаток для расчет выходных данных листа с функцией процентиля, например, 50% для MAE. Это решение от sklearn, и доказано, что оно работает во многих тестах. "
Однако, даже использование константы гессиана не дает смысл для меня: если, например, при использовании MAE градиент является признаком ошибки, квадратный градиент не дает нам информацию. Означает ли это, что когда градиент постоянен, LightGbm не использует приближение второго порядка и по умолчанию использует традиционное усиление градиента?
С другой стороны, когда вы читаете о том, как GOSS повышает оригинальную бумагу lightgbm
для GOSS Повышая стратегию, авторы рассматривают квадрат суммы градиентов. Я вижу ту же проблему, что и выше: если градиент MAE является признаком ошибки, то как при взятии квадрата градиента отражается усиление? Означает ли это, что GOSS также не будет работать с функциями потерь с постоянным градиентом?
Заранее спасибо,