Вступ до пакетування в машинному навчанні
Коли зв’язок між набором змінних предикторів і змінною відповіді є лінійним, ми можемо використовувати такі методи, як множинна лінійна регресія , щоб змоделювати зв’язок між змінними.
Однак, коли зв’язок більш складний, нам часто доводиться вдаватися до нелінійних методів.
Одним із таких методів є дерева класифікації та регресії (часто скорочено CART), які використовують набір змінних предикторів для створення дерев рішень , які передбачають значення змінної відповіді.
Однак недоліком моделей CART є те, що вони, як правило, страждають від високої дисперсії . Тобто, якщо ми розділимо набір даних на дві половини та застосуємо дерево рішень до обох половин, результати можуть бути дуже різними.
Один із методів, який ми можемо використати, щоб зменшити дисперсію моделей CART, відомий як пакетування , яке іноді називають завантажувальним агрегуванням .
Що таке пакетування?
Коли ми створюємо єдине дерево рішень, ми використовуємо лише один набір навчальних даних для побудови моделі.
Однак у мішках використовується наступний метод:
1. Візьміть b початкових зразків із вихідного набору даних.
- Пам’ятайте, що завантажувальна вибірка – це вибірка з вихідного набору даних, у якій спостереження беруться із заміною.
2. Створіть дерево рішень для кожного зразка початкового завантаження.
3. Усередніть прогнози з кожного дерева, щоб отримати остаточну модель.
- Для дерев регресії ми беремо середнє значення прогнозу, зробленого деревами B.
- Для класифікаційних дерев ми беремо найпоширеніший прогноз, зроблений B -деревами.
Пакетування можна використовувати з будь-яким алгоритмом машинного навчання, але це особливо корисно для дерев рішень, оскільки вони за своєю суттю мають високу дисперсію, а пакетування здатне значно зменшити дисперсію, що призводить до зменшення помилок тестування.
Щоб застосувати пакетування до дерев прийняття рішень, ми вирощуємо окремі дерева на глибині, не обрізаючи їх. Це призводить до окремих дерев із високою дисперсією, але низьким зміщенням. Потім, коли ми беремо середні прогнози з цих дерев, ми можемо зменшити дисперсію.
На практиці оптимальна продуктивність зазвичай досягається за допомогою від 50 до 500 дерев, але можна зібрати тисячі дерев для створення остаточної моделі.
Просто майте на увазі, що встановлення більшої кількості дерев потребуватиме більшої обчислювальної потужності, що може бути або не бути проблемою залежно від розміру набору даних.
Оцінка вихідних помилок
Виявляється, ми можемо обчислити помилку тестування пакетної моделі, не покладаючись на k-кратну перехресну перевірку .
Причина полягає в тому, що можна показати, що кожен зразок початкового завантаження містить приблизно 2/3 спостережень із вихідного набору даних. Решта третини спостережень, які не використовуються для підгонки дерева в мішках, називаються спостереженнями поза мішком (OOB) .
Ми можемо передбачити значення i-го спостереження у вихідному наборі даних, взявши середнє передбачення з кожного з дерев, у якому це спостереження було OOB.
Ми можемо використовувати цей підхід, щоб зробити прогноз для всіх n спостережень у вихідному наборі даних і, таким чином, обчислити частоту помилок, яка є дійсною оцінкою помилки тестування.
Перевага використання цього підходу для оцінки похибки тесту полягає в тому, що він набагато швидший, ніж k-кратна перехресна перевірка, особливо коли набір даних великий.
Розуміння важливості предикторів
Пам’ятайте, що однією з переваг дерев рішень є те, що їх легко інтерпретувати та візуалізувати.
Коли замість цього ми використовуємо пакетування, ми більше не можемо інтерпретувати або візуалізувати окреме дерево, оскільки остаточна модель пакетів є результатом усереднення багатьох різних дерев. Ми отримуємо точність прогнозу за рахунок можливості інтерпретації.
Однак ми все одно можемо зрозуміти важливість кожної змінної предиктора, обчисливши загальне зменшення RSS (залишкової суми квадратів) через розподіл за даним предиктором, усереднене за всіма B- деревами. Чим більше значення, тим важливіший предиктор.
Подібним чином, для класифікаційних моделей ми можемо обчислити загальне зниження індексу Джіні через розподіл за даним предиктором, усереднене по всіх B -деревах. Чим більше значення, тим важливіший предиктор.
Таким чином, хоча ми не можемо точно інтерпретувати остаточну загальну модель, ми все одно можемо отримати уявлення про те, наскільки важливою є кожна змінна предиктора при прогнозуванні відповіді.
Виходьте за межі упаковки
Перевага пакетування полягає в тому, що воно загалом забезпечує покращення рівня помилок тесту порівняно з одним деревом рішень.
Недоліком є те, що прогнози з колекції дерев у мішках можуть мати високу корельацію, якщо в наборі даних є дуже сильний предиктор.
У цьому випадку більшість або всі пакетовані дерева використовуватимуть цей предиктор для першого розбиття, в результаті чого дерева будуть схожі одне на одного та мають висококорельовані прогнози.
Один зі способів вирішення цієї проблеми полягає у використанні випадкових лісів, які використовують метод, подібний до пакетування, але здатні створювати прикрашені дерева, що часто призводить до нижчого рівня помилок тестування.
Ви можете прочитати простий вступ до випадкових лісів тут .
Додаткові ресурси
Введення в дерева класифікації та регресії
Як виконати пакетування в R (крок за кроком)