Чому у випадковому лісі чомусь випадковий підмножина функцій вибирається на рівні вузла, а не на рівні дерева?


13

Моє запитання: Чому випадковий ліс розглядає випадкові підмножини ознак для розщеплення на рівні вузла в межах кожного дерева, а не на рівні дерева ?

Передумови: Це щось із питань історії. Тін Кам Хо опублікував цю статтю про будівництво «рішення лісу» шляхом випадкового вибору підмножини функцій для використання для вирощування кожного дерева в 1998 р Кілька років по тому, в 2001 році Лео Брейман опублікував свою основну Random Forest папір , в якій функція підмножина є випадковим вибирається в кожному вузлі в межах кожного дерева, а не в кожному дереві. Поки Брейман цитував Хо, він не пояснював конкретно перехід від рівня дерев до вибору випадкових ознак на рівні вузла.

Мені цікаво, що конкретно мотивувало цей розвиток. Здається, що вибір підмножини функцій на рівні дерева все одно забезпечить бажану декорреляцію дерев.

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

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

Що я розглянув досі: Поки я прочитав статтю Бреймана та роботу Хо і провів широкий інтернет-пошук порівнянь методів, не знайшовши остаточної відповіді. Зауважимо, що подібне питання задавали і раніше. Це питання йде трохи далі, включаючи мою міркування / роботу над можливим рішенням. Мені будуть цікаві будь-які відповіді, відповідні цитати чи симуляційні дослідження, що порівнюють два підходи. Якщо жодного з них не буде, я планую запустити власне моделювання, порівнявши два методи.


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

2
Я впевнений, що Брейман має коментар, пов’язаний з цим, у своєму (імхо) семінарному документі "Статистика - дві культури". Його суть у тому, що іноді важливість змінної маскується іншою змінною. Бег на рівні вузла дозволить побачити, що і коли для змінної.
meh

1
Дякуємо за коментарі. Повертаючись до моєї думки про ефективність: припустимо, пара змінних була пов'язана, і, як ви вже сказали, важливість однієї «маскувала» важливість іншої. Якби ми побудували передбачувач РЧ з достатньою кількістю дерев і використали б підмножину на рівні дерев, ми, зрештою, не мали б достатньо дерев із функцією «маскування» та без функції «маскування», щоб досягти важливості колишнього без впливу лист? Я думаю, що ми говоримо приблизно приблизно про одну і ту ж ідею. Дякую!
djlid

4
Ви можете, але подумайте, скільки ще дерев вам доведеться побудувати! Це теж незрозуміло. Змінна A може спричинити розщеплення таким чином, що в жодному з них змінна B не буде світити. Просто чітко властиво більш надійно проводити вибірку на рівні вузла. Для мене це стосується принципово того, яким має бути завантажувальний процес.
meh

Відповіді:


1

Припустимо, у нас є 10 функцій f1, f2, ..., f9, f10, тоді, коли ми беремо підмножину, припустимо, припустимо, що функції f1, f3, f4, f8 на самому рівні дерева, тоді ми побудуємо все дерево, взявши ці 4 функції на розгляд.

Ми обчислюємо ентропію, порівнюємо лише ці 4 особливості на кожному вузлі і беремо ту особливість, яка дає максимальну ентропію. Це не дуже корисно, оскільки ми обмежуємо наше вивчення дерева лише тими 4-ма функціями. На відміну від цього, коли ми беремо деякий підмножина функцій, скажімо, f1, f8, f9 на першому вузлі, ми обчислюємо ентропію та порівнюємо їх серед цих 3 ознак і обираємо ту, яка дає максимальне значення. Замість того, щоб далі вирощувати дерево з тими ж ознаками, ми вибрали інший підмножина функцій, скажімо, f4, f7, f2 і зробимо розкол на основі цих особливостей. Припустимо, f8 був обраний у першому вузлі, а f2 обраний у другому вузлі. Модель здатна дізнатися взаємозв'язок між цими обома, які б не '

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

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