Какой из параметров в LibSVM является слабой переменной? - PullRequest
5 голосов
/ 21 февраля 2012

Я немного смущен именами в SVM. Я использую эту библиотеку LibSVM . Есть так много параметров, которые можно установить. Кто-нибудь знает, какая из этих переменных является слабой? ТНХ

Ответы [ 2 ]

15 голосов
/ 27 февраля 2012

"Переменная слабины" - это C в c-svm и nu в nu-SVM.Оба они выполняют одну и ту же функцию в своих соответствующих формулировках - контролируют компромисс между широкой маржей и ошибкой классификатора.В случае с C обычно проверяют его на порядки, скажем, от 10 ^ -4, 10 ^ -3, 10 ^ -2, ... до 1, 5 или около того.nu - это число от 0 до 1, обычно от 0,1 до 0,8, которое определяет отношение векторов поддержки к точкам данных.Когда nu равно .1, поле мало, число векторов поддержки будет небольшим процентом от количества точек данных.Когда nu равно 0,8, поле очень велико, и большинство точек будет находиться в пределах поля.

Другие вещи, которые следует учитывать, это выбор ядра (линейное, RBF, сигмоидальное, полиномиальное) и параметровдля выбранного ядра.Обычно нужно много экспериментировать, чтобы найти наилучшую комбинацию параметров.Тем не менее, будьте осторожны с перенастройкой к вашему набору данных.

Берджес написал отличный учебник: Учебник по машинам опорных векторов для распознавания образов

Но если вы в основном простоХотите узнать, как ИСПОЛЬЗОВАТЬ его, и меньше о том, как он работает, прочитайте «Практическое руководство по поддержке векторной классификации», авторы Chih-Wei Hsu, Chih-Chung Chang и Chih-Jen Lin (авторы libsvm)

1 голос
/ 21 февраля 2012

Сначала определите, какой тип SVM вы собираетесь использовать: C-SVC, nu-SVC, epsilon-SVR или nu-SVR. На мой взгляд, большую часть времени вам нужно менять C и гамму ... остальное обычно фиксируется ..

...