Уникайте перевищення в регресії: альтернативи регуляризації


19

Регуляризація в регресії (лінійна, логістична ...) є найпопулярнішим способом зменшення перенапруги.

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


3
"Великі набори даних" можуть означати багато спостережень, багато змінних або обох, і відповідь може залежати від кількості спостережень та змінних.
Пер

Чому б не використовувати регуляризацію норм? Для нейронних мереж існує випадання
seanv507

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

1
Це може бути цікаво: stats.stackexchange.com/a/161592/40604
Dan

1
Щоб додати коментар Digio: регуляризація є дешевою порівняно з розфасуванням / прискоренням, але все-таки дорогою порівняно з альтернативою "без регуляризації" (див., Наприклад, цей пост Бен Рехт про те, як регуляризація робить глибоке навчання важким ). Якщо у вас є величезна кількість зразків, жодна регуляризація не може працювати набагато дешевше. Модель все ще може добре узагальнити, як вказує @ hxd1001 )
Berk U.

Відповіді:


11

Два важливих моменти, які безпосередньо не пов'язані з вашим питанням:

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

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


Тепер про ваше запитання. Як згадували Бен та Ендрю, існують деякі варіанти як альтернативи регуляризації. Я хотів би додати більше прикладів.

  • Використовуйте більш просту модель (Наприклад, зменшіть кількість прихованих одиниць в нейронній мережі. Використовуйте поліноміальне ядро ​​нижнього порядку в SVM. Зменшіть кількість гауссів у суміші Гаусса. Тощо)

  • Зупиніться на початку оптимізації. (Наприклад, зменшити епоху в навчанні нейронної мережі, зменшити кількість ітерацій оптимізації (CG, BFGS тощо)

  • Середній показник для багатьох моделей (наприклад, випадковий ліс тощо)


Дуже дякую. Другий варіант (зупинитись рано) - це те, що ми намагаємося зараз із SGD. Це працює досить добре. Ми хочемо незабаром порівняти його з регуляризацією. Вам відома будь-яка стаття, в якій згадується цей метод?
Бенуа Санчес

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

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

@BenoitSanchez Цей документ може бути доречним. Автори вирішують іншу проблему (перевиконання в обчисленні власних векторів), але стратегія боротьби з перевиконанням однакова (тобто неявна регуляризація шляхом зменшення обчислень). Стратегія полягає у вирішенні більш дешевої проблеми, яка виробляє приблизне рішення (що - я думаю - те саме, що зупинитись на початку оптимізації).
Берк У.

@BenoitSanchez я рекомендую це. Лекції Лоренцо доступні на youtube, але на цій сторінці також є посилання на кілька робіт mit.edu/~9.520/fall17/Classes/early_stopping.html
Давид Козак

14

Дві альтернативи регуляризації:

  1. Маю багато-багато спостережень
  2. Використовуйте більш просту модель

Джефф Гінтон (співавтор зворотного пропонування) одного разу розповів історію інженерів, які сказали йому (сильно перефразовуючи): "Джеффо, нам не потрібен відвал у наших глибоких мережах, оскільки у нас так багато даних". А його відповідь була: "Ну, тоді ви повинні будувати ще більш глибокі мережі, поки не переобладнаєте, а потім використовуєте відсіву". Хороша порада в сторону, ви, очевидно, можете уникнути регуляризації навіть із глибокими сітками, якщо є достатньо даних.

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


3

Деякі додаткові можливості уникнути перевитрати

  • Зменшення розмірності

    мл<<м

  • Вибір функцій (також зменшення розмірності)

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

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

    Деякі з інших відповідей також згадали про переваги методів / алгоритмів прискорення та упаковки.

  • Баєсові методи

    Додавання попереднього коефіцієнта на коефіцієнт зменшує перевитрату. Це концептуально пов'язане з регуляризацією: напр. регресія хребта - це особливий випадок максимальної оцінки після.


2

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


1
Це питання чітко задає питання про регресійні (лінійні, логістичні) моделі.
Меттью Друрі

2
Технічно кажучи лінійна та логістична регресія - це дуже прості нейронні мережі.
Андрій Лук’яненко

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

Навіть sklearn має ряд моделей, які підтримують параметр, що обмежує кількість ітерацій. Він може бути використаний для відстеження точності. Але я думаю, ви праві, що формулювання не зовсім правильне.
Андрій Лук’яненко

1

Дві думки:

  1. Я є другою стратегією "використовувати більш просту модель", запропонованою Бен Огореком .

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

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

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

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

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