Що таке регуляризація простою англійською мовою?


74

На відміну від інших статей, я визнав, що цей текст у Вікіпедії для цієї теми не читається для людини, яка не має математики (як я).

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

Чи можете ви описати простий метод регуляризації?

Мене цікавить контекст аналізу статистичних торгових систем. Було б чудово, якби ви могли описати, чи / як я можу застосувати регуляризацію для аналізу наступних двох прогнозних моделей:

Модель 1 - ціна зростає, коли:

  • exp_moving_avg (ціна, період = 50)> exp_moving_avg (ціна, період = 200)

Модель 2 - ціна зростає, коли:

  • ціна [n] <ціна [n-1] 10 разів поспіль
  • exp_moving_avg (ціна, період = 200) зростає

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


7
Прикладом може служити регресія хребта, яка представляє собою OLS з обмеженою сумою коефіцієнтів квадрата. Це внесе зміщення в модель, але зменшить дисперсію коефіцієнтів, іноді суттєво. LASSO - це ще один споріднений метод, але він ставить обмеження L1 щодо розміру коефіцієнтів. Він має перевагу падіння коефіцієнтів. Це корисно для ситуацій p >> n Регуляризація, певним чином, означає "скорочення" моделі, щоб уникнути перенапруги (і зменшити дисперсію коефіцієнтів), що, як правило, покращує прогнозовані показники моделі.
HairyBeast

2
@HairyBeast Ви можете залишити свій приємний коментар як відповідь. Якщо можливо, спробуйте додати наочний приклад, щоб ОП змогла зрозуміти, як це переходить до проблеми, що існує.
chl

1
@HairyBeast, тож чи можу я сказати, що регуляризація - це лише метод для реалізації ідеї компромісного зміщення ?
авокадо

Я вважаю це відео дуже корисним, особливо для візуалізації різних форм регуляризації Lp: youtube.com/watch?v=sO4ZirJh9ds
Anm

Регуляризація призначена для вирішення питання про надбавку у вивченій моделі. Намагався пояснити простою англійською та візуально. Далі йде посилання на статтю medium.com/@vamsi149/…
solver149

Відповіді:


57

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

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

Для регуляризації вам потрібно 2 речі:

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

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

Альтернативою використанню (перехресного) перевірки валідації є використання Байєсових Пріорів або інших методів для покарання складності або негладкості, але вони вимагають більшої статистичної складності та знання проблеми та особливостей моделі.


2
+1 від мене. Мені подобається, що ця відповідь починається на початку і її так легко зрозуміти ...
Андрій

2
Чи регуляризація справді коли-небудь застосовується для зменшення недостатньої кількості? На мій досвід, регуляризація застосовується на складній / чутливій моделі для зменшення складності / чутливості, але ніколи на простій / нечутливій моделі для підвищення складності / чутливості.
Річард Харді

Ця відповідь зараз досить стара, але я припускаю, що Тобі мав на увазі, що регуляризація - це принциповий спосіб підходити до моделі відповідної складності, враховуючи кількість даних; це альтернатива як вибору апріорної моделі з занадто малою кількістю параметрів (або неправильних), а також вибору занадто складної та надмірно зручної моделі.
Брайан Крауз

26

Припустимо, ви здійснюєте навчання за допомогою емпіричного мінімізації ризиків.

Точніше:

  • L(actual value, predicted value)
  • Ви хочете підходити до своєї моделі таким чином, щоб її прогнози мінімізували середнє значення втрат, розраховане лише на дані тренувань (єдині дані, які у вас є)

Model=argminL(actual,predicted(Model))

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

Model=argminL(actual,predicted(Model))+λR(Model)

R(Model)RRR

Ra¯


12

Простіше кажучи, регуляризація - це користь для рішень, які ви очікуєте отримати. Як ви вже згадували, наприклад, ви можете скористатися "простими" рішеннями для певного визначення простоти. Якщо у вашій проблемі є правила, на одне визначення може бути менше правил. Але це залежить від проблеми.

Однак ви ставите правильне запитання. Наприклад, у підтримці векторних машин ця "простота" випливає з розриву зв'язків у напрямку "максимального запасу". Цей запас - це те, що можна чітко визначити з точки зору проблеми. У статті SVM у Вікіпедії є дуже гарна геометрична деривація . Виявляється, термін регуляризації - це, мабуть, «секретний соус» СВМ.

Як робити регуляризацію? Загалом, це стосується методу, який ви використовуєте, якщо ви використовуєте SVM, ви робите регуляризацію L2, якщо ви використовуєте LASSO, ви здійснюєте регуляризацію L1 (дивіться, що говорить Hairybeast). Однак, якщо ви розробляєте свій власний метод, вам потрібно знати, як розповісти бажані рішення від небажаних, і мати функцію, яка це оцінює. Зрештою, у вас буде термін витрат і термін регуляризації, і ви хочете оптимізувати суму обох.


1

Методи регуляризації - це прийоми, застосовані до моделей машинного навчання, які роблять більш прийнятним рішення / обмеження моделі. Ці прийоми допомагають запобігти перенапруження.

C


0

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

Перевищення розмірів дозволяє уникнути обмеження абсолютного значення параметрів у моделі. Це можна зробити, додавши до функції витрат термін, який накладає штраф на основі величини параметрів моделі. Якщо величина вимірюється в нормі L1, це називається "регуляризація L1" (і, як правило, призводить до розріджених моделей), якщо вона вимірюється в нормі L2, це називається "регуляризація L2" тощо.

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