Під час використання SVM нам потрібно вибрати ядро.
Цікаво, як вибрати ядро. Якісь критерії вибору ядра?
Під час використання SVM нам потрібно вибрати ядро.
Цікаво, як вибрати ядро. Якісь критерії вибору ядра?
Відповіді:
Ядро фактично є мірою подібності, тому вибір ядра відповідно до попередніх знань про інваріації, як це запропонував Робін (+1) - хороша ідея.
За відсутності експертних знань ядро Radial Basis Function створює хороше ядро за замовчуванням (як тільки ви встановите, це проблема, що вимагає нелінійної моделі).
Вибір параметрів ядра та ядра / регуляризації може бути автоматизований за рахунок оптимізації вибору моделі на основі перехресної валідації (або використання меж радіуса, границі або прольоту). Найпростіше зробити це мінімізувати критерій безперервного вибору моделі за допомогою симплексного методу Нельдера-Міда, який не вимагає розрахунку градієнта і добре працює для розумного числа гіперпараметрів. Якщо у вас є декілька гіперпараметрів для налаштування, автоматичний вибір моделі, ймовірно, призведе до сильного перезміщення, внаслідок відмінності критерію вибору моделі. Можна використовувати оптимізацію на основі градієнта, але посилення продуктивності, як правило, не варто докладати зусиль для його кодування).
Автоматизований вибір ядер та параметрів ядра / регуляризації є складним питанням, оскільки дуже легко переоцінити критерій вибору моделі (як правило, заснований на перехресній валідації), і ви можете отримати гіршу модель, ніж ви почали. Автоматизований вибір моделі також може упереджувати оцінку ефективності, тому переконайтесь, що ваша оцінка ефективності оцінює весь процес підгонки моделі (навчання та вибір моделі), детальніше див.
GC Cawley та NLC Talbot, Запобігання надмірному підбору моделей за допомогою байєсівської регуляризації гіперпараметрів, Journal of Machine Learning Research, том 8, сторінки 841-861, квітень 2007 р. (Pdf)
і
GC Cawley та NLC Talbot, Надмірна відповідність вибору моделі та подальша упередженість вибору в оцінці продуктивності, Journal of Machine Learning Research, vol. 11, с. 2079-2107, липень 2010 р. (Pdf)
Якщо ви не впевнені, що було б найкраще, ви можете використовувати автоматичні методи вибору (наприклад, перехресне підтвердження, ...). У цьому випадку ви навіть можете використовувати комбінацію класифікаторів (якщо ваша проблема є класифікацією), отриману з різним ядром.
Однак "перевагою" роботи з ядром є те, що ви змінюєте звичайну "евклідову" геометрію так, щоб вона відповідала вашій власній проблемі. Крім того, вам слід спробувати зрозуміти, у чому полягає інтерес ядра до вашої проблеми, який характерний для геометрії вашої проблеми . Сюди можна віднести:
Якщо ви знаєте, що лінійний роздільник був би хорошим, тоді ви можете використовувати ядро, яке дає афіні функції (тобто ). Якщо ви вважаєте, що плавні межі набагато кращі в дусі гладкого KNN, тоді ви можете взяти ядро гаусса ...
У мене завжди є відчуття, що будь-який вибір гіпер параметрів для SVM здійснюється за допомогою перехресної перевірки в поєднанні з пошуковим сітком.
Загалом, ядро RBF - це розумний перший вибір. Крім того, лінійне ядро є особливим випадком RBF. Зокрема, коли кількість особливостей дуже велика, можна просто використовувати лінійне ядро.