выбор значения c и гаммы - PullRequest
9 голосов
/ 18 марта 2012

Привет. Я выполняю классификацию SVM с использованием SMO, в котором моим ядром является RBF, теперь я хочу выбрать значения c и sigma , используя поиск по сетке и перекрестную проверку.плохо знакомы с функциями ядра, помогите, пожалуйста, пошаговый процесс

Ответы [ 4 ]

18 голосов
/ 18 марта 2012
  1. Выберите некоторые значения C и sigma, которые вы считаете интересными. Например, C = {1, 10, 100, 1000} и сигма = {.01, .1, 1} (я просто придумываю это).
  2. Разделите тренировочный набор на k (например, 10) частей, предпочтительно в многослойном способе.
  3. Цикл по всем парам значений C и сигма.
    1. Переберите все k части вашего тренировочного набора. Протяните k 'часть. Обучите классификатор по всем остальным частям вместе, затем проведите проверку на оставшейся части.
    2. Отслеживайте некоторое количество очков (точность, F1 или все, что вы хотите оптимизировать).
  4. Возвращает наиболее эффективную пару значений для C, sigma по оценкам, которые вы только что вычислили.
4 голосов
/ 19 марта 2012

Прочитайте Практическое руководство по поддержке векторной классификации от Chih-Wei Hsu, Chih-Chung Chang и Chih-Jen. Они решают эту точную проблему и объясняют методы выполнения поиска по сетке для выбора параметров. http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf

1 голос
/ 29 мая 2015

Я просто добавлю немного пояснений к ответу larsmans .

Параметр C является параметром регуляризации / слабины.Его меньшие значения заставляют веса быть маленькими.Чем оно больше, тем больше допустимый диапазон весов.В результате, большие значения C увеличивают штраф за неправильную классификацию и, таким образом, уменьшают частоту ошибок классификации в обучающих данных (что может привести к перенастройке).Ваше время обучения и число векторов поддержки будут увеличиваться при увеличении значения C .

Также может оказаться полезным прочитать Расширение SVM до классификатора мягкой маржи К. К. Чин.

0 голосов
/ 28 апреля 2016

Вы также можете использовать выбор модели Uniform Design, который сокращает количество кортежей, которые необходимо проверить. В документе, который объясняет это, «Выбор модели для машин опорных векторов с помощью унифицированного дизайна», автор Chien-Ming Huang Некоторые реализации в Python существуют в ssvm 0.2

...