SVM核函数与软间隔
核函数
在上文中我们已经了解到使用SVM处理线性可分的数据,而对于非线性数据需要引入核函数的概念
它通过将数据映射到高维空间来实现线性可分。在线性不可分的情况下,支持向量机通过某种事先选择的非线性映射(核函数)将输入变量映射到一个高维特征空间,在这个空间中构造最优分类超平面。我们使用SVM进行数据集分类工作的过程首先是同预先选定的一些非线性映射将输入空间映射到高维特征空间(下图很清晰的表达了通过映射到高维特征空间,而把平面上本身不好分的非线性数据分了开来)

只要给出φ,计算出φ(x)和φ(z),再求他们的内积我们能够很容易的计算出K(X,Z),但是这样做的计算复杂度非常高,达到O(n2),我们可以得出一个φ但不去直接的计算它。
例如:
其中x和z都是n维向量

通过公式可以发现求x,z内积的平方与映射后求内积的结果是一样的,而最终的复杂度降到了O(n)。
我们直观看这个核函数,假设φ(x)与φ(z)夹角较小,则核函数k(x,z)会比较大,相反如果φ(x)与φ(z)夹角较大,则核函数k(x,z)会比较小,比如φ(x)与φ(z)正交,则相应核函数为0,所以核函数一定程度上是φ(x)与φ(z)相似度的度量,。
下面来介绍一种径向基函数(Radial Basis Function 简称RBF),也称作高斯核函数(Gaussian kernel)如下:

如果x与z相近,则核函数趋近与1,反之x与z差值很大,则核函数趋近于0.这个核函数叫做高斯核函数,能把特征值映射到无穷维。
进一步讨论,如果给出一个核函数,我们怎么证明他是个有效的核函数呢?
假设我们已经给出了一个有效的核函数K,给定一个含有m个点的训练集{x1,x2,x3……xm},我们使用Kij来表示(Ki,Kj),这样组成一个核函数矩阵(kernel matrix), 显然可以得到矩阵K是一个对称矩阵:

而且我们发现对于任意向量z,

通过公式我们了解到如果K是一个有效的核函数则对应的核函数矩阵是对称半正定矩阵(K>=0)。这是一个必要条件。而通过mercer定理它也是一个充分条件。Mercer定理表明为了证明K是有效的核函数,那么我们不用去寻找
,而只需要在训练集上求出各个
,然后判断矩阵K是否是半正定即可。
软间隔
SVM算法是假定数据是线性可分的,把数据映射到高维通常能够增加线性可分的可能性,但我们不能保证这总是有效的,而由于噪声值的存在,我们也不能保证计算出来的超平面是我们想要得到的,举个例子如左图展示了一个最优间隔超平面,但是当加上噪声值后,超平面有了比较大幅度的倾斜,得到了一个间隔小很多的超平面。

为了解决线性不可分的数据,我们需要重构最优化模型如下:

我们允许函数间隔小于1,而对于函数间隔小于等于1-ξ的点我们在目标函数上加上一个惩罚函数,C称作惩罚因子,
称作损失函数,C代表着超平面对于噪声值的权重,保证大多数的点函数间隔大于1,C越大表明离群点对目标函数影响越大,也就是越不希望看到离群点。
同时要调整的还有拉格朗日公式

这里的
和
都是拉格朗日乘子,然后将其看作是变量w和b的函数,分别对其求偏导,得到w和b的表达式。然后代入公式中,求带入后公式的极大值。整个推导过程比较复杂,最后得出模型的对偶形式:

此时,我们发现没有了参数
,与之前模型唯一不同在于
又多了
的限制条件。根据KKT推导出下列结论,在求拉格朗日乘子是需要使用到(SMO算法)。

至此SVM纯原理部分介绍完毕,接下来会结合实际应用来理解SVM算法。
SVM核函数与软间隔的更多相关文章
- SVM中的软间隔最大化与硬间隔最大化
参考文献:https://blog.csdn.net/Dominic_S/article/details/83002153 1.硬间隔最大化 对于以上的KKT条件可以看出,对于任意的训练样本总有ai= ...
- SVM支持向量机——核函数、软间隔
支持向量机的目的是寻找一个能讲两类样本正确分类的超平面,很多时候这些样本并不是线性分布的. 由此,可以将原始特征空间映射到更高维的特征空间,使其线性可分.而且,如果原始空间是有限维,即属性数量有限, ...
- 支持向量机 (二): 软间隔 svm 与 核函数
软间隔最大化(线性不可分类svm) 上一篇求解出来的间隔被称为 "硬间隔(hard margin)",其可以将所有样本点划分正确且都在间隔边界之外,即所有样本点都满足 \(y_{i ...
- 支持向量机(SVM)必备概念(凸集和凸函数,凸优化问题,软间隔,核函数,拉格朗日乘子法,对偶问题,slater条件、KKT条件)
SVM目前被认为是最好的现成的分类器,SVM整个原理的推导过程也很是复杂啊,其中涉及到很多概念,如:凸集和凸函数,凸优化问题,软间隔,核函数,拉格朗日乘子法,对偶问题,slater条件.KKT条件还有 ...
- 支持向量机(SVM)的推导(线性SVM、软间隔SVM、Kernel Trick)
线性可分支持向量机 给定线性可分的训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习到的分离超平面为 \[w^{\ast }x+b^{\ast }=0\] 以及相应的决策函数 \[f\le ...
- 5. 支持向量机(SVM)软间隔
1. 感知机原理(Perceptron) 2. 感知机(Perceptron)基本形式和对偶形式实现 3. 支持向量机(SVM)拉格朗日对偶性(KKT) 4. 支持向量机(SVM)原理 5. 支持向量 ...
- 线性可分支持向量机与软间隔最大化--SVM(2)
线性可分支持向量机与软间隔最大化--SVM 给定线性可分的数据集 假设输入空间(特征向量)为,输出空间为. 输入 表示实例的特征向量,对应于输入空间的点: 输出 表示示例的类别. 我们说可以通过间隔最 ...
- 机器学习,详解SVM软间隔与对偶问题
今天是机器学习专题的第34篇文章,我们继续来聊聊SVM模型. 我们在上一篇文章当中推导了SVM模型在硬间隔的原理以及公式,最后我们消去了所有的变量,只剩下了\(\alpha\).在硬间隔模型当中,样本 ...
- 软间隔分类——SVM
引入:1. 数据线性不可分:2. 映射到高维依然不是线性可分3. 出现噪声.如图: 对原始问题变形得到#2: 进行拉格朗日转换: 其中α和r是拉格朗日因子,均有不小于0的约束.按照之前的对偶问题的推导 ...
随机推荐
- dubbo-admin管理平台搭建
参考:http://blog.csdn.net/u013142781/article/details/50396621 一.前言 dubbo的使用,其实只需要有注册中心,消费者,提供者这三个就可以使用 ...
- IDEA15 File工具栏中没有 Import Project
使用IDEA准备导入项目时发现没有Import Project选项... 解决办法: Settings > Appearance & Bechavior > Menus and T ...
- iOS:自定义工具栏、导航栏、标签栏
工具栏为UIToolBar,导航栏UINavigationBar,标签栏UITabBar.它们的样式基本上时差不多的,唯一的一点区别就是,工具栏一般需要自己去创建,然后添加到视图中,而导航栏和标签栏不 ...
- 【Android多屏适配】动态改变Listview item高度
在ListView的Adapter中去直接获取传入View的LayoutParams是会报空指针异常的,唯一的方法是在xml中嵌套布局一层LinearLayout <?xml version=& ...
- SQL语句练习
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- Ext2.0之Tabpanel AJAX远程加载多标签页面模式开发技巧
目前开发的方式是采用远程load页面来实现多页面效果,类似于126邮箱多标签页效果.但是比126邮箱的方式更好,因为页面打开后是load到本地的,126似乎还会重新请求.在近期项目该开发方式已经基本成 ...
- 使用DX绘制3D物体时新手常犯错误,看不见物体时可以一一排查
1.镜头不对: 物体不在镜头范围内,检查视图矩阵,世界矩阵,投影矩阵. 2.颜色全黑: 打开光照情况下,MATERIAL全为0, 或,在没有打开光照情况下,颜色值为0,造成全黑.检查当前Materia ...
- 宏HASH_GET_NEXT
/*******************************************************************//** Gets the next struct in a h ...
- Hibernate映射集合属性
Hibernate要求持久化集合属性字段必须声明为接口,实际的接口可以是java.util.Set,java.util.Collection,java.util.List,java.util.Map, ...
- BZOJ3806: Neerc2011 Dictionary Size
题解: 这题搞得我真是酸(dan)爽(teng) 原来一直不会,一定会用到什么神奇的东西.因为重复的不知道如何计算. 今天中午睡起来忽然想到好像可以在正trie上故意走无出边,因为这样就保证了这次统计 ...