Зазвичай рішення полягає в тому, щоб використовувати лінійне або ядро RBF (він же Гауссова). Слід враховувати два основні фактори:
- Розв’язання проблеми оптимізації для лінійного ядра відбувається набагато швидше, див., Наприклад, LIBLINEAR.
- Як правило, найкраща прогнозована ефективність краща для нелінійного ядра (або принаймні настільки ж хорошого, як лінійне).
Було показано, що лінійне ядро є виродженою версією RBF , отже, лінійне ядро ніколи не є більш точним, ніж правильно налаштоване ядро RBF. Цитуючи конспект із статті, яку я зв'язав:
Аналіз також вказує на те, що якщо був проведений повний вибір моделі за допомогою ядра Гаусса, немає необхідності враховувати лінійну SVM.
Основне правило роботи коротко висвітлено в практичному посібнику НТУ щодо підтримки векторної класифікації (додаток C).
Якщо кількість функцій велика, можливо, не потрібно буде зіставляти дані у просторі більш високого розміру. Тобто, нелінійне відображення не покращує продуктивність. Використання лінійного ядра досить добре, і потрібно лише шукати параметр C.
Ваш висновок більш-менш правильний, але ви маєте аргумент назад. На практиці лінійне ядро, як правило, працює дуже добре, коли кількість функцій велика (наприклад, немає необхідності відображати ще більший розмірний простір функцій). Типовим прикладом цього є класифікація документів із тисячами розмірів у вхідному просторі.
У цих випадках нелінійні ядра не обов'язково є значно більш точними, ніж лінійні. Це, по суті, означає, що нелінійні ядра втрачають свою привабливість: їм потрібно набагато більше ресурсів для тренувань, які не мають жодних прибутків у прогнозованій продуктивності, тому навіщо турбуватися.
TL; DR
Завжди спробуйте спочатку лінійно, оскільки це швидше тренуватися (І тест). Якщо точності достатньо, погладьте себе по спині для добре виконаної роботи і перейдіть до наступної проблеми. Якщо ні, спробуйте нелінійне ядро.