最佳决策平面的保证金

时间:2014-12-28 22:17:22

标签: machine-learning svm

For a given dataset of 2-D input data, we apply the SVM learning
algorithm and achieve an optimal decision plane:

H(x) = x^1 + 2x^2 + 3

What is the margin of this SVM?

我一直在研究这个问题,试图找出解决这个问题的方法。我认为这意味着相对简单,但我一直在搜索我的学习材料,却无法找到我的意思来回答这个问题。

我非常感谢我应该采取的步骤来解决这个问题。

感谢。

1 个答案:

答案 0 :(得分:1)

仅在给出最佳决策平面的情况下计算边际是不可能的。你应该给出支持向量或至少是类的样本。

无论如何,您可以按照以下步骤操作:

1 - 计算我不喜欢的拉格朗日乘数(alphas)知道你在哪个环境但你可以使用MATLAB的二次规划求解器:quadprog(),它并不难使用。

2 - 查找支持向量。请记住,只有支持向量的alphas才能消失。 t等于零(但样本的其他alpha值等于零),因此您可以找到类的支持向量。

3 - 计算w向量,它是与最佳超平面正交的向量。你知道,可以使用下面的总和来计算这个向量:

enter image description here

其中,

alpha(i): alphas (lagrange multipliers) of support vector;    
y(i)    : labels of samples (say -1 or +1); 
phi()   : kernel function; 
x(i)    : support vectors.

4 - 从每个类中获取一个支持向量,假设一个是来自第1类的SV1,而来自第2类的其他SV2。现在,您可以使用向量计算边距投影和点积:

margin = < (SV1 - SV2), w > / norm(w)

其中,

<(SV1 - SV2), w> : dot product of vector (SV1 - SV2) and vector w
norm(w)          : norm of vector w