Какой диапазон поиска для определения оптимальных параметров С и гамма SVM?

32

Я использую SVM для классификации и пытаюсь определить оптимальные параметры для линейных и RBF-ядер. Для линейного ядра я использую перекрестный проверенный выбор параметров, чтобы определить C, а для ядра RBF я использую поиск по сетке, чтобы определить C и гамму.

У меня есть 20 (числовых) функций и 70 учебных примеров, которые должны быть разбиты на 7 классов.

Какой диапазон поиска следует использовать для определения оптимальных значений параметров C и гамма?

Kywia
источник

Ответы:

31

Ознакомьтесь с практическим руководством по классификации SVM для некоторых указателей, в частности, на странице 5.

Мы рекомендуем "grid-поиск" на и с использованием перекрестной проверки. Используются различные пары значений и выбирается та, которая имеет лучшую точность перекрестной проверки. Мы обнаружили, что попытка экспоненциально растущих последовательностей и - это практический метод определения хороших параметров (например, ).gamma ; ( С , γ ) С γ С = 2 - 5 , 2 - 3 , ... , 2 15 ; γ = 2 - 15 , 2 - 13 , , 2 3Сγ(С,γ)СγСзнак равно2-5,2-3,...,215;γзнак равно2-15,2-13,...,23

Не забудьте сначала нормализовать свои данные и, если можете, собрать больше данных, потому что, судя по всему, ваша проблема может быть сильно недооценена.

Цири
источник
Нужно ли проводить одноранговое тестирование вручную? нет библиотеки для этого?
X-RW
11

Проверьте раздел 2.3.2 этого документа Chapelle и Zien. У них есть хорошая эвристика, чтобы выбрать хороший диапазон поиска для ядра RBF и C для SVM. я цитируюσС

Чтобы определить правильные значения оставшихся свободных параметров (например, по CV), важно выполнить поиск по правильной шкале. Поэтому мы фиксируем значения по умолчанию для и σ, которые имеют правильный порядок величины. В задаче c- класса мы используем квантиль 1 / c парных расстояний D ρ i j всех точек данных по умолчанию для σ . Значением по умолчанию для C является инверсия эмпирической дисперсии s 2 в пространстве признаков, которую можно вычислить как s 2 = 1Сσс1/сDяJρσСs2 изп×пядра матрицыК.s2знак равно1NΣяКяя-1N2Σя,JКяJN×NК

После этого они используют кратные (например , для к { - 2 , . . . , 2 } ) значения по умолчанию в качестве диапазона поиска в сетке-поиск с помощью кросс-проверки. Это всегда работало очень хорошо для меня.2КК{-2,,,,,2}

Конечно, мы @ciri сказали, что нормализация данных и т. Д. Всегда хорошая идея.

fabee
источник
Я думаю, что есть несколько равных формулировок ядра RBF. Один с гаммой, а другой с сигмой, т.е. гамма = 1/2 сигма ^ 2. Соответствует ли гамма в приведенной выше эвристике гамме, сигме или сигме ^ 2? Я нашел другие описания того же эвристика, которые предназначены для гаммы.
техника
12σ2
@fabee Должно ли быть проведено одноранговое тестирование вручную? нет библиотеки для этого?
X-RW