支持向量机可以分为三类:
- 线性可分的情况 ==> 硬间隔最大化 ==> 硬间隔SVM
- 近似线性可分的情况 ==> 软间隔最大化 ==> 线性支持向量机
- 线性不可分的情况 ==> 核技巧/软间隔最大化 ==> 非线性SVM
硬间隔向量机(hard margin svm)
任务:寻找一条与所有支持向量距离最远的决策边界,这条决策边界就是,即:
所以问题可以描述为:
带换一下也就是
用r来表示就是:
这里我的理解是:因为 ==> ,所以不管r取什么值,,, 所以r的取值所带来的影响会被最后的w和b所融合进去,所以r=1也没关系。最终的问题可以描述为(这里是N个不等式):
构造拉格朗日函数,引入N个参数,转换成对偶函数如下(大括号表示不出来我也很绝望):
使用KKT条件,得到的解:
最终的解是:
软间隔向量机(soft margin svm)
软间隔向量机采用合页损失函数,真实数据中,严格线性可分的数据很少。合页损失函数允许分类时的一点点误差。损失函数如下:
也就是,正确分类并且函数间隔大于1时没有误差,错误分类时,距离决策边界越远的点,受到的惩罚越大。使用合页函数的做优化问题可以表示为:
令,则,分两种情况:
1、 ==> ==>
2、 ==> ==> ()
综合上面两种情况,可以直接写为:,这样的话,最优化函数就变成了下面的样子:
这两个式子是等价的。再《统计学习方法》中,先给出了后面的式子,再介绍了合页损失函数
这两个式子转换成等价的对偶函数如下:
对偶函数的解是:
决策函数是:
KKT条件
对于 只要 ,就有 ,也就是说再决策边界上,是支持向量
- 原问题与对偶问题育有强对偶关系 <===> 满足KKT条件
非线性支持向量机(核函数)
核函数可以对特征进行升维(当然,不一定非要是升维,也可能是转换到另一个空间),高维空间的运算量巨大,所以直接使用低维的计算结果,作为两个高维向量的内积:
核函数等价于两个映射哈函数的内积,不过,这个映射函数不需要手动指出。因为当两个映射函数相乘时,内积的结果可以用核函数表示。而映射函数在最优化问题中都是成对出现的。即出现映射函数的地方都可以用核函数替代。
如果用映射函数将x映射到高维空间,那么应该用高维向量替换x所在的位置:
那么最终拟合的结果也应该是由高维向量表示的:
高斯核函数(RBF)
正太分布:
高斯核函数:
对于正态分布来说:是标准差,越小,曲线越窄。越大,曲线越宽
对于高斯核函数来说:的值越大,曲线越窄;的值越小,曲线越宽;