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


19

Параметр швидкості навчання ( ) у Gradient Boosting скорочує внесок кожної нової базової моделі - типово неглибокого дерева -, яка додається у серії. Було показано, що різко підвищити точність тестового набору, що зрозуміло, оскільки при менших кроках мінімум функції втрат можна досягти більш точно. ν[0,1]

Я не розумію, чому рівень навчання вважається параметром регуляризації ? Посилаючись на елементи статистичного навчання , розділ 10.12.1, с.364:

Контроль кількості дерев - не єдина можлива стратегія регуляризації. Як і у випадку регресії хребта та нейронних мереж, також можуть застосовуватися методи усадки. Менші значення (більше усадки) призводить до великому ризику для навчання такого ж кількості ітерацій . Таким чином, і і контролюють прогнозування ризику на навчальних даних.νν МMνM

Регуляризація означає "спосіб уникнути перевитрати", тому зрозуміло, що кількість повторень у цьому відношенні є вирішальним ( занадто високий призводить до надмірного пристосування). Але:МMM

Менші значення (більше усадки) призводить до великому ризику для навчання такого ж кількості ітерацій .МνM

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

Відповіді:


23

Припустимо, ви намагаєтеся мінімізувати цільову функцію за допомогою кількості ітерацій. А поточне значення - . У даному наборі даних немає "невідмінних помилок", і ви можете мінімізувати втрати до для своїх навчальних даних. Тепер у вас є два способи це зробити.0,0100.00.0

  • Перший спосіб - «велика швидкість навчання» і мало ітерацій. Припустимо, ви можете зменшити втрати на за кожну ітерацію, тоді за ітерацій ви можете зменшити втрати до .10 0,010.0100.0

  • Другий спосіб - це "повільна швидкість навчання", але більше ітерацій. Припустимо, ви можете зменшити втрати на за кожну ітерацію, і вам потрібно ітерацій, щоб мати 0,0 втрати на ваших навчальних даних.1001.0100

А тепер подумайте над тим: чи рівні два підходи? і якщо ні, що краще в контексті оптимізації та контексту машинного навчання ?

В оптимізаційній літературі два підходи однакові. Оскільки вони обидві сходяться до оптимального рішення . З іншого боку, в машинному навчанні вони не рівні. Тому що в більшості випадків ми не робимо втрати в тренуванні встановленими на що спричинить перенапруження.0

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

Для запобігання надмірної підгонки ми можемо робити різні речі. Першим способом було б обмеження кількості ітерацій. Припустимо, ми використовуємо перший підхід, обмежуємо кількість ітерацій рівним 5. Зрештою, втрата для навчальних даних становить . (BTW, це було б дуже дивно з точки зору оптимізації , це означає, що ми можемо в майбутньому вдосконалити наше рішення / воно не конвергується, але ми вирішили цього не робити. В процесі оптимізації ми зазвичай явно додаємо обмеження або умови пеналізації до цільової функції, але зазвичай не обмежуйте кількість ітерацій.)50

З іншого боку, ми також можемо використовувати другий підхід: якщо ми встановимо, що швидкість навчання буде невеликою, скажімо, зменшить втрату на за кожну ітерацію, хоча у нас є велика кількість ітерацій, наприклад, ітерацій, ми все ще не звели втрати до .500 0,00.15000.0

Ось чому невелика швидкість навчання на зразок дорівнює "більшості регуляризацій".

Ось приклад використання різної швидкості навчання на експериментальних даних із використанням xgboost. Перевірте два посилання, щоб побачити, що означає etaта що n_iterationsозначає.

Параметри для підсилювача дерева

Набір XGBoost Control

За однакової кількості повторень скажімо . Невелика ступінь навчання - "недостатня відповідність" (або модель має "високу упередженість"), а велика швидкість навчання - "надмірна відповідність" (або модель має "велику дисперсію").50

Приклад зміни швидкості навчання ETA в моделі XGBoost

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


Ви маєте на увазі, що з низькою швидкістю навчання вам дозволяється більше ітератувати (вдосконалити пошук), ніж з високим рівнем навчання, за ті ж втрати? Я думаю, що я розумію, що ви намагаєтеся передати, але більш жорсткі пояснення та / або наочний приклад не зашкодили б.
Антуан

Дякую. Чи можете ви оновити свої посилання? Вони не працюють для мене
Антуан

Використовувати більшу швидкість навчання завжди краще, якщо ви не збільшуєте помилку навчання в наступних ітераціях. Регуляризація, на яку ви посилаєтесь, (зміщення проти відхилення), пов'язана з помилкою навчання / перевірки, а не швидкістю навчання. Незалежно від того, чи використовуєте ви велику чи малу швидкість навчання, якщо ви досягаєте 0,0 помилки навчання, то ви занадто сильно підходите. Якщо ви використовуєте більшу швидкість навчання, тоді вам слід припинити оптимізацію раніше, щоб запобігти перевитраті. Ви можете використовувати набір перевірки, щоб побачити, чи збільшується ваша помилка перевірки, коли ви припиняєте навчання.
Цікаво

або я можу чогось
Цікаво,

This is why small learning rate is sort of equal to "more regularizations". Згідно з цим документом, чим більша швидкість навчання, тим більше регуляризація: Суперконвергенція: Дуже швидке навчання нейронних мереж за допомогою великих курсів навчання
Антуан

2

Методом Ньютона ви оновлюєте свої параметри, віднімаючи градієнт втрат, поділений на кривизну втрати. При оптимізації спуску градієнта ви оновлюєте свої параметри, віднімаючи градієнт втрат, кратних за рівень навчання. Іншими словами, взаємна швидкість навчання використовується замість реальної кривизни втрат.

Давайте визначимо втрату проблеми як втрату, яка визначає, що є хорошою моделлю порівняно з поганою. Це справжня втрата. Давайте визначимо оптимізовану втрату такою, яку насправді мінімізують ваші правила оновлення.

За визначенням, параметром регуляризації є будь-який термін, який знаходиться в оптимізованому збитку, але не втрата проблеми. Оскільки швидкість навчання діє як додатковий квадратичний термін в оптимізованому збитку, але не має нічого спільного з втратою проблеми, це параметр регуляризації.

Іншими прикладами регуляризації, які виправдовують цю перспективу, є:

  • Зниження ваги, що є додатковим терміном в оптимізованих втратах, що штрафує великі ваги,
  • терміни, які штрафують складні моделі, і
  • терміни, що карають співвідношення між ознаками.

- Я не розумію In other words, the reciprocal of the learning rate is used in place of the real loss curvature. - Я не фахівець в предметній області , і це перший раз , коли я бачу визначення: a regularization parameter is any term that is in the optimized loss, but not the problem loss. Я теж не дуже це розумію. Чи можете ви надати відповідну довідку? Заздалегідь дякую
Антуан

@Antoine Я не можу надати посилання. Це просто мій досвід, який я намагався обґрунтувати, використовуючи ще три приклади. Що стосується швидкості навчання, що сидить замість зворотної кривизни втрат, то ви можете побачити, що якщо випишете метод Ньютона і правила поновлення градієнта оновлюються поряд.
Ніл G
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.