Чому оцінка випадкової помилки OOB в лісовій галузі покращується, коли кількість вибраних функцій зменшується?


14

Я застосовую алгоритм випадкового лісу як класифікатор до набору даних мікромасив, які розділені на дві відомі групи з 1000-ма функціями. Після початкового запуску я переглядаю важливість функцій і знову запускаю алгоритм дерева з 5, 10 та 20 найважливішими функціями. Я вважаю, що для всіх функцій, топ-10 та 20, показник помилок OOB становить 1,19%, а для 5-ти найкращих - 0%. Мені це здається протиінтуїтивним, тому мені було цікаво, чи можете ви пояснити, чи я щось пропускаю, чи я використовую неправильну метрику.

Я використовую пакет randomForest в R з ntree = 1000, nodesize = 1 і mtry = sqrt (n)


2
Просто для того, щоб було зрозуміло: чи застосовуєте ви радіочастотні сигнали в ітераційному порядку, тобто вибираючи найвищі рейтинги (за індексом Джині або зменшенням MSE) з усього вхідного простору? Я знаю, що радіочастотні сигнали можуть не обов'язково поліпшуватись із збільшенням кількості дерев, але те, що ви зображуєте, здається, має сенс (найкращі функції дозволяють прогнозувати зразки OOB зі 100% точністю), хоча очевидно, що існує ризик перевитрати при цьому. .
chl

Так, це я і роблю
danielsbrewer

2
@chl, ви могли б пояснити, чому існує ризик переобладнання, використовуючи лише 5 функцій?
ташушка

Відповіді:


15

Це надмірний набір функцій, і це досить відомо - див. Ambroise & McLachlan 2002 . Проблема ґрунтується на фактах, що РФ занадто розумна, а кількість об'єктів занадто мала. В останньому випадку, як правило, досить легко випадковим чином створити атрибут, який може мати гарну кореляцію з рішенням. І коли кількість атрибутів велика, ви можете бути впевнені, що деякі абсолютно нерелевантні будуть дуже хорошими прогнозами, навіть досить, щоб сформувати кластер, який зможе відтворити рішення на 100%, особливо коли величезна гнучкість РФ вважається. І так, стає очевидним, що, коли доручається знайти найкращий можливий підмножина атрибутів, процедура FS знаходить цей кластер.
Одне рішення (резюме) подано в A & McL, ви також можете перевірити наш підхід до цієї темиАлгоритм Борути , який в основному розширює набір з "тіньовими атрибутами", зробленими випадковими за конструкцією, і порівнює їх значення РЧ з отриманим для реальних атрибутів, щоб судити, який з них насправді є випадковим і який може бути видалений; це повторюється багато разів, щоб бути суттєвим. Борута, скоріше, призначений для дещо іншого завдання, але, як показали мої тести, отриманий набір не містить проблеми з надлишком FS.


2

Я думав, що додам інтуїтивно зрозуміле пояснення цього шаблону.

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

1) враховуючи лише невеликий, випадково вибраний підмножина всіх пояснювальних змінних, і

2) вибір найбільш сильно асоційованої пояснювальної змінної в межах цього випадково вибраного підмножини змінної для розділення даних уздовж.

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

Випадкові ліси досить міцні для цього, і зазвичай потрібно дуже велике додавання цих «шумових» параметрів, щоб істотно знизити продуктивність.

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