我试图理解这个与 svm 有关的例子http://www.mathworks.com/help/bioinfo/ref/svmclassify.html
我运行了获取虹膜数据的示例,并按照示例中给出的方式绘制了 svm。然而,当我查看 svmstruct 中的支持向量时,我得到了很多新值。AFAIK,支持向量应该是样本本身,位于边缘的那些。但是,当我打印 svmStruct.SupportVectors 时,我会得到不同的值,例如
-0.0073 -0.4143
-0.3706 -0.4143
-0.2495 -0.1789
-0.1284 0.2919
-0.0073 -0.4143
-0.1284 -0.6498
0.1139 0.0565
0.2350 -0.1789
-0.4918 -0.1789
-0.2495 -0.4143
-0.4918 0.0565
0.1139 -0.4143
-0.0073 0.2919
-0.1284 0.2919
-0.0073 0.2919
0.2350 -0.4143
0.8406 -0.6498
-0.1284 0.2919
0.2350 0.2919
这些不在样本点中。任何澄清
我也尝试运行我自己的示例,这就是我得到的。
我不明白分离边界恰好位于样本点之一上。我不认为这是最好的超平面。我猜它应该定义了一些稍微低一些的决策边界。它也圈出了支持向量,我不确定那些应该是支持向量。最奇怪的是超平面到点的margin并不大。为什么会这样?