Випадковість Лісу
Random Forest створює велику кількість дерев рішень — зазвичай близько 100 або навіть більше. Створити так багато різних дерев лише шляхом налаштування параметрів складно, тому для цього вводиться випадковість. На щастя, дерева рішень дуже чутливі до незначних змін у даних та налаштуваннях, що природно призводить до широкого різноманіття дерев у лісі.
У Random Forest існує два джерела випадковості:
- Вибірка даних для кожного дерева;
- Вибірка ознак на кожному вузлі прийняття рішень кожного дерева.
Вибірка даних
Щоб створити різні навчальні набори для кожного дерева рішень у лісі, використовується метод bootstrap (також відомий як bagging). Ідея полягає у вибірці, з поверненням, набору даних такого ж розміру для кожного дерева.
За замовчуванням розмір набору даних для кожного дерева відповідає розміру оригінального набору даних. Вибірка з поверненням означає випадковий вибір точки даних із навчального набору — подібно до витягування карти з колоди. Однак, на відміну від звичайного витягування карт, кожна вибрана точка даних не видаляється, тому одну й ту ж точку даних можна вибрати кілька разів.
Кожне дерево навчається на різній підмножині даних, що вже допомагає зробити дерева різноманітними. Щоб додати ще більше випадковості та пришвидшити навчання, можна також обмежити кількість ознак, які кожне дерево розглядає під час розбиття.
Вибірка ознак
У стандартному дереві рішень кожен вузол розглядає всі доступні ознаки для пошуку найкращого розділення — зазвичай шляхом обчислення таких метрик, як Gini impurity. Цей процес є обчислювально затратним.
У випадковому лісі на кожному вузлі розглядається лише випадкова підмножина ознак. Це пришвидшує навчання та додає випадковість, що сприяє різноманітності дерев. Поширеним підходом є використання квадратного кореня із загальної кількості ознак. Наприклад, якщо є 9 ознак, на кожному вузлі випадково обирають 3; якщо ознак 10,000, приблизно 100 можуть бути вибрані.
Ознаки вибираються без повернення, тобто одна й та сама ознака не з’явиться більше одного разу на одному вузлі. Кількість ознак для розгляду можна налаштовувати залежно від задачі.
Ви можете керувати кількістю ознак, які розглядаються на кожному вузлі рішення, за допомогою параметра max_features
у реалізації scikit-learn. Ось деякі популярні варіанти:
max_features='sqrt'
: використовується квадратний корінь із загальної кількості ознак. Це типовий вибір, який балансує точність та ефективність;max_features='log2'
: використовується двійковий логарифм від загальної кількості ознак, що забезпечує ще більшу випадковість;max_features=0.1
: використовується 10% ознак, де значення розглядається як частка.
Ви також можете встановити max_features
як будь-яку частку між 0
та 1
(наприклад, max_features=0.1
використовує 10% ознак).
Підсумовуючи, випадковий ліс побудований таким чином, що кожне дерево навчається на різній вибірці даних, а кожен вузол прийняття рішень у цих деревах розглядає різні випадкові підмножини ознак. Така вбудована випадковість призводить до різноманітної колекції дерев, що в підсумку покращує загальну ефективність моделі.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 4.17
Випадковість Лісу
Свайпніть щоб показати меню
Random Forest створює велику кількість дерев рішень — зазвичай близько 100 або навіть більше. Створити так багато різних дерев лише шляхом налаштування параметрів складно, тому для цього вводиться випадковість. На щастя, дерева рішень дуже чутливі до незначних змін у даних та налаштуваннях, що природно призводить до широкого різноманіття дерев у лісі.
У Random Forest існує два джерела випадковості:
- Вибірка даних для кожного дерева;
- Вибірка ознак на кожному вузлі прийняття рішень кожного дерева.
Вибірка даних
Щоб створити різні навчальні набори для кожного дерева рішень у лісі, використовується метод bootstrap (також відомий як bagging). Ідея полягає у вибірці, з поверненням, набору даних такого ж розміру для кожного дерева.
За замовчуванням розмір набору даних для кожного дерева відповідає розміру оригінального набору даних. Вибірка з поверненням означає випадковий вибір точки даних із навчального набору — подібно до витягування карти з колоди. Однак, на відміну від звичайного витягування карт, кожна вибрана точка даних не видаляється, тому одну й ту ж точку даних можна вибрати кілька разів.
Кожне дерево навчається на різній підмножині даних, що вже допомагає зробити дерева різноманітними. Щоб додати ще більше випадковості та пришвидшити навчання, можна також обмежити кількість ознак, які кожне дерево розглядає під час розбиття.
Вибірка ознак
У стандартному дереві рішень кожен вузол розглядає всі доступні ознаки для пошуку найкращого розділення — зазвичай шляхом обчислення таких метрик, як Gini impurity. Цей процес є обчислювально затратним.
У випадковому лісі на кожному вузлі розглядається лише випадкова підмножина ознак. Це пришвидшує навчання та додає випадковість, що сприяє різноманітності дерев. Поширеним підходом є використання квадратного кореня із загальної кількості ознак. Наприклад, якщо є 9 ознак, на кожному вузлі випадково обирають 3; якщо ознак 10,000, приблизно 100 можуть бути вибрані.
Ознаки вибираються без повернення, тобто одна й та сама ознака не з’явиться більше одного разу на одному вузлі. Кількість ознак для розгляду можна налаштовувати залежно від задачі.
Ви можете керувати кількістю ознак, які розглядаються на кожному вузлі рішення, за допомогою параметра max_features
у реалізації scikit-learn. Ось деякі популярні варіанти:
max_features='sqrt'
: використовується квадратний корінь із загальної кількості ознак. Це типовий вибір, який балансує точність та ефективність;max_features='log2'
: використовується двійковий логарифм від загальної кількості ознак, що забезпечує ще більшу випадковість;max_features=0.1
: використовується 10% ознак, де значення розглядається як частка.
Ви також можете встановити max_features
як будь-яку частку між 0
та 1
(наприклад, max_features=0.1
використовує 10% ознак).
Підсумовуючи, випадковий ліс побудований таким чином, що кожне дерево навчається на різній вибірці даних, а кожен вузол прийняття рішень у цих деревах розглядає різні випадкові підмножини ознак. Така вбудована випадковість призводить до різноманітної колекції дерев, що в підсумку покращує загальну ефективність моделі.
Дякуємо за ваш відгук!