svm-基于机器学习技法

这一章节聊聊SVM,网上关于svm的介绍学习材料也有很多,博主在学习了林轩田的机器学习技法的视频之后,只是想着去自我总结一下,并接下来对svm的调包更加熟悉。

首先我们看一个线性分类的例子:

从上图三个线性分类的例子中,他们都很好的将不同的类别圆圈和红叉分开了,至少从训练集上来看是这样的,但是哪一条直线是最好的呢?

我们可以看见最右边的线到两侧的点的距离是最大的,距离越大,对噪声的忍耐效果越好,为甚这样说,若果存在一个点X在上面的四个点附近的话,最右侧最不容易做出错误的分类。

阴影部分就体现了分割超平面的稳健性,为了尽量让这个部分面积尽量的大,所以我们要做的就是在样本所在区域中,找到n-1维的超平面,如何去找呢,我们要找的那个超平面要满足的条件就是理他最近的点要最大。

W是超平面的法向量,不过这里讲原来的w拆成了w(n-1维)和截距b。

点x’到平面的距离就是distance(x,b,w),其中||w||为w的二阶范数(范数是一个类似于模的表示长度的概念),w/||w||是单位向量(一个向量除以它的模称之为单位向量)。又由于x’是超平面上的点,满足w*x‘=0,代入超平面的方程(向量a在向量b上的投影长度怎么计算是a*b/|b|

这一章节聊聊SVM,网上关于svm的介绍学习材料也有很多,博主在学习了林轩田的机器学习技法的视频之后,只是想着去自我总结一下,并接下来对svm的调包更加熟悉。

首先我们看一个线性分类的例子:

从上图三个线性分类的例子中,他们都很好的将不同的类别圆圈和红叉分开了,至少从训练集上来看是这样的,但是哪一条直线是最好的呢?

我们可以看见最右边的线到两侧的点的距离是最大的,距离越大,对噪声的忍耐效果越好,为甚这样说,若果存在一个点X在上面的四个点附近的话,最右侧最不容易做出错误的分类。

阴影部分就体现了分割超平面的稳健性,为了尽量让这个部分面积尽量的大,所以我们要做的就是在样本所在区域中,找到n-1维的超平面,如何去找呢,我们要找的那个超平面要满足的条件就是理他最近的点要最大。

W是超平面的法向量,不过这里讲原来的w拆成了w(n-1维)和截距b。

点x’到平面的距离就是distance(x,b,w),其中||w||为w的二阶范数(范数是一个类似于模的表示长度的概念),w/||w||是单位向量(一个向量除以它的模称之为单位向量)。又由于x’是超平面上的点,满足w*x‘=0,代入超平面的方程(向量a在向量b上的投影长度怎么计算是a*b/|b|

现在我们得到了距离公式,以及超平面的法向量,w,b,为了达到正确分类,我们进一步定义,yn是某个样本的正确分类, 是通过超平面分类的结果,我们慕便是全部分类正确,所以yn*f(x)>0

目标函数:

就是这样,

定义了在所有点中进行遍历,找到最小的距离,max(magin)是目标函数最大化。

 

对于最大化问题,我们更擅长解决最小化问题。

首先:

对于原来找到离超平面最小距离,由于超平面并没有发生变化,点到超平面的距离也不会变化。(w,b未改变)w,b的放缩会使得||wx+b||变化,由于存在分数||w||处理后,所以点到面的距离未改变。所以我们可以进行标准化处理,找到离超平面距离公式的分子||wx+b||=1最近的点,调整w,b的值却不改变距离,也方便后续的计算。

 

现在的问题变成了

同时||w||的二范数倒数的最大化可以转化为最小化(wtw)^(1/2),求解这个最小化等同于(wtw)等同于(1/2)*(wtw)

 

证明

证明原约束条件等铜线现在的约束条件,即原来的最优解肯定在现在的约束条件中,若不是的话,可以通过标量化处理之后是个wtx+b=1,得到更大的1/||w||又有原来是最优解条件是>1的,所以矛盾,所以约束条件改变最优解不变。

 

新的目标函数

求解:构建拉格朗日函数

αn 是拉格朗日乘子。

这个问题又能变成最大最小化问题。

Min(maxL(b,w, )),当条件不成立时max(L)会趋于无穷,成立时max()会趋于0,min(1/2*wtw+L)=1/2*wtw

条件;

 

对偶问题:转化为对α 的求解

证明min(max)==max(min)

 

Kkt

 

 

 

Kkt1条件1

Kkt2

从中推出min(max)=max(min)

求解第一步:对b求导=0

求解第二步:对w求导=0

Kkt部分条件(3)

最终关于α 的目标函数:

标准形式:

这是一个标准的二次规划问题,从某个角度来说是容易解决的

然后就可以通过kkt3求出W,b.

 

Zm *Zn的运算,当维度很高时,计算是非常麻烦的。一次内积操作n*n次运算。

其实我们可以在低维就可以先进行运算,d*d次运算。

 

例如:我们将原来d维转化成n=d*d+d+1维如下图的形式

在n=d*d进行内积计算时会发现:

其实就是在低维空间向量的内积和内积的平方项(可能有人会问为什么要在高维空间进行内积操作,还记得求解α 吗,而已规划问题的求解是要用到每个样本向量的内积的)

所以我们并不需要将向量转化到高维空间再进行内积操作,直接在低维空间就可以直接进行内积操作得到高维的内积结果。

形式变化:z=∅(x) ,   zTz=K∅ (x,x’)

原来b的求解以及预测:

 

 

常见二次指数核:γ 取不同值(只是便于转化成平方项)

 

 

 

 

 

 

常数项当然也可以变化,所以指数核有三个参数:γ ,τ ,以及指数次数.

线性核:

 

线性核只是在低维空间进行超平面划分,对于线性核分类效果不好,我们可以考虑使用指数核以及高斯核。

 

高斯核:我们可以将维度调高至无限维度(也叫作rbf核)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

当x就是一维:在高维空间内积就定义为exp(-(x-x’))=zTz,过程中进行泰勒展开。

预测时只需要用到支撑向量:

 

核的选择:

松弛变量,允许有一些误差,如果是hard separate的话,有可能对噪声也进行的合理划分,导致过拟合。

我们可以放弃对某些样本的合理划分,只要尽可能的是的划分错误的样本数少就可以了

对于正确分类的依旧是yn(wTz+b)>=1,对于划分错误的样本,我们可以容忍,yn(wTz+b)可以为任意负值。

 

上述问题求最优解不是一个二次规划问题,求解困难,且难以表达分类错误的点到边界的距离,即分类错误的程度。

此时引入εn ,表示错误分类点到该正确类边界的距离,正确分类的haunt距离为0.

约束条件也发生了变化

目标函数变量个数w(d),c(1), εn (n)

约束条件n+n=2n

 

对偶形式

这里就不想之前详细写转化过程了,min()----min(max)----max(min)

这里的参数相对较多,c是trade-off,是自定义的,可以说是已知变量。

拉格朗日乘子:α

我们首先对分别对ε 求导得到c=α ,此时将β 进行替换,发现目标函数可以化简成上述形式

我们发现这样的形式与之前的SVM形式是相同的,只不过我们这里多了约束条件:

c-

 

对于svm问题,我们的整个最后的形式如下

b求解差异

b的求解过程中,有ε 这个我们是不知道的,那么b该怎么求解,

如果当ε 为0的时候b不就很好求解了嘛

此时free sv ,这种支撑向量刚好在胖胖的边界上。

 

 

可以通过交叉验证选择合适的C和gama.

 

 

因为

所以错误分类时αn =c,此时上式右边(1-,,,)=0,所以εn =1-yn(wTz+b)

所以目标函数形式变为:

这个函数并不是一个二次规划形式,不过这个目标函数却在形式上l2形式十分相似。

第一部分l2正则化,λ 是系数,后面是均方误差。

λ 越大,模型泛化能力越强,对噪声的抗性越好。

C越大,模型对错误更加敏感,泛化越差。C近似1/λ .

分类:

第一种就是θ (wz+b)这种,θ就是某个转换函数,比如就是将>=0.5=1,<0.5就归于0这样的。

第二种就是利用SVM与逻辑回归的相似性,讲求的w和b作为起始点去学得到最后逻辑回归的结果,但这个和普通的逻辑回归差别并不大啊。

 

这时候加入两个自由度A和B,一个放缩,一个平移,将学到的svm放入其中,骨子里就是svm,更加吻合maxlikelyhood。

A和B怎么去学?对数损失min(A,B)见下图:

 

可以把svm的核用到l2正则化逻辑线性函数

第一步:证明w是z的线性组合,所以求w就是求z变量前面的系数。

倘若我们现在得到了解,W*为最优解,若最优解不是z的线性组合,我们将w分成两个部分,一个部分是能用z线性表出的即为w||,不能表出的即为wT,err(y,w*z)=err(w||z,y),min()内容的前一部分得到W*T W>w||Tw,后面相同,但W*不是最优解吗?矛盾。所以最优解就是z 的线性组合。

 

这时候就只用求解系数了,不用求解W,从而得到w。

 

1)这里有点困惑,可能直接把学到的W放到1/1+e^(wTX)得到结果,原来的逻辑回归中分母的线性函数用到了L2正则化,系数w的求解利用的svm的机理,而且是转化成对β 的求解得到线性函数最后带入logistic函数得到分类0-1之间的值。

 

利用svm岭回归中来,得到我们w,b

(1)回归的误差函数

对于岭回归来说:目标函数如下,同样有w是z的线性组合

用β 的线组代替W得到:

贝塔的求解:

对β求梯度得到上图第二式子。

 

比较:

SVR

Tube regression

Tube regreesion是这样的,我们所要得到的超平面或者说是拟合线性函数两侧各有一个阴影区域,如上图右侧显示,不在拟合直线上的点当然就存在误差,但是现在定义一个ϵ,是的落入阴影区域的err()为0,不计较它的损失,所以损失函数就是max(0,|s-y|-ϵ )

 

转化为熟悉的,标准的SVM的形式:

 

由于目标函数中存在max()函数,不符合二次规划的形式:

现在我们将|wTz+b-y|-ϵ=ε n

引入不等式约束,max(0,|wTz+b-y|-ϵ )= ε n,,每个样本的err

 

因为存在绝对值,还是不符合二次规划形式:

将绝对值打开,y可能有两种情况,一个小于wTz+b,另一个大于,所以我们用箭头上标,下标加以区分,并把这两个都放入目标函数。

这就是一个svr问题,正则化+损失

 

现在我们来看一下整个svr问题,待选择的一个较好的C,选择较好的ϵ ,反映阴影区域的宽度,不同的ϵ 导致err上限或者下限不同,当然了其中一个肯定是0.

构建拉格郎日函数:两个不等式乘子分别用上下箭头的α 表出

对w和b求导:

剩余的kkt条件有:获得对偶形式所需要的条件,两个不能同存于世的条件

这样我们就能获得和之前相似的对偶形式的目标函数了。

其实svm soft magin Dual 内容和svr dual 的形式上式很类似的,上图右下方就是推导的得到的svr的对偶形式目标函数表达式。

对于2个向量α 求导,便可以向之前一样的到w,b,b是通过free vector得到的。

样本得到拟合。

 

W是稀疏的sparity

 

对于tube区域就是阴影部分的点εn=0的,无论箭头头向上还是向下。

在tube区域中存在定义:

所以得到这样的结论:落入tube的点他的乘子是=0的,所以βn =0,所以w稀疏了一些

 

 

 

何时系数不是0:这里写的是支撑向量SV,但w是z的线性组合啊,虽说超平面只和支撑向量有关,落入tube外的vector的系数也是部位0 的啊。

 

 

调参就之后再写吧…………………..

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值