Matlab libsvm - 如何找到w系数

时间:2012-04-12 20:34:57

标签: matlab svm libsvm

如何找到矢量w是什么,即垂直于分离平面?

1 个答案:

答案 0 :(得分:20)

这就是我做的here。如果我没记错的话,这取决于SVM优化的dual form如何运作。

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

而且偏见是(我真的不记得它的负面原因):

bias = -model.rho;

然后进行分类(对于线性SVM),对于具有N个实例和M个特征的N-by-M数据集“要素”,

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

如果内核不是线性的,那么这将无法给出正确的答案。

有关详细信息,请参阅libsvm手册中的How could I generate the primal variable w of linear SVM?