支持向量机

上图中2为划分超平面:

                      WTx+b=0

假设超平面能将训练样本真确分类,yi=1时WTx+b>0 yi=-1 时WTx+b<0,令1和3表达式为 WTx1+b=-1 和 WTx2+b=1

故两支持向量之间的距离为

                                WT(x1-x2)=2

两边取范数:

                               ||W||||x1-x2||cosθ=2

而||x1-x2||cosθ就是两支持向量之间的距离d,所以

                               ||W||d=2

                               即d=2/||W||

欲找到最大硬间隔的距离,只需找到满足表达式的W和b,使b最大

                               maxw,b 2/||w||

                               约束为 yi(WTxi+b)>=1

也等价于:

                               minW,b 1/2||W||2-----1

                               约束为 yi(WTxi+b)>=1

对1式使用拉格朗日乘子可得到其对应的对偶问题,其中拉格朗日乘子αi>=0,所以1式的拉格朗日函数可以写成:

                             L(W,b,α)=1/2||W||2+∑m=1 to Mαi(1-yi(WTxi+b))

对上式中的W和b求偏导数:

                            ∂L(W,b,α)/ ∂W=0

                             ∂L(W,b,α)/ ∂b=0

得到:

                           W-∑m=1 to Mαiyixi=0

                            ∑m=1 to Mαiyi=0

将其带入拉格朗日函数得到问题的对偶问题:

                          maxα  ∑m=1 to Mαi- ∑i=1 to M ∑j=1 to MαiyiαiyiαjyjxiTxi

                          约束为 ∑m=1 to Mαiyi=0

                                     αi>=0

如何求得αi SMO算法是求此类问题的算法,流程如下:

1 初始化所有αi

2 选取其中两个αi和αj,并固定其他参数

3 重复第一和第二步,根据对偶函数和约束条件迭代得到αi和αj更新后的值,直到收敛    

上面所讨论样本在特征空间中是线性可分的,即存在一个超平面将不同类的样本完全分开,但是实际应用中的样本显然不是这样的,故现在引入软间隔的概念,软间隔允许某些样本不满足约束条件:

                      yi(WTx+b)>=1

故引入松弛变量ζi>=0,每一个样本对应一个松弛变量,反映样本对约束条件的不满足程度,其中C是惩罚项,C越大,表示对样本的重视程度高,是一个很重要的参数

将1式重写:

                         minW,b 1/2||W||2+C∑i=1 to Mζi

                        约束为 yi(WTxi+b)>=1-ζi

                                 ζi>=0

使用拉格朗日乘子得到原问题的对偶问题,原问题的拉格朗日函数是:

                    L(W,b,α,ζ,μ)=1/2||W||2+∑m=1 to Mαi(1-ζi-yi(WTxi+b))+C∑i=1 to Mζi-∑i=1 to Mζiμi

 L(W,b,α,ζ,μ)对W,b,ζ求偏导数:

                          W-∑m=1 to Mαiyixi=0

                           ∑m=1 to Mαiyi=0

                           C=αii

将上面三式带入拉格朗日函数得到:

                          maxα  ∑m=1 to Mαi- ∑i=1 to M ∑j=1 to MαiyiαiyiαjyjxiTxi

                          约束为 ∑m=1 to Mαiyi=0

                                     C>=αi>=0

同样使用SMO算法可求得αi

对于线性不可分的问题,引入将样本从低维空间映射到高维空间的映射函数Φ(x),使得映射到高维空间的样本线性可分

类似地,可以写出:

                        minW,b 1/2||W||2-----1

                       约束为 yi(WTΦ(xi)+b)>=1

其对偶形式为:

                       maxα  ∑m=1 to Mαi- ∑i=1 to M ∑j=1 to MαiyiαiyiαjyjΦ(xi)TΦ(xi)

                          约束为 ∑m=1 to Mαiyi=0

                                     αi>=0

Φ(xi)TΦ(xi)是高维空间的内积运算,存在维度灾难问题,所以很难计算,现引入核函数K(xi,xj)=Φ(xi)TΦ(xi)

将上式重写:

            maxα  ∑m=1 to Mαi- ∑i=1 to M ∑j=1 to MαiyiαiyiαjyjK(xi,xj)

                          约束为 ∑m=1 to Mαiyi=0

                                     αi>=0

同样的有SMO算法求解αi

下面说说核函数的选取标准:

              核矩阵K=[K(x1,x2),K(x1,x2),..(x1,xm);K(x2,x1),K(x2,x2),...(x2,xm);...;K(xm,x1),K(xm,x2),..,K(xm,xm)]是半正定的,即矩阵K的eig(K)>=0

                         

原文地址:https://www.cnblogs.com/semen/p/6813125.html