Regularization Algorithms
Оновлено: 31.07.2023
Термін регуляризація в контексті машинного навчання означає набір стратегій, які допомагають машині вчитися більше, ніж просто запам'ятовувати.
Коли ви навчаєте модель машинного навчання, і вона видає правильні результати на навчальних даних, але не на невідомих даних або тестовому наборі даних, ви можете стверджувати, що ваша модель запам'ятовує, а не узагальнює.
Уявімо, що ви проводите класифікацію котів та собак, і ваша навчена модель досягає 98% точності на навчальних даних, але лише 82% точності на тестових даних - ваша модель швидше запам'ятовує, ніж узагальнює.
Розглянемо приклад з реального життя. Припустимо, що корпорація електронної комерції хоче створити модель для прогнозування того, чи купить користувач продукт на основі його історії використання за попередні сім днів, а потім використовувати ці дані для прийняття кращих рішень щодо ретаргетованої цифрової реклами. Кількість переглянутих сторінок, загальний витрачений час, кількість проведених пошукових запитів, середній витрачений час, повторні відвідування сторінок та інша інформація може бути включена в історію користувача.
Вони створюють модель, яка дає правильні результати на поточних даних, але коли вони намагаються прогнозувати, використовуючи невідомі дані, вона з тріском провалюється. З цього можна зробити висновок, що підхід фокусується на пам'яті, а не на навчанні.
Отже, що саме відбувається у наведених вище випадках? Одна з основних можливостей полягає в тому, що модель має проблему надмірного пристосування, що призводить до поганої роботи на даних, які не спостерігалися. Отже, замість того, щоб вчитися, ви просто запам'ятовуєте.
- Узагальнюючи, якщо метрики оцінки вашої моделі для навчальних і тестових наборів даних значно розходяться, вважається, що вона має проблему надмірного припасування.
Регуляризація
Регуляризація відноситься до ряду стратегій для впорядкування навчання на основі специфічних характеристик у класичних алгоритмах або нейронів у нейромережевих алгоритмах.
Він нормалізує і пом'якшує ваги, пов'язані з ознакою або нейроном, щоб алгоритми не залежали від невеликої кількості ознак або нейронів для прогнозування результату. Цей метод допомагає уникнути проблеми надмірного пристосування.
- Цей метод зменшує обчислювальні витрати на складну модель, перетворюючи її на простішу, щоб уникнути надмірної підгонки.
Алгоритми регуляризації
- Грязьова регресія - Призначена для подолання таких проблем, як надмірна підгонка даних та мультиколінеарність даних. Коли існує значна колінеарність (існування близьких до лінійних зв'язків між незалежними змінними) між змінними ознак, типова лінійна або поліноміальна регресійна модель не спрацьовує. Гребенева регресія коригує змінні за допомогою скромного квадратичного коефіцієнта зсуву. Коефіцієнти змінних ознак виводяться з цієї жорсткості за допомогою такого квадратичного коефіцієнта зсуву, що вносить невелику похибку в модель, але значно зменшує варіацію.
Ридж - чудовий спосіб запобігти надмірному припасуванню.
Використовуйте регуляризацію для вирішення проблеми надмірної підгонки та вибору ознак, якщо у вас є модель з великою кількістю ознак у наборі даних і ви не хочете, щоб модель була занадто складною.
Однак, у хребта є один суттєвий недолік: фінальна модель має всі N характеристик.
Гребенева регресія зменшує обидва коефіцієнти один до одного, коли змінні сильно пов'язані між собою. Лассо розривається між ними і віддає перевагу одному з них.
Ніхто не знає, яку змінну буде обрано в залежності від ситуації. Еластична сітка - це гібрид цих двох методів, який намагається стискатися, але при цьому зберігає розріджений відбір.
- LASSO - просто карає за великі коефіцієнти, на відміну від Ridge Regression. Коли гіперпараметр досить великий, Lasso призводить до того, що деякі оцінки коефіцієнтів стають абсолютно нульовими. В результаті Lasso проводить відбір змінних, що призводить до моделей, які значно легше читати, ніж моделі Ridge Regression. Коротше кажучи, мова йде про зменшення варіабельності та підвищення точності лінійних регресійних моделей.
Якщо у нас є велика кількість функцій, LASSO ефективно працює для відбору функцій.
Він зводить коефіцієнти до нуля, і якщо набір предикторів сильно пов'язаний, ласо вибирає один, а інші зводить до нуля.