Як уникнути перевитрати у випадкових лісах?


11
  1. Я хочу уникнути перевитрати у випадкових лісах. У зв'язку з цим я маю намір використовувати mtry, nodesize та maxnodes тощо. Чи можете ви мені допомогти вибрати значення для цих параметрів? Я використовую Р.

  2. Також, якщо можливо, скажіть, будь ласка, як я можу використовувати перехресну перевірку k-кратного для випадкового лісу (в R).

Відповіді:


7

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

Як уже згадувалося вище, запуск крос-валідації дозволить уникнути перевиконання. Вибір найкращої моделі на основі результатів резюме призведе до непридатності моделі, що не обов'язково має місце для чогось типу помилки в сумці. Найпростіший спосіб запустити резюме в R - це caretпакет. Простий приклад наведено нижче:

> library(caret)
> 
> data(iris)
> 
> tr <- trainControl(method = "cv", number = 5)
> 
> train(Species ~ .,data=iris,method="rf",trControl= tr)
Random Forest 

150 samples
  4 predictor
  3 classes: 'setosa', 'versicolor', 'virginica' 

No pre-processing
Resampling: Cross-Validated (5 fold) 

Summary of sample sizes: 120, 120, 120, 120, 120 

Resampling results across tuning parameters:

  mtry  Accuracy  Kappa  Accuracy SD  Kappa SD  
  2     0.96      0.94   0.04346135   0.06519202
  3     0.96      0.94   0.04346135   0.06519202
  4     0.96      0.94   0.04346135   0.06519202

Accuracy was used to select the optimal model using  the largest value.
The final value used for the model was mtry = 2. 

Дуже дякую за відповідь та поради. Просто хочете знати, наскільки по-різному використовується пакет caret для вибору функцій у порівнянні з вибором важливих змінних за допомогою алгоритму randomForest?
Arun

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

@David Що ви маєте на увазі під "що не обов’язково має місце щось на зразок помилки в сумці"? Ви маєте на увазі, що оцінка з сумки - це не дуже вдалий спосіб уникнути переобладнання?
П'єр

5

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

Кількість дерев - Чим більша ця кількість, тим менше ймовірність перекриття лісу. Це означає, що, оскільки кожне дерево рішень вивчає певний аспект даних про навчання, ви отримуєте більше варіантів, так би мовити. Кількість функцій - це число становить кількість функцій, які вивчає кожне окреме дерево. Зі зростанням цієї кількості дерева ускладнюються, отже, вони вивчають шаблони, яких у даних тестів може бути немає. Знадобиться кілька експериментів, щоб знайти потрібне значення, але таке машинне навчання. Експериментуйте і з загальною глибиною, як ми вже згадували!


4

Ось приємне посилання на те, що на stackexchange /stats/111968/random-forest-how-to-handle-overfitting , однак мій загальний досвід - чим більше глибина має модель, тим більше вона має тенденцію надягати.


Це має сенс для одного класифікатора дерев. Однак я читав на цих форумах, що випадкові ліси захищені від надмірного прилягання і що дерева повинні вирощуватися повноцінно (тобто nodesize = 1 для класифікації).
Seanosapien

0

Я завжди mtryзменшую , поки помилка на наборі даних поїздів не збільшується, потім я знижую розмір вузла та глибину, поки різниця між помилками поїзда та набору даних не перестане зменшуватися

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