Подтвердить что ты не робот

Matlab libsvm - как найти коэффициенты w

Как можно найти, что такое вектор w, то есть перпендикуляр к плоскости разделения?

4b9b3361

Ответ 1

Вот как я это сделал здесь. Если я правильно помню, это основано на том, как работает двойная форма оптимизации SVM.

model = svmtrain(...);
w = (model.sv_coef' * full(model.SVs));

И предвзятость (и я действительно не помню, почему ее отрицательный):

bias = -model.rho;

Затем, чтобы сделать классификацию (для линейного SVM), для набора данных N-by-M 'с N экземплярами и функциями M,

predictions = sign(features * w' + bias);

Если ядро ​​не является линейным, это не даст вам правильного ответа.

Для получения дополнительной информации см. Как я могу сгенерировать первичную переменную w линейного SVM?, из руководства libsvm.