Підвищення градієнта для лінійної регресії - чому це не працює?


35

Дізнаючись про Gradient Boosting, я не чув про обмеження щодо властивостей "слабкого класифікатора", який метод використовує для побудови та ансамблю моделі. Однак я не міг уявити додаток ГБ, що використовує лінійну регресію, і насправді, коли я виконував деякі тести - це не працює. Я випробовував найбільш стандартний підхід з градієнтом суми квадратних залишків і додав наступні моделі разом.

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

Я також думав про зниження рівня навчання або використання лише підмножини прогнозів для кожної ітерації, але це все одно може бути підсумоване до єдиного представлення моделі, в кінцевому підсумку, тому я думаю, що це не принесе жодного покращення.

Що я тут пропускаю? Чи лінійна регресія якось недоцільна для використання з градієнтним підвищенням? Це тому, що лінійна регресія використовує суму квадратичних залишків як функцію втрат? Чи є якісь обмеження для слабких прогнозів, щоб їх можна було застосувати до підвищення рівня градієнта?


Інтуїтивно я схильний вважати, що вам не слід використовувати класифікатори, оскільки сума їх є однотипним класифікатором. наприклад сума лінійних функцій є лінійною функцією.
користувач18764

Я знаю, що це по-старому, але я розумію, що прискорений крок мінімізує функцію втрат між поточними рештками та базовим курсом (що у вашому випадку є лінійним регресом), помножене на швидкість навчання. Отже, хоча базовий учень мінімізує 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/…
Haitao 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

A reason for this is that by construction the residual vector e from the initial regression is orthogonal to the X Space i. e. y^ is a orthogonal projection from y onto the X space (you'll find nice pictures visualizing this in the literature).

This means the simple approach of fitting a regression and then fitting a new regression on the residuals from the first regression will not result in anything senseful because X is entirely uncorrelated with e.

I write this because you said there is not really a new line to fit which corresponds to the derivations above.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.