Випадкові ліси, як відомо, досить добре виконують різні завдання та їх називають шкірянинами методів навчання . Чи є якісь проблеми чи конкретні умови, за яких слід уникати використання випадкового лісу?
Випадкові ліси, як відомо, досить добре виконують різні завдання та їх називають шкірянинами методів навчання . Чи є якісь проблеми чи конкретні умови, за яких слід уникати використання випадкового лісу?
Відповіді:
Розмірковуючи про конкретну мову цитати, шкірянин - це багатофункціональний інструмент: одиничне обладнання з великою кількістю маленьких штучок. Це пара плоскогубців, і ніж, і викрутка і багато іншого! Замість того, щоб носити кожен із цих інструментів окремо, шкірянин - це єдиний предмет, який ви можете пристебнути до штанів, щоб він був завжди під рукою. Це зручно , але компромісом є те, що кожен із компонентів інструментів не найкращий у своїй роботі. Відкривачем для консервів важко користуватися, шматочки викрутки зазвичай мають неправильний розмір, а ніж може досягти трохи більше, ніж відбілювання. Якщо виконання будь-якого з цих завдань є критично важливим, вам краще подавати спеціалізований інструмент: власне ніж, фактичну викрутку або фактичну пару плоскогубців.
Випадковий ліс можна думати в однакових термінах. Випадковий ліс дає сильні результати на різних наборах даних і не є надзвичайно чутливим до налаштування параметрів. Але це не ідеально. Чим більше ви знаєте про проблему, тим простіше будувати спеціалізовані моделі для задоволення вашої конкретної проблеми.
Є кілька очевидних випадків, коли випадкові ліси будуть боротися:
Рідкість - Коли дані дуже рідкісні, дуже правдоподібно, що для якогось вузла завантажуваний зразок та випадковий підмножина функцій будуть співпрацювати, щоб створити інваріантний простір функцій. Немає продуктивного розколу, тому дітям цього вузла навряд чи буде корисно. XGBoost може зробити краще в цьому контексті.
Дані не вирівнюються по осі - Припустимо, що існує діагональна межа рішення у просторі двох ознак, та . Навіть якщо це єдиний відповідний вимір для ваших даних, для опису цієї діагональної межі знадобиться звичайна випадкова лісова модель, яка розбивається. Це тому, що кожен розкол орієнтований перпендикулярно до осі або або . (Це повинно бути інтуїтивно зрозумілим, оскільки звичайна випадкова лісова модель робить розщеплення форми.) Ліс обертання, який виконує проекцію PCA на підмножину функцій, вибраних для кожного розколу, може бути використаний для подолання цього: проекції на ортогональну основу, в принципі, зменшать вплив властивості, орієнтованої на осі, оскільки розбиття більше не буде вирівнюватися по осі в початковій основі.
Це зображення дає ще один приклад того, як розрізнені по осі впливають на випадкові лісові рішення. Межі прийняття рішення - це коло біля початку, але зауважте, що ця конкретна випадкова лісова модель малює поле для наближення кола. Існує ряд речей, які можна було б зробити для покращення цієї межі; до найпростіших можна віднести збір більшої кількості даних та побудову більше дерев.
Гострі кути. Точність.
Вони використовують дифузійні методи. Вони добре вписуються в грудочки. Вони не підходять до складних та дуже деталізованих речей, коли розмір вибірки невеликий. Я б міг уявити, що вони не справляються з даними багатовимірних часових рядів - коли щось тут залежить від тієї однієї речі на відстані.
Ліси, що підсилюються градієнтом, можуть підходити або надмірно придатні, але можуть отримувати істотно менші похибки для тих же даних.
" Шкіряників " не існує. "Срібних куль" немає. Є панелі інструментів. Знайте свої інструменти та добре дбайте про них, щоб вони могли піклуватися про вас. Будьте обережні, "коли ти молот, то кожна проблема схожа на цвях", особливо коли у вашій панелі інструментів немає щільної бібліотеки.
Поки ви добре не знаєте проблему, легко уявити, що б щось вирішило, або ваш улюблений інструмент міг би її вирішити. Мудрість пропонує глибше зрозуміти проблему та бути дуже знайомим з вашими інструментами.
Додано: Якщо у вас достатньо обчислювальних ресурсів або запасу часу, щоб використовувати щось інше. РФ не тільки швидко навчається, але і швидко виконує. Дуже глибока підсилена структура - це менше. Ви повинні мати накладні витрати, щоб це підтримати.
Це перший раз, коли я дійсно відповідаю на запитання, тому не чіпляйте мене на це .. але я думаю, що можу відповісти на ваше запитання:
Якщо вас справді цікавлять лише продуктивність моделі, а не така річ, як інтерпретація випадкових лісів, справді часто є дуже хорошим алгоритмом навчання, але ви робите трохи гірше в наступних випадках:
1.) Коли розмірність (кількість ознак) дуже велика щодо кількості навчальних зразків, у цих випадках краще регульована лінійна регресія або SVM.
2.) У випадку, якщо в даних є представлення / згорнуті структури вищого порядку, як, наприклад, у проблемах з комп'ютерним зором. У цих випадках комп’ютерного зору звивиста нейронна мережа випереджає випадковий ліс (загалом, якщо є знання, то можна включити в навчання, що є кращою справою).
Це, як кажуть, випадковий ліс - дуже хороший вихідний пункт. Один із людей, яким я захоплююсь за його навички машинного навчання, завжди починається з вивчення випадкового лісу та регульованого лінійного регресора.
Однак, якщо ви хочете якнайкращої продуктивності, я вважаю, що нині нейронні мережі. Глибоке навчання виглядає як дуже привабливий підхід. Все більше та більше переможців на веб-сайтах із викликом даних, як-от Kaggle, використовують для змагань моделі Deep Learning. Інший фактор нейронних мереж полягає в тому, що вони можуть обробляти дуже велику кількість зразків (> 10 ^ 6 можна навчити їх, використовуючи стохастичний градієнтний спуск, подаючи біти даних одночасно). Особисто я вважаю це дуже привабливим профі для глибокого навчання.
Перш за все, випадковий ліс не може бути застосований до таких типів даних:
Для табличного типу даних завжди добре перевірити випадковий ліс, оскільки: