[关闭]
@Libaier 2016-08-15T03:10:50.000000Z 字数 5338 阅读 1711

SVM

有监督学习 分类


主要思想

定义在特征空间上间隔最大的线性分类器。

产生背景

The original SVM algorithm was invented by Vladimir N. Vapnik and Alexey Ya. Chervonenkis in 1963. In 1992, Bernhard E. Boser, Isabelle M. Guyon and Vladimir N. Vapnik suggested a way to create nonlinear classifiers by applying the kernel trick to maximum-margin hyperplanes. The current standard incarnation (soft margin) was proposed by Corinna Cortes and Vapnik in 1993 and published in 1995.

1963-原始理论
1992-核技巧
1993-软间隔理论

应用场景

核心理解

主要推导

线性可分支持向量机

首先我们定义一种间隔叫函数间隔


我们会发现,等比例缩放w,b超平面没改变,但函数间隔发生了变化。

然后我们再定义一种间隔叫(带符号的)几何间隔

我们可以推出

线性可分支持向量机是找一个超平面,在满足正确分类的基础上,所有样本的几何间隔最大。则求解问题(问题0)变为

我们把式中的一部分替换为前边提到的函数间隔

前边提到函数间隔的取值对超平面没有影响,这里我们把函数间隔取值为1,且等价,于是原问题0可以转化为问题1

这是一个凸二次规划问题,可以通过对应的优化算法求解。

我们也可以引入拉格朗日乘子法来解决问题1,这样可以减少约束条件的判断。
首先定义拉格朗日函数:

我们原问题拉格朗日原始问题(问题2)为:

问题2为什么和问题1等价呢?

我们现在的问题是要先求最大,即对于每一组,求一个对应的可以使最大,再在这些求出的所有满足要求的解中选一个可以让最小的解。拉格朗日函数其实将问题1中的约束条件隐含在函数中。

我们首先要求得以下极大值:

假设拉格朗日函数中的违背了问题1中的约束条件,那么,如果我们想要求得此极大值,就会得到无穷大,这不会是第二步取得最小值的解。

假设拉格朗日函数中的满足了问题1中的约束条件,那么,如果我们想要求得此极大值,就应让,这样求得的极大值就是的极大值,与问题1一致。

但我们还不满足,如果求解使用这个问题拉格朗日函数的对偶问题,我们发现可以更容易求解,而且可以自然的引入核函数。这里的对偶问题是求极大极小,我们把他称之为问题3

那为什么问题2和问题3是等价的呢?

首先现在考虑一个满足的任意的,因为前边问题2对于每一组,都是求一个对应的可以使最大,所以:

所有满足都是满足这个条件的,所以可以推出:

如果我们把对偶问题3解决了,我们可以得到问题2的下界。

这种关系的问题是弱对偶问题,当二次规划问题满足如下条件变为强对偶问题:

线性可分SVM满足此条件,所有问题3和问题2等价。

我们现在要解决的问题是先求

此问题无任何约束,我们先求b

我们把这个代入,可把b消掉化简为

我们再求

可得

将其代入问题3的原函数,最终求得的优化函数为,这个函数中的变量只有

这个问题取负号等效于

最终通过二次规划的方法计算出最优(经常会在此进行优化,使求解更快),然后通过此计算对应的(使用KKT条件)。

求解拉格朗日对偶问题其实是在找支持向量,再通过支持向量算

这中间使用了KKT条件,保证了对偶问题问题3的解是问题1的解。

线性支持向量机和软间隔最大化
解释一:
为了满足有些样本函数间隔不能满足大于等于1的情况,为每个样本引入一个松弛变量

支持向量是求解的结果中大于零对应的实例??。

解释二:


其中

合页损失如下表示


式子右边表示L2正则

周志华P132讨论?

核技巧
令核函数为如下函数,其中为输入空间向另外一个特征空间的映射。

前边的求解目标可以替换为如下,

应满足是正定核函数。
1) 对称性;??
2) 构成的矩阵半正定。??

常见的核函数有
1.线性核(无核??)

2.多项式核函数

3.高斯核函数

4.字符串核函数

求解算法

对应二次凸优化问题解法

SMO不断将原二次规划问题分解为只有两个变量的二次规划子问题,并对子问题进行解析求解,直到所有变量满足KKT条件??为止,这种启发式算法总体上比较高效。

伪代码

  1. 这里假设数据线性可分
  2. 输入:数据集D(N个样本)
  3. 过程:
  4. 使用主要推导中公式生成优化函数
  5. 使用优化方法求解
  6. 输出:训练好的模型(w,b)

复杂度分析

时间复杂度:与优化算法复杂度相同

大数据下改进

to be done...

评价

算法改进

参考资料

  1. 机器学习常见算法个人总结
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注