Простіше почати зі свого другого питання, а потім перейти до першого.
Баггінг
Випадковий ліс - алгоритм мішковини. Це зменшує дисперсію.
Скажіть, що у вас є дуже ненадійні моделі, такі як Дерева рішень. (Чому ненадійні? Тому що якщо трохи змінити свої дані, створене дерево рішень може бути дуже різним.) У такому випадку ви можете створити надійну модель (зменшити дисперсію) за допомогою пакетування - мішок - це коли ви створюєте різні моделі шляхом перекомпонування даних, щоб зробити отриману модель більш надійною.
Випадковий ліс - це те, що ми називаємо пакетуванням, застосованим до дерев рішень, але воно не відрізняється від інших алгоритмів забоїв.
Чому б ти хотів це зробити? Це залежить від проблеми. Але зазвичай вкрай бажано, щоб модель була стійкою.
Підвищення
Підвищення зменшує дисперсію, а також зменшує упередженість. Це зменшує дисперсію, оскільки ви використовуєте кілька моделей (упаковка). Це зменшує упередженість, навчаючи наступну модель, повідомляючи, які помилки зробили попередні моделі (спонукальна частина).
Є два основні алгоритми:
- Adaboost: це оригінальний алгоритм; ви скажете наступним моделям, щоб покарати більш суворі спостереження, помилкові попередніми моделями
- Підвищення градієнта: ви тренуєте кожну наступну модель за допомогою залишків (різниця між передбачуваними та справжніми значеннями)
У цих ансамблях ваш базовий учень повинен бути слабким. Якщо це перевищує дані, не буде жодних залишків або помилок для наступних моделей, на яких можна розвиватись. Чому ці хороші моделі? Ну, більшість змагань на таких веб-сайтах, як Kaggle, були виграні з використанням градієнтних прискорених дерев. Наука даних - це емпірична наука, "бо вона працює" є досить хорошою. Як би то не було, зауважте, що розширення моделей може переоцінювати (хоча емпірично це не дуже часто).
Ще одна причина, чому збільшення градієнта, зокрема, також є досить крутим: тому що це дуже просто використовувати різні функції втрат, навіть коли похідна не опукла. Наприклад, використовуючи ймовірнісний прогноз, ви можете використовувати такі речі, як функція пінболу як функцію втрати; те, що набагато складніше з нейронними мережами (тому що похідна завжди постійна).
[Цікава історична примітка: Спочатку стимулювання було теоретичним винаходом, мотивованим запитанням "чи можна побудувати більш сильну модель, використовуючи слабкіші моделі "]
Зауважте: люди іноді плутають випадкові ліси та дерева, що підсилюють градієнт, лише тому, що обидва використовують дерева рішень, але це дві дуже різні сім'ї ансамблів.