给定数据点和标签,硬边距SVM基本问题是
这是一个针对和约束进行优化的变量的二次程序。双重
实施硬边距SVM时,为什么要解决双重问题而不是原始问题?原始问题对我来说看起来更“直观”,我不必担心双重性差距,Kuhn-Tucker条件等。
如果,解决双重问题对我来说很有意义,但我怀疑还有更好的理由。是这样吗
给定数据点和标签,硬边距SVM基本问题是
这是一个针对和约束进行优化的变量的二次程序。双重
实施硬边距SVM时,为什么要解决双重问题而不是原始问题?原始问题对我来说看起来更“直观”,我不必担心双重性差距,Kuhn-Tucker条件等。
如果,解决双重问题对我来说很有意义,但我怀疑还有更好的理由。是这样吗
Answers:
根据@ user765195答案中引用的讲义(谢谢!),最明显的原因似乎是:
解决原始问题,我们获得了最优,但是对一无所知。为了对查询点进行分类,我们需要显式计算标量积,如果大,则标量乘积可能会很昂贵。α 我 X 瓦特Ť X d
解决对偶问题,我们获得(其中,除少数点以外的所有点支持向量)。为了对查询点进行分类,我们计算α 我 = 0 X
如果支持向量很少,则可以非常有效地计算该项。此外,由于我们现在有了仅涉及数据向量的标量积,因此我们可以应用内核技巧。
<x1, x>
和wTx
。前者用作内核评估K(x1,x)的符号,内核评估K(x1,x)将x1和x投影到一个非常高维的空间中,并隐式计算投影值的标量积。后者是正常标量积,因此w
与x
必须被明确地投影,然后标量积被明确地计算。根据内核的选择,一次显式计算可能比许多内核评估花费更多的计算。
从数值优化的角度来看,对偶公式具有吸引力的原因之一。您可以在以下论文中找到详细信息:
Hsieh,C.-J.,Chang,K.-W.,Lin,C.-J.,Keerthi,SS和Sundararajan,S.,“大规模线性SVM的双坐标下降法”,第25届国际机器学习大会,赫尔辛基,2008年。
对偶公式涉及一个仿射相等约束和n个约束。
1.仿射相等约束可以从对偶表述中“消除”。
通过将R ^ d嵌入到R ^(d + 1)中,只需向每个数据点添加单个“ 1”坐标即可得到R ^ d的嵌入,从而简单地查看R ^(d + 1)中的数据即可完成此操作d ----> R ^(d + 1):(a1,...,ad)| --->(a1,...,ad,1)。
对训练集中的所有点执行此操作可重铸R ^(d + 1)中的线性可分离性问题,并从分类器中消除常数w0,从而从对偶中消除仿射相等约束。
2.从点1开始,对偶可以轻松地转换为凸二次优化问题,其约束仅是约束约束。
3.现在可以有效地解决对偶问题,即通过对偶坐标下降算法产生O(log(1 / epsilon))中的ε最优解。
通过注意固定除一个以外的所有alpha会产生闭式解来完成此操作。然后,您可以一个接一个地循环浏览所有Alpha(例如,随机选择一个,固定所有其他Alpha,计算闭合形式的解)。可以证明您将“很快”获得接近最佳的解决方案(请参见上述论文中的定理1)。
从优化的角度来看,对偶问题具有吸引力的原因还有很多,其中一些利用了它只有一个仿射相等约束(其余约束都是有界约束)这一事实,而另一些则利用了在解决方案中的观察结果。对偶问题“通常大多数alpha”中的0是零(对应于支持向量的非零alpha)。
您可以从Stephen Wright 在Computational Learning Workshop(2009)上的演讲中很好地了解SVM的数值优化注意事项。
PS:我是新来的。很抱歉在此网站上不擅长使用数学符号。