我在某个地方读到,支持向量的松弛变量的值不是0。这是否意味着位于错误区域的点,例如,位于负区域的正点,也将是一个支持向量?我还附上了一张图片,它显示了位于错误区域的点也支持向量。我正在寻找对这种现象的解释。
发布于 2020-10-05 14:58:47
是的,它们是支持向量。这是因为它们在分离正区域和负区域的超平面的计算中贡献(或作为支持)。这个超平面由:
其中,x是我们的\text{n-dimensional}输入向量,包含问题的n特性(学习过程中的输入样本),而b和\mathbf{w} = (w_1,w_2,...,w_n)^T是经过优化的参数。更具体地说,b是超平面的截距,(w_1,w_2,...,w_n)^T是它的法向量(在马西尔中是正确的)。
更详细的理由可以在我推荐的吴家祥注意到支持向量机中找到。
为了理解它们的贡献,我们需要查看成本函数J,它是在数据不是线性可分的情况下使用的,例如问题(此成本函数也用于防止异常值的影响):
其中,\xi_i是输入样本x_i的空白,只有当输入样本x_i被正确分类并呈现功能裕度\geq1时,才是\xi_i = 0。
为了有效地解决这一问题,通过将拉格朗日对偶性应用于前面提出的问题(最小化J w.r.t ),证明了这一点。( \mathbf{w}和b),我们最终得到了一个等价的问题,即最大化下一个函数w.r.t。\alpha:
其中每个\alpha_i都是与输入样本x_i相关联的拉格朗日乘子。
此外,可以证明,一旦确定了拉格朗日乘子的最优值,就可以通过下列方法计算超平面的法向量:
现在我们可以看到,只有与\alpha_i\neq0相关联的向量才能对超平面的计算做出贡献。这个向量是支持向量。
现在的问题是:什么时候\alpha_i \neq 0?
正如在上面的注释中所解释的,\alpha_i \neq 0的值是从需要满足的KKT条件导出的,这样才能找到\alpha_i的值,从而使我们的成本函数最小化。它们是:
因此,在边缘(条件数为3和条件数为2)上的向量(当=1时条件数为3和条件数2)、正确分类但位于边缘和超平面之间的向量(<1时的条件号2)和被错误分类的向量(当<1时也是条件2)是带有\alpha_i \neq0的向量,因此有助于计算超平面\rightarrow,因此它们是支持向量。
https://datascience.stackexchange.com/questions/81528
复制相似问题