在SVM中,将W向量归一化有一些问题:
for each i W_i = W_i / norm(W)
我很困惑。乍一看似乎结果sign(<W, x>)
将是相同的。但如果是这样,在损失函数norm(W)^2 + C*Sum(hinge_loss)
中,我们可以通过do W = W / (large number)
来最小化W.
那么,我哪里错了?
答案 0 :(得分:2)
我建议您阅读我的最小5 ideas of SVMs或更好
[Bur98] C. J. Burges,“A tutorial on support vector machines for pattern recognition”,数据挖掘和知识发现,第一卷。 2,没有。 2,pp.121-167,1998。
回答您的问题:SVM定义了一个超平面来分隔数据。超平面由法向量w和偏差b:
定义如果只改变w,这将给出另一个超平面。然而,SVM做了更多的技巧(参见我的5个想法),权重向量实际上被归一化为与两个类之间的边界关系。
答案 1 :(得分:1)
我认为你错过了那个约束 对于所有示例,r(wTx + w0)> = 1,因此对权重向量进行归一化将违反此约束。
事实上,这个约束首先在SVM中引入,以实际实现一个独特的解决方案,就像你提到的那样,通过缩放权重向量可以实现无限的解决方案。