SVM推导

实际上我们需要训练一个线性分类器(超平面):$$f(x)=sgn(w^{T}x+b)$$,也就是说当$$ w^{T}x+b \\geq 0 $$的时候输出1,否则输出-1。$$sgn()$$表示取符号。而$$g(x) =w^{T}x + b=0$$就是我们要寻找的分类超平面。
令$$H_{1}: w^{T}x + b= 1 和 H_{2}: y = w^{T}x + b=-1$$
好了,这时候我们就需要两个条件:(1)没有任何样本在这两个平面之间;(2)这两个平面的距离需要最大。(对任何的H1和H2,我们都可以归一化系数向量w,这样就可以得到H1和H2表达式的右边分别是+1和-1了)。
对于条件(2),例如$$ax+by=c_{1}$$和$$ax+by=c_{2}$$,那他们的距离是$$
\\frac{|c2-c1|}{\\sqrt(x2+y2)}$$
而用w来表示就是$$H_{1}: w_{1}x_{1}+w_{2}x_{2}=+1$$和$$H_{2}:w_{1}x_{1}+w_{2}x_{2}=-1$$,那$$H_{1}$$和$$H_{2}$$的距离就是$$
\\frac{|1+1|} {\\sqrt(w^{2}_{1}+w^{2}_{2})}=\\frac{2}{||w||}$$。
也就是说,我们需要最大化$$margin=\\frac{2}{||w||}$$,为了最大化这个距离,我们应该最小化||w||。同时我们还需要满足条件(1),也就是同时要满足没有数据点分布在H1和H2之间。
– 那么对于任何一个正样本$$y_{a}$$,保证$$y_{a}=w^{T}x+b \\geq 1$$
– 那么对于任何一个负样本$$y_{b}$$,保证$$y_{b}=w^{T}x+b \\leq -1$$
– 合并成一个式子后变成$$y_{i}(w^{T}x+b) \\geq 1$$

下面我们将这个问题转化为一个二次优化问题(Quadratic Programming)。
$$min\\frac{1}{2}||w||^{2}$$
$$s.t. y_{i}(w^{T}x_{i}+b) \\geq 1 , \\forall x_{i}$$
两个式子分别表示了,最大化支持向量与超平面的距离,在支持平面+1,-1区域内没有样本点。

发表评论

电子邮件地址不会被公开。 必填项已用*标注