Коли використовувати Random Forest над SVM та навпаки?


28

Коли один використовувати Random Forestбільш SVMі навпаки?

Я розумію, що cross-validationпорівняння моделі є важливим аспектом вибору моделі, але тут я хотів би дізнатися більше про правила роботи та евристику двох методів.

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


1
Оцінка точності - єдиний вірний показник їх відносної продуктивності, хоча, можливо, існує рівень техніки, який вказує, який тип класифікатора з багатьох доступних може бути кращим для вашого типу даних, якщо вам пощастить. Можливо, ви будете більш обмежені тим, скільки часу потрібно для настройки параметрів, і в цьому випадку, Випадковий ліс, ймовірно, виявиться більш простим.
image_doctor

Відповіді:


29

Я б сказав, вибір дуже залежить від того, які дані у вас є, і яке ваше призначення. Кілька "великих правил".

Випадковий ліс невід'ємно підходить для багатокласових проблем, в той час як SVM по суті двокласний. Для багатокласової проблеми вам потрібно буде звести її до декількох проблем бінарної класифікації.

Random Forest добре працює із сумішшю числових та категоричних ознак. Коли функції є на різних масштабах, це також добре. Грубо кажучи, за допомогою Random Forest ви можете використовувати дані такими, якими вони є. SVM максимально збільшує "запас" і, таким чином, спирається на поняття "відстань" між різними точками. Ви вирішуєте, чи має значення "відстань". Як наслідок, одноразове кодування для категоричних ознак є обов'язковим завданням. Крім того, на етапі попередньої обробки настійно рекомендується мінімальне або інше масштабування.

нмн×нн2

Для проблеми класифікації Random Forest дає вам ймовірність належності до класу. SVM дає відстань до кордону, вам все одно потрібно якось перетворити його на ймовірність, якщо вам потрібна ймовірність.

Для тих проблем, де застосовується SVM, він, як правило, краще, ніж випадковий ліс.

SVM дає вам "вектори підтримки", тобто точки у кожному класі, найближчі до межі між класами. Вони можуть бути цікаві самі для тлумачення.


Додамо лише: випадкові ліси не надають вам ймовірностей. Вам або потрібна імовірнісна реалізація дерева рішень, або згодом відкалібрувати відповідну модель Random Forest, якщо ви хочете "справжніх" ймовірностей.
Арчі

5

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


3

Це дійсно залежить від того, чого ви хочете досягти, як виглядають ваші дані і т. Д. SVM, як правило, краще працюватиме в залежності від лінійних залежностей, інакше вам потрібно нелінійне ядро, і вибір ядра може змінити результати. Крім того, SVM менш інтерпретовані - наприклад, якщо ви хочете пояснити, чому класифікація була такою, якою вона була - вона буде нетривіальною. Дерева рішень мають кращу інтерпретацію, вони працюють швидше, і якщо у вас є категоріальні / числові змінні, її добре, більше того: нелінійні залежності обробляються добре (дано N досить великі). Крім того, вони тренуються швидше, ніж SVM загалом, але вони мають схильність до переробки ...

Я б також спробував Logistic Regression - чудовий інтерпретаційний класифікатор)

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


1

Щоб доповнити вже зазначені хороші моменти:

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

Крім того, способи реалізації алгоритмів (і з теоретичних причин) випадкові ліси зазвичай набагато швидші, ніж (нелінійні) СВМ. Насправді як @Ianenok, SVM мають тенденцію бути непридатними понад 10 000 точок даних.

Однак, як відомо, SVM мають кращу ефективність на деяких конкретних наборах даних (зображення, дані мікромасиви ...).

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

Джерело: Випадковий ліс проти SVM


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