SVM жесткие и мягкие поля в Matlab, - PullRequest
0 голосов
/ 06 апреля 2019

Я сравниваю производительность нескольких моделей SVM в matlab, используя функцию fitcsvm, и я хочу дважды проверить, что я использую правильный синтаксис для жестких мягких amragins и ядра: синтаксис жесткого поля должен быть следующим, в котором гиперпараметр жесткой маржинальной стоимости (boxConstraint) должен быть бесконечным

%Hard Margin
SVMModel = fitcsvm(x_train,y_train,'BoxConstraint',Inf);

, в то время как мягкий маркер, boxConstraint (который является единственным гиперпараметром, необходимым для мягкого маржа), должен быть настроен и получить подходящее значениеНапример,

 %soft Margin
    SVMModel = fitcsvm(x_train,y_train,'BoxConstraint', 7);

или оставьте его по умолчанию (который имеет ограничение box как 1)

SVMModel = fitcsvm(x_train,y_train);

и для модели ядра, скажем, RBF, оба boxconstrains и KernelScale (гамма)должны быть настроены и использованы

    SVMModel = fitcsvm(x_train,y_train, KernelFunction, 'RBF',...
'BoxConstraint', 7,'KernelScale', '0.3');

при условии, что все гиперпараметры настроены, считается ли предыдущий синтаксис правильным, чтобы иметь жесткие, мягкие и ядерные модели в Matlab?

Кроме того, в случае перекрестной проверки модели, как получить наилучшие гиперпараметры при перекрестной проверке модели SVM?или выбор шага гиперпараметра должен быть перед перекрестной проверкой модели?

...