Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 为什么SVM中的支持向量的alpha(拉格朗日乘数)大于零?_Machine Learning_Statistics_Svm - Fatal编程技术网

Machine learning 为什么SVM中的支持向量的alpha(拉格朗日乘数)大于零?

Machine learning 为什么SVM中的支持向量的alpha(拉格朗日乘数)大于零?,machine-learning,statistics,svm,Machine Learning,Statistics,Svm,我理解由拉格朗日对偶和所有组成的整个SVM算法,但我无法理解为什么拉格朗日乘数对于支持向量大于零 谢谢。我也弄不明白 如果我们举一个简单的例子,比如3个数据点,2个正类(yi=1):(1,2)(3,1)和一个负类(yi=-1):(-1,--1)-我们用拉格朗日乘数计算,我们会得到一个完美的w(0.25,0.5)和b=-0.25,但我们的一个字母是负的(a1=6/32,a2=-1/32,a3=5/32).这可能是一个迟来的回答,但我将我的理解放在这里供其他访客参考 拉格朗日乘子,通常用α表示,是作

我理解由拉格朗日对偶和所有组成的整个SVM算法,但我无法理解为什么拉格朗日乘数对于支持向量大于零


谢谢。

我也弄不明白


如果我们举一个简单的例子,比如3个数据点,2个正类(yi=1):(1,2)(3,1)和一个负类(yi=-1):(-1,--1)-我们用拉格朗日乘数计算,我们会得到一个完美的w(0.25,0.5)和b=-0.25,但我们的一个字母是负的(a1=6/32,a2=-1/32,a3=5/32).

这可能是一个迟来的回答,但我将我的理解放在这里供其他访客参考

拉格朗日乘子,通常用α表示,是作为支持向量的所有训练点的权重向量

假设有m个培训示例。那么α是一个大小为m的向量。现在关注α的任何第i个元素:αi。显然,αi捕获第i个训练示例的权重作为支持向量。αi值越高,表示第i个训练样本作为支持向量的重要性越高;例如,如果要做出预测,那么在得出决策时,训练示例将更为重要

现在来谈谈OP的担忧:

我不明白为什么,尤其是拉格朗日乘数 对于支持向量,大于零

这只是一个构想。当你说αi=0时,只是第i个训练示例的支持向量权重为零。你也可以说第i个例子不是支持向量

旁注:KKT的条件之一是互补松弛度:所有i的αigi(w)=0。对于支持向量,它必须位于表示gi(w)=0的边界上。现在αi可以或不可以为零;总之,它满足互补松弛条件。
对于αi=0,您可以根据上面给出的讨论选择是否将这些点称为支持向量。但对于非支持向量,αi必须为零才能满足互补松弛度,因为gi(w)不是零。

你可以在统计堆栈中找到这个答案