Повышение градиента для линейной регрессии - почему это не работает?


35

При изучении Gradient Boosting я не слышал о каких-либо ограничениях в отношении свойств «слабого классификатора», который метод использует для построения и ансамбля модели. Однако я не мог представить себе применение ГБ, которое использует линейную регрессию, и на самом деле, когда я выполнил некоторые тесты - это не работает. Я тестировал самый стандартный подход с градиентом суммы квадратов невязок и складывал последующие модели вместе.

Очевидная проблема заключается в том, что остатки из первой модели заполняются таким образом, что на самом деле нет никакой линии регрессии, которая бы подходила больше. Мое другое наблюдение состоит в том, что сумма последующих моделей линейной регрессии также может быть представлена ​​в виде одной модели регрессии (с добавлением всех перехватов и соответствующих коэффициентов), поэтому я не могу представить, как это могло бы улучшить модель. Последнее наблюдение состоит в том, что линейная регрессия (наиболее типичный подход) использует сумму квадратов невязок в качестве функции потерь - ту же, что используется в GB.

Я также думал о снижении скорости обучения или использовании только подмножества предикторов для каждой итерации, но в конечном итоге это можно было бы суммировать с одним представлением модели, поэтому я думаю, что это не принесет никаких улучшений.

Что мне здесь не хватает? Является ли линейная регрессия как-то неподходящей для использования с градиентным ускорением? Это потому, что линейная регрессия использует сумму квадратов невязок в качестве функции потерь? Существуют ли какие-то конкретные ограничения на слабые предикторы, чтобы их можно было применять для повышения градиента?


Интуитивно я склонен думать, что вы не должны использовать классификаторы, если их сумма равна классификатору того же типа. Например, сумма линейных функций является линейной функцией.
user18764

Я знаю, что это старо, но я понимаю, что шаг повышения сводит к минимуму функцию потерь между текущими остатками и базовым обучаемым (что в вашем случае представляет собой линейный регресс), умноженную на скорость обучения. Таким образом, хотя базовый ученик минимизирует mse, функция потерь, используемая бустером, может быть той же MAPE?
Дэвид Уотерворт

Ответы:


35

Что мне здесь не хватает?

Я не думаю, что вы действительно ничего не упустили!

Другое наблюдение состоит в том, что сумма последующих моделей линейной регрессии также может быть представлена ​​в виде одной модели регрессии (с добавлением всех перехватов и соответствующих коэффициентов), поэтому я не могу представить, как это могло бы улучшить модель. Последнее наблюдение состоит в том, что линейная регрессия (наиболее типичный подход) использует сумму квадратов невязок в качестве функции потерь - ту же, что используется в GB.

Сдается мне, что вы тут же это сделали и дали краткий набросок доказательства того, что линейная регрессия в этом случае лучше, чем ускорение линейных регрессий.

Чтобы быть педантичным, оба метода пытаются решить следующую проблему оптимизации

β^=argminβ(yXβ)t(yXβ)

Линейная регрессия просто замечает, что вы можете решить ее напрямую, найдя решение линейного уравнения

XtXβ=Xty

β

β1,β2,

Xβ1+Xβ2++Xβn=X(β1+β2++βn)

Каждый из этих шагов выбирается для дальнейшего уменьшения суммы квадратов ошибок. Но мы могли бы найти минимально возможную сумму квадратичных ошибок в этой функциональной форме, просто выполнив сначала полную линейную регрессию.

Возможной защитой усиления в этой ситуации может быть неявная регуляризация, которую она обеспечивает. Возможно (я не играл с этим), вы могли бы использовать функцию раннего останова усилителя градиента, наряду с перекрестной проверкой, чтобы не допустить полной линейной регрессии. Это обеспечит регуляризацию вашей регрессии и, возможно, поможет с переоснащением. Это не особенно практично, так как в этом случае есть очень эффективные и хорошо понятные варианты, такие как регрессия гребня и эластичная сетка.

Усиление сияет, когда вокруг нет краткой функциональной формы. Расширение деревьев решений позволяет медленной эволюции функциональной формы регрессора / классификатора в соответствии с данными, что часто приводит к сложным формам, которые невозможно было придумать руками и глазами. При простой функциональной форме является желательно, ревакцинацией не собираюсь , чтобы помочь вам найти его (или , по крайней мере, вероятно , является довольно неэффективным способом его найти).


2
β

Это очень хороший и четкий ответ. Спасибо за подтверждение / объяснение Мэтью!
Матек

«Усиление сияет, когда вокруг нет краткой функциональной формы», - вот ответ, который я ищу. Итак, просто хочу подтвердить, вы имеете в виду, что ответ на мой вопрос - да, но никто не использует линейную модель в качестве базового ученика ?, stats.stackexchange.com/questions/231286/…
Du

5

Матрица проекции наименьших квадратов определяется как

X(XTX)1XT

y^

y^=X(XTX)1XTy

Допустим, вы подходите регрессии, а затем вычисляете свои остатки

e=yy^=yX(XTX)1XTy

y^2

y^2=X(XTX)1XTe=X(XTX)1XT(yX(XTX)1XTy)=X(XTX)1XTyX(XTX)1XTX(XTX)1XTy=X(XTX)1XTyX(XTX)1XTy=0

y^

Это означает, что простой подход подгонки регрессии, а затем подгонки новой регрессии к остаткам от первой регрессии не приведет к чему-либо осмысленному, поскольку X совершенно не коррелирует с e.

Я пишу это, потому что вы сказали, что на самом деле нет новой строки, которая соответствовала бы приведенным выше выводам.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.