Вибір параметра SVM


9

Чи є кращі альтернативні методи вибору C та Gamma, які дають кращі результати навчання?

Відповіді:


5

Пошук сітки є повільним, оскільки він витрачає багато часу на дослідження параметрів гіперпараметрів, які майже не є оптимальними. Кращим рішенням є симплексний алгоритм Nelder-Mead , який не вимагає обчислення градієнтної інформації і простий для реалізації (на сторінці Вікіпедії має бути достатньо інформації). Також може бути якийсь код Java в панелі інструментів Weka , проте я працюю в MATLAB і не переглядав Weka дуже детально.

SMO - це алгоритм пошуку параметрів моделі, а не гіпер-параметрів.


Чи можете ви надати реалізацію матлабу?
Зак

1
Тут є один theoval.cmp.uea.ac.uk/matlab/#optim, але якщо у вас вже є інструментарій оптимізації, то fminsearch також є реалізацією методу IIRC Nelder-Mead.
Дікран Марсупіал

5

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

Якщо ви зацікавлені в градієнті на основі градієнта C і гамми, існують такі методи, як оптимізація меж радіусу та границі граніту або оптимізація рівня помилок на наборі перевірки. Обчислення градієнта цільової функції передбачає щось на зразок одного поїзда SVM, але простий спуск градієнта може включати лише кілька десятків ітерацій. (Дивіться на http://olivier.chapelle.cc/ams/ для статті та реалізації Matlab.)


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

Ви маєте рацію, що якщо кількість параметрів більше пари, пошук по сітці не здійснен. Але те саме стосується Нелдера-Міду, оскільки розмір симплексу визначається розмірністю.
Innuo

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

0

Ось запис у блозі Алекса Смола, пов’язаний із вашим запитанням

Ось цитата:

[...] виберіть, скажімо, 1000 пар (x, x ') навмання зі свого набору даних, обчисліть відстань усіх таких пар і візьміть медіану, число 0,1 і 0,9. Тепер виберіть λ для оберненого будь-якого з цих трьох чисел. Трохи перекреслившись, ви зрозумієте, який із трьох найкращий. У більшості випадків вам більше не потрібно буде шукати.

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