SVM知识点汇总

目录

1. 简单描述SVM(线性可分SVM的求解)

2. 线性SVM

3. 非线性SVM

 

 

1. 简单描述SVM

SVM是一个分类算法,通过寻找一个分离超平面,将正负样本分开,并且正负样本到超平面的间隔最大。分离超平面可以用y = wx + b来描述,样本到超平面的相对距离可以用函数间隔r = | wx + b |描述。当y+ = 1, y - = -1时,r = | wx + b | = y( wx + b )。但由于当w,b成比例变化时,超平面不变,但样本到超平面的距离会发生改变,因此改用几何间隔r' = y( wx + b)/ ||w||。整个模型可表示如下图:

约束最优化问题,利用拉格朗日对偶性将其转化为对偶问题进行求解。拉格朗日对偶性的求解形式如下:

对照写出SVM问题的拉格朗日函数:

原始问题是极小极大问题,将其转换为对偶问题求解,并且只有当问题满足KKT条件时,可将对偶问题的解作为原始问题的解。

于是SVM问题就变为:

关于拉格朗日算子α的约束优化问题的求解:SMO算法(序列最小最优化)

2. 线性SVM

当样本无法被超平面完全分开时,引入松弛变量,使得不可分的部分样本能被超平面分开。但当松弛变量过大时,SVM分类模型就失去意义了,因此对松弛变量进行惩罚。

这样的线性SVM等价于以下最优化问题:

可以看到等价的这个目标函数是由合页损失函数和正则化项组成的。这种自带正则化项的特性,使得SVM有较好的泛化能力。

实际上大部分问题都不是线性可分问题,同时这样的做法也可以避免线性可分SVM受异常点影响较大的问题。

 3. 非线性可分SVM

此时,需要将样本空间映射到更高维来解决,即Ø(x) = x,由于待求解的问题中存在xi * xj,因此映射后存在Ø(xi) * Ø(xj),难以求解。于是提出核函数K(xi, xj) = Ø(xi) * Ø(xj)。核函数有以下几种:

1)线性核函数

2)径向基核函数

所谓径向基函数 (Radial Basis Function 简称 RBF), 就是某种沿径向对称的标量函数。 通常定义为空间中任一点x到某一中心xc之间欧氏距离的单调函数 , 可记作 k(||x-xc||), 其作用往往是局部的 , 即当x远离xc时函数取值很小。

径向基核函数中最常见的是高斯核函数,同时还有高斯核函数的变种,指数核函数和拉普拉斯核函数。

高斯核函数:

指数核函数:

指数核函数就是高斯核函数的变种,它仅仅是将向量之间的L2距离调整为L1距离,这样改动会对参数的依赖性降低,但是适用范围相对狭窄。

拉普拉斯核函数:

拉普拉斯核完全等价于指数核,唯一的区别在于前者对参数的敏感性降低。
核函数的选择(下面是吴恩达的见解):
1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM
2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况
https://www.zhihu.com/question/22337522/answer/133833789
https://www.zhihu.com/question/21883548/answer/112128499

 

posted @ 2017-10-01 23:53  CC的岁月童话  阅读(770)  评论(0编辑  收藏  举报