SVM分类

目录

1.1  Logistic回归线性分类器

1.2 SVM概述:

1.3 深入SVM

1.3.1 对偶问题求解的三个步骤

1.3.2 核函数

1.3.3 使用松弛变量处理 outliers 方法


1.1  Logistic回归线性分类器

 

给定一个分类超平面将空间中的数据分为两类,分类超平面为:

                https://img-blog.csdn.net/20131107201104906

使 得,

https://img-my.csdn.net/uploads/201304/05/1365174192_8325.png

    其中x是n维特征向量,函数g就是logistic函数。

 https://img-my.csdn.net/uploads/201304/05/1365174223_1807.png的图像是

SVM分类_第1张图片

    可以看到,将无穷映射到了(0,1)。

也可以对g(z)做一个简化,将其简单映射到y=-1和y=1上。映射关系如下:

https://img-my.csdn.net/uploads/201304/05/1365175998_9759.png

一个简单的线性回归分类超平面为:

SVM分类_第2张图片

1.2 SVM概述:

易知符合1.1的分类器有多个,SVM是要寻找最优的分类器。

SVM分类_第3张图片

定义函数间隔(用表示)为:https://img-blog.csdn.net/20131107201248921

几何间隔https://img-blog.csdn.net/20131107201919484https://img-blog.csdn.net/20131107201759093

SVM分类_第4张图片 https://img-blog.csdn.net/20131107201720515两边同乘W,https://img-blog.csdn.net/20160117004117802

https://img-blog.csdn.net/20131107201759093,距离要取绝对值,乘y实现取绝对值:https://img-blog.csdn.net/20131107201919484

 

求最优超平面问题转化为约束优化为题:

Maxhttps://img-blog.csdn.net/20131107201919484,s.t, https://img-blog.csdn.net/20140829140642940

将函数间隔取1,问题转化为:

https://img-my.csdn.net/uploads/201210/25/1351141837_7366.jpg

1.3 深入SVM

优化问题可进一步转化为:

https://img-my.csdn.net/uploads/201210/25/1351141994_1802.jpg

因为现在的目标函数是二次的,约束条件是线性的,所以它是一个凸二次规划问题。

根据拉格朗日对偶性,得到与原问题等价的对偶问题,将约束优化问题转化为无约束优化问题:

https://img-my.csdn.net/uploads/201210/25/1351142295_1902.jpg

https://img-my.csdn.net/uploads/201210/25/1351142114_6643.jpg

把最小和最大的位置交换一下,变成:

https://img-my.csdn.net/uploads/201210/25/1351142316_5141.jpg

因为满足KKT条件所以有d*=p*

1.3.1 对偶问题求解的三个步骤

(1)、首先固定https://img-blog.csdn.net/20131111195836468要让 L 关于 w 和 b 最小化,我们分别对w,b求偏导数,即令 L/w L/b 等于零

SVM分类_第5张图片

将以上结果代入之前的L: 

    得到:SVM分类_第6张图片

SVM分类_第7张图片

(2)利用SMO算法求解对偶问题中的拉格朗日乘子https://img-blog.csdn.net/20131111195836468

SVM分类_第8张图片

(3)求出了https://img-blog.csdn.net/20131111195824031,根据https://img-my.csdn.net/uploads/201301/11/1357838666_9138.jpg,即可求出w,然后通过https://img-my.csdn.net/uploads/201301/11/1357838696_3314.png,即可求出b,最终得出分离超平面和分类决策函数。

注意:所有非Supporting Vector 所对应的系数https://img-blog.csdn.net/20131111164022593都是等于零的,因此对于新点的内积计算实际上只要针对少量的“支持向量”而不是所有的训练数据即可。

Lagrange multiplier得到的目标函数:

https://img-my.csdn.net/uploads/201210/25/1351142613_4680.jpg

     注意到如果 xi 是支持向量的话,上式中红颜色的部分是等于 0 的(因为支持向量的 functional margin 等于 1 ),而对于非支持向量来说,functional margin 会大于 1 ,因此红颜色部分是大于零的,而又是非负的,为了满足最大化,必须等于 0 。这也就是这些非Supporting Vector 的点的局限性。 

1.3.2 核函数

对于一个数据点 x 进行分类,实际上是通过把 x 带入到https://img-blog.csdn.net/20131107201211968算出结果然后根据其正负号来进行类别划分的。而前面的推导中我们得到 

https://img-blog.csdn.net/20131111163543781

    因此分类函数为:

SVM分类_第9张图片

我们目前求出的f函数还是一个超平面,只能处理线性情况,我们通过引入Kernel函数可以将其推广到非线性情况。

在线性不可分的情况下,支持向量机首先在低维空间中完成计算,然后通过核函数将输入空间映射到高维特征空间,最终在高维特征空间中构造出最优分离超平面,从而把平面上本身不好分的非线性数据分开。如图所示,一堆数据在二维空间无法划分,从而映射到三维空间里划分:

SVM分类_第10张图片

在我们的分类函数中我们主要是计算内积.所以我们现在是要将x映射到高维空间,在高维空间中计算内积<>.核函数方法:是一种直接计算样本x在高维空间中内积的方法.所以有https://img-my.csdn.net/uploads/201206/04/1338741445_1451.JPG(ϕ:X->F是从输入空间到高维特征空间的映射).

有如下线性不可分样本:

   SVM分类_第11张图片

显然样本的理想分类超平面为圆

圆方程可表示为https://img-blog.csdn.net/20130820145508875

相等于将样本x映射到五维空间(X1,X12,X2,X22,X1X2),后再做分类超平面求解。而求解过程中我们又要计算内积,所以我们直接用一下方法计算高维空间的内积:

https://img-my.csdn.net/uploads/201304/03/1364953683_4519.jpg

我们把这里的计算两个向量在隐式映射过后的空间中的内积的函数叫做核函数:

https://img-my.csdn.net/uploads/201304/03/1364956440_7770.jpg

注意:我们之前的计算中先算w,b,再算a。而后将他们带入原式,得到分类函数

https://img-blog.csdn.net/20131107201211968

SVM分类_第12张图片

b的求解公式为https://img-my.csdn.net/uploads/201301/11/1357838696_3314.png,在整个过程中没有单独计算x。所以我们使用核函数代替内积计算不影响中间任何求解过程。

最终 http://blog.pluskid.org/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/141/03B1.png 由如下 dual 问题计算而得:

SVM分类_第13张图片

然后再带入求得w,b。

核函数的精髓就是避开了直接在高维空间中进行计算,而结果却是等价的。

核函数的价值在于它虽然也是将特征进行从低维到高维的转换,但核函数绝就绝在它事先在低维上进行计算,而将实质上的分类效果表现在了高维上,也就如上文所说的避免了直接在高维空间中的复杂计算。

附:

高斯核https://img-my.csdn.net/uploads/201304/03/1364958259_8460.jpg

 

1.3.3 使用松弛变量处理 outliers 方法

例如可能并不是因为数据本身是非线性结构的,而只是因为数据有噪音。对于这种偏离正常位置很远的数据点,我们称之为 outlier。outlier 的存在有可能造成很大的影响,

SVM分类_第14张图片

考虑到outlier问题,约束条件由:

https://img-my.csdn.net/uploads/201304/03/1364959415_3450.jpg

 变为:

https://img-my.csdn.net/uploads/201304/03/1364959452_3595.jpg

其中https://img-my.csdn.net/uploads/201304/03/1364959520_2870.jpg称为松弛变量,对应数据点https://img-my.csdn.net/uploads/201304/03/1364959545_2101.jpg允许偏离的 functional margin 的量。

所以最终的约束优化问题为:

SVM分类_第15张图片

    其中 http://blog.pluskid.org/MathJax/fonts/HTML-CSS/TeX/png/Math/Italic/141/0043.png 是一个参数,用于控制目标函数中两项(“寻找 margin 最大的超平面”和“保证数据点偏差量最小”)之间的权重。

 

 

 

你可能感兴趣的:(机器学习)