SVM-支持向量机学习(4):再谈线性SVM-正则化合页损失函数
2017-09-04 10:50
211 查看
1. 软间隔到损失函数的推导
线性可分SVM中认定:存在一个超平面可将不同类的样本完全分开。现实任务中很难确定合适的核函数使得训练样本在特征空间线性可分。即使恰好找到某个核函数使得训练集在特征空间中线性可分,也很难断定这个貌似线性可分的结果不是由于过拟合造成的。
缓解办法就是:软间隔,即允许某些样本不满足约束:
当然最大化间隔的同时,不满足约束的样本尽可能少,优化目标可写为:
C是常数,l 是0-1损失函数:
括号内的乘积值小于1时,代表不满足约束,则损失计1,错一个就计算一个。
l 非凸,非连续,不易求解。通常用其他一些函数来代替 l ,称为替代损失,替代损失函数通常是凸的连续函数,且是 l 的上界。
2. 三种损失函数
通常有以下三种常用的替代损失函数:hinge(合页/折页)损失:l(z) = max(0, 1 - z)
指数(exponential)损失:l(z) = exp(-z)
对率损失:l(z) = log( 1 + exp(-z) )
3. 合页损失函数
采用合页损失函数时,下式变成:
令 max(0,1−yi(wTxi+b))=ξi ,则 ξi≥0 。
当 1−yi(wTxi+b)>0 ,则 yi(wTxi+b)=1−ξi ;
当 1−yi(wTxi+b)≤0,ξi=0 , yi(wTxi+b)≥1=1−ξi ;
综上有 yi(wTxi+b)≥1−ξi ;
则合页损失函数:
可写成如下形式:
很面熟吧?这就是线性SVM的原始最优化问题。在(3)节中已经讨论过可将该原始问题转化为对偶问题求解。其和线性可分SVM的对偶问题的唯一差别在于:乘子约束不同。求解都一样。
结论:
线性SVM,等价于最小化正则化的合页损失函数。
这个形式上看起来就是一般的结构风险最小化。第一项为经验损失,第二项为正则化项。
如下图中,0-1损失函数是二分类问题的真正损失函数,合页损失函数是其上界。但0-1损失函数不是连续可导,可认为线性SVM是优化由0-1损失函数的上界构成的目标函数。
虚线:感知机的损失函数,正确分类时,损失为0。
相比实线的合页损失函数,不仅要分类正确,而且确信度足够高损失才为0.
4. SVM和LR的联系
采用合页损失函数,则可得到线性SVM的原始优化问题。
考虑该式中若采用对率损失函数,则得到的,和下式的对率回归(LR)模型很接近:
SVM 和 LR 的优化目标接近,通常情形下性能也相当。
LR的优势在于:
输出具有天然的概率意义,给出预测标记的同时给出概率。
直接用于多分类任务(李航书,二项推广到多项)
SVM的输出不具有概率意义,想得到概率需要特殊处理。SVM不能直接分类。SVM的优势在于:
SVM的解具有稀疏性,其合页损失有一个拐折,存在一块平坦的零区域。
LR是光滑的单调递减函数。不能导出类似支撑向量的概念。因此LR的解依赖于更多的训练样本,预测开销更大。
5. SVM和正则化
在上面2小节中提到:线性SVM,等价于最小化正则化的合页损失函数。
这个形式上看起来就是一般的结构风险最小化。第一项为经验损失,第二项为正则化项。
不管模型使用什么替代函数,其共性在于:优化目标的第一项用来描述划分超平面的间隔大小,第二项用来描述训练集上的误差。
第一项为结构风险。第二项为经验风险,描述模型和训练集的契合程度。
结构风险:表达了我们希望获得具有何种性质的模型,例如复杂度较小的模型,例如间隔最大的模型(SVM)等,这为引入领域知识和用户意图提供了途径,可认为提供了模型的先验概率。
另一方面,该信息有助于消减假设空间,降低最小化训练误差的过拟合风险,又称为正则化,也可理解为罚函数法:对不希望得到的结果进行惩罚,使得优化过程趋向于希望的目标。
正则化常用的是Lp范数。L2范数倾向于w的分量取值尽量均衡。非零分量的个数尽量稠密。L0和L1范数则倾向于w的分量尽量稀疏,非零分量个数尽量少。
0904初记-到此基本将知识点都全了。
相关文章推荐
- 支持向量机学习笔记(2)合页损失函数
- SVM-支持向量机学习(1):线性可分SVM的基本型
- SVM-支持向量机学习(2):线性可分SVM的对偶型
- SVM-支持向量机学习(3):线性SVM
- 支持向量机——线性分类SVM
- OpenCv学习笔记---OpenCv中支持向量机模块SVM------源代码分析
- SVM-支持向量机学习(6):非线性SVM和核函数
- SVM-支持向量机学习(5):SVR-支持向量回归
- SVM-支持向量机学习(7):求解SVM算法-SMO-序列最小最优化
- 支持向量机学习笔记-SVM
- 【SVM学习笔记】支持向量机学习1
- 【SVM学习笔记】支持向量机学习2
- SVM笔记(四) 线性支持向量机
- SVM(Supported Vector Machine 支持向量机)学习
- 机器学习-支持向量机SVM学习笔记一
- 机器学习-支持向量机SVM学习笔记二
- SVM学习笔记-线性支撑向量机
- 【SVM学习笔记】支持向量机学习3
- 支持向量机学习笔记
- 支持向量机学习之3-SVR(回归)