西瓜书 第6章 支持向量机 读书笔记

6章 支持向量机(Support Vector Machine, 简称SVM)

1.间隔与支持向量

1.超平面(w, b)

  • 存在多个划分超平面将两类训练样本分开

目标:粗线体那个划分超平面所产生的分类结果是最鲁棒的,对未见示例的泛化能力最强

  • 线性方程

其中w为法向量,决定超平面的方向,b为位移项,决定超平面与原点之间的距离

  • 样本空间中任意点到超平面的距离

1.2 支持向量(super vector)

  • 就是距离超平面最近的几个训练样本点
  • 且使下边任一式子的等号成立

1.3 间隔(margin)

  • 两个异类支持向量到超平面的距离之和

1.4 最大间隔(maximum margin)

  • 对应的划分超平面

  • 支持向量机的基本型

1.5 归纳支持向量机与间隔

 

2.对偶问题

2.1 凸二次规划(convex quadratic programming)问题

2.2 对偶问题(dual problem)

  2.2.1 更高效求解参数w和b的方法:拉格朗日乘子法

  • 对SVM基本型式子的每条约束添加大于等于零的拉格朗日乘子,得到该问题的拉格朗日函数

  • 令L(ω,b,α)对ω和b的偏导为零

  • 将L(ω,b,α)中的ω和b消去,得到SVM基本型式子的对偶问题

2.2.2 KKT(Karush-Kuhn-Tucker)条件

2.2.3 如何求解对偶问题中的α?

当做二次规划问题来解

1)算法:二次规划算法

  • 缺点:问题的规模正比于训练样本数,这会在实际任务重造成很大的开销

2)算法:SMO(Sequential Minimal Optimization)算法

  • 选取一对需更新的变量αi和αj
  • 固定αi和αj以外的参数,求解对偶问题式中获得更新后的αi和αj
  • 不断执行如上两个步骤直至收敛

其中,

 2.2.如何确定偏移项b

更鲁棒的做法:使用所有支持向量求解的平均值

其中,

为所有支持向量的下表集

2.3 支持向量机的一个重要性质

训练完成后,大部分的训练样本都不需要保留,最终模型仅与支持向量有关

 

 3.核函数

对非线性可分问题,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分

例如,异或问题与非线性映射

 

3.1 核函数(kernel function)

3.2.1 令Ф(x)表示将x映射后的特征向量

  • 其对偶问题

  • 由于特征空间维数可能很高,甚至可能是无穷维,因此直接计算特征向量內积通常是困难的
  • 设想这样一个函数

  • 新式子

函数k(.,.)就是核函数

 

3.2.2 支持向量展式(support vector expansion)

  • 模型最优解可通过训练样本的核函数展开

3.2.3 核函数定理

  • 核矩阵(kernel martix)K总是半正定的
  • 定理表明,只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用
  • 事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射
  • 任何一个核函数都隐式地定义了一个称为“再生核希尔伯特空间”(Reproducing Kernel Hilbert Space, 简称RKHS)的特征空间

3.2.4 常用的核函数

  • 线性核

  • 多项式核

d=1时退化为线性核,d≥1为多项式的次数

  • 高斯核,亦称RBF核

σ> 0为高斯核的带宽(width)

  • 拉普拉斯核

σ> 0

  • Sigmoid核

Tanh为双曲正切函数,β> 0,θ< 0

3.2 注意点

  • 特征空间的好坏对支持向量机的性能至关重要
  • “核函数选择”成为支持向量机的最大变数

 

4.软间隔与正则化

4.1 硬间隔(hard margin)

要求所有样本均满足约束,即所有样本都必须划分正确

4.2 软间隔(soft margin)

  • 解决现实任务:很难确定合适的核函数使得训练样本在特征空间中线性可分,或者是否过拟合

 

  • 缓解的一个办法:允许支持向量机在一些样本上出错

允许某些样本不满足约束

不满足约束的样本应尽可能少

  • 新的优化目标函数为

其中,

C > 0是一个常数,当C为无穷大时,迫使所有样本均满足约束;当C取有限值时,允许一些样本不满足约束

4.3 替代损失(surrogate loss)

4.3.1 替代损失函数比0/1损失函数一般具有较好的数学性质

  • 凸的连续函数
  • 0/1损失函数的上界

4.3.2 常用的替代损失函数

  • hinge损失

新的优化目标函数为

  • 指数损失(exponential loss)

  • 对率损失(logistic loss)

  • 图6.5比较以上三种损失

4.4 松弛变量(slack variables)

新的优化目标函数为

其中,松弛变量

4.5 正则化(regularization)

4.5.1 各种替代损失函数学习模型的共性

  • 优化目标中的第一项用来描述划分超平面的“间隔”大小

结构风险(structural risk)

  • 另一项用来表述训练集上的误差

经验风险(empirical risk)

  • C用于对二者进行折中
  • 表达式

4.5.2 可理解为一种“罚函数法”

即对不希望得到的结果施以惩罚,从而使得优化过程趋向于希望目标

4.5.3 正则化问题

Ω(f)称为正则化项  Lp范数(norm)是常用的正则化项

  • Lo范数‖w‖o
  • L1范数‖w‖1倾向于w的分量尽量稀疏,即非零分量个数尽量少
  • L2范数‖w‖2倾向于w的分量取值尽量均衡,即非零分量个数尽量稠密

C则称为正则化常数

 

5.支持向量回归

5.1 容忍f(x)与y之间最多有E的偏差,即仅当f(x)与y之间的差别绝对值大于e时才计算损失。相当于以f(x)为中心构建了一个宽度为2e的间隔带,若训练样本落入此间隔带,则认为是被预测正确的

 5.2 SVR问题形式

其中C为正则化常数,le是图6.7所示的e-不敏感损失(e-insensitive loss)函数

 因为间隔带两侧的松弛程度可以不同,引入2个松弛变量,可见SVR式子重写

引入拉格朗日乘子、偏导为零、对偶问题、KKT条件、求解w和b、特征映射、核函数

 

6.核方法

6.1 表示定理(representer theorem)

6.2 核函数的巨大威力

  • 表示定理对损失函数没有限制
  • 对正则化项Omega仅要求单调递增,不要求Omega是凸函数

6.3 核方法(kernel methods)的定义

  • 基于核函数的学习方法

6.4 核方法的常见用法

  • 通过“核化”(即引入核函数)来将线性学习器拓展为非线性学习器

核线性判别分析(Kernelized Linear Discriminant Analysis, 简称KLDA)

 

7. 阅读材料

7.1 线性核SVM迄今仍是本文分类的首选技术

7.2 支持向量机与统计学习

7.3 支持向量机的求解通常是借助于凸优化技术,如何提高效率?

7.3.1 线性核SVM

  • 基于割平面法(cutting plane algorithm)的SVM Perf具有线性复杂度
  • 基于随机梯度下降的Pegasos速度甚至更快
  • 坐标下降法在稀疏数据上有很高的效率

7.3.2 非线性核SVM

  • 基于采样的CVM
  • 基于低秩逼近的Nystrom方法
  • 基于随机傅里叶特征的方法

7.4 支持向量机是多面手

  • 针对二分类任务设计的
  • 对多分类任务要进行专门的推广
  • 对带结构输出的任务也已有相应的算法

7.5 核函数

  • 直接决定了支持向量机与核方法的最终性能
  • 选择是一个未决问题
  • 多核学习(multiple kernel learning)使用多个核函数通过学习获得其最优凸组合作为最终的核函数

7.6 替代损失的一致性(consistency)问题

7.7 SVM已有很多软件包

  • LIBSVM
  • LIBLINEAR
posted @ 2019-06-03 14:31  五月的色彩  阅读(628)  评论(0编辑  收藏  举报