Nee*_*hah 7 statistics machine-learning svm
我理解由拉格朗日对偶和所有组成的整体 SVM 算法,但我无法理解为什么特别是支持向量的拉格朗日乘数大于零。
谢谢你。
这可能是一个迟到的答案,但我将我的理解放在此处供其他访问者使用。
拉格朗日乘数,通常用α表示,是所有训练点的权重向量作为支持向量。
假设有 m 个训练示例。那么α是一个大小为m的向量。现在关注 α 的任何第 i 个元素:α i。很明显,α i捕获第 i 个训练示例的权重作为支持向量。α i值越高意味着第 i 个训练样本作为支持向量的重要性越高;例如,如果要进行预测,那么第 i 个训练示例在得出决定时将更加重要。
现在来到OP的关注点:
我无法理解为什么特别是支持向量的拉格朗日乘数大于零。
它只是一个构造。当你说 α i = 0 时,只是第 i 个训练样例的支持向量为零权重。你也可以说第 i 个例子不是支持向量。
旁注:KKT 的条件之一是互补松弛度:对于所有 i,α i g i (w)=0。对于支持向量,它必须位于意味着 g i (w)=0的边界上。现在 α i可以或不能为零;无论如何,它满足互补松弛条件。对于 α i = 0,您可以根据上面给出的讨论选择是否将这些点称为支持向量。但是对于非支持向量,α i必须为零才能满足互补松弛,因为 g i (w) 不为零。
我也想不通这个问题...
如果我们举一个简单的例子,假设有 3 个数据点,其中 2 个为正类 (yi=1):(1,2) (3,1) 和一个负类 (yi=-1):(-1,-1) - 我们使用拉格朗日乘数进行计算,我们将得到完美的 w (0.25,0.5) 和 b = -0.25,但我们的 alpha 之一为负数 (a1 = 6/32, a2 = -1/32, a3 = 5/ 32)。