- 是一种二类分类模型.
- 定义在特征空间上的间隔最大的线性分类器,
- 间隔最大使它有别于感知机
- 核技巧使它成为实质上的非线性分类器
- 学习策略就是闾隔最大化,
- 可化为求解凸二次规划,
- 也等价于正则化的合页损失函数的最小化问题
- 学习算法是求解凸二次规划的最优化算法
- 由简至繁
- 线性可分支持向量机
- 线性支持向量机及非线性支持向量机
- 训练数据线性可分时,通过硬间隔最大化,学习一个线性分类器,
- 即线性可分支持向量机,又称硬间隔支持向量机
- 近似线性可分时,通过软间隔最大化,也学习ー个线性的分类器,
- 即线性支持向量机,又称软间隔支持向量机
- 不可分时,通过核技巧及软间隔最大化,学习非线性支持向量机
- 输入空间为欧氏空间或离散集合、特征空间为希尔伯特空间时,
- 核函数表示将输入
- 从输入空间
- 映射到
- 特征空间得到的特征向量之间的内积
- 核函数表示将输入
- 通过使用核函数可学习非线性支持向量机
- 等价于隐式地在高维的特征空间中学习线性支持向量机
- 这样的方法称为核技巧
- 核方法是比支持向量机更为一般的机器学习方法
- Cortes与 Vapnik提出线性支持向量机,
- Boser、 Guyon与 Vapnik又引入核技巧,提出非线性支持向量机,
- 本章按照上述思路介绍3类支持向量机、核函数及一种快速学习算法一一序列最小最优化算法(SMO)
7.1线性可分支持向量机与硬间隔最大化
7.1.1线性可分支持向量机
- 考虑一个二类分类.
- 设输入空间与特征空间为两个不同的空间.
- 输入空间为欧氏空间或离散集合,
- 特征空间为欧氏空间或希尔伯特空间.
- 线性可分支持向量机、线性支持向量机假设这两个空间的元素一一对应,并将输入空间中的输入映射为特征空间中的特征向量.
- 非线性支持向量机利用一个从输入空间到特征空间的非线性映射将输入映射为特征向量、所以,输入都由输入空间转换到特征空间,支持向量机的学习是在特征空间进行的
- 给定一个特征空间上的训练数据集
- 设训练数椐集是线性可分
- 学习目标是在特征空间中找到一个分离超平面,
- 能将实例分到不同的类
- 分离超平面对应于方程・x+b=0,它由法向量p和截距b决定,
- 可用(wb)来表示
- 分离超平面将特征空间划分为两部分,一部分是正类,一部分是负类.
- 法向量指向的一侧为正,另一侧为负
- 训练集线性可分时,存在无穷个分离超平面可将两类数据正确分开
- 感知机用误分类最小的策略,求得分离超平面,这时解有无穷多
- 线性可分支持向量机用间隔最大化求最优分离超平面,解唯一
- 定义7.1(线性可分支持向量机)
- 给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为
以及相应的分类决策函数
称为线性可分支持向量机
- 如图7,1所示的二维特征空间中的分类问题,
- “。”表示正例
- 训练数据集线性可分,这时有许多直线能将两类数据正确划分
- 线性可分支持向量机对应着将两类数据正确划分并且间隔最大的直线
- 间隔最大及相应的约束最优化问题在下面叙述.
- 这里先介绍函数间隔和几何间隔
7.1.2函数间隔和几何间隔
- 点距分离超平面的远近可表示分类预测的确信程度
- 超平面确定情况下,能表示点距离超平面的远近
- 的符号与类标记的符号是否一致能表示分类是否正确,
- 所以可用表示分类的正确性及确信度,
- 这是函数间隔
- 定义7.2(函数间隔)
- 对给定的训练数据集和超平面
- 超平面关于样本点的函数间隔为
- 超平面关于训练数据集的函数间隔
- 为超平面关于所有样本点的函数间隔之最小值,
- 函数间隔可表示分类预测的正确性及确信度.
- 但选择分离超平面时,只有函数间隔还不够.
- 因为只要成比例地改变和,如改为和
- 超平面并没变,但函数间隔却为原来的2倍
- 可对法向量加某些约東,如规范化,
- 使间隔是确定的,这时函数间隔成为几何间隔
- 图7.2给出超平面及其法向量.
- 点A表某实例,类标记为+1
- 点A与超平面的距离由线段AB给出
- 这是点A在超平面正的一侧的情形.
- 如果点A在超平面负侧,那么点与超平面的距离为
- 当样本点被超平面正确分类时,
- 点与超平面的距离是
- 由这一事实导出几何间隔的概念
- 定义7.3(几何间隔)
- 对给定的训练数据集和超平面,
- 超平面关于样本点的几何间隔为
- 定义超平面关于训练数据集的几何间隔为超平面关于所有样本点的几何间隔之最小值
- 超平面关于样本点的几何间隔一般是实例点到超平面的带符号
的距离,- 当样本点被超平面正确分类时就是实例点到超平面的距离
- 函数间隔和几何间隔有下面的关系
- 如果咋样,函数间隔和几何间隔相等.
- 如果和成比例改变(超平面没变)
- 函数间隔也按此比例改变,而几何间隔不变
7.1.3间隔最大化
- 求解能够正确划分训练集且几何间隔最大的分离超平面
- 对线性可分的训练数据集而言,
- 线性可分分离超平面有无穷多个(等价于感知机),
- 但几何间隔最大的分离超平面唯一
- 这里的间隔最大化又称硬间隔最大化(与将要讨论的训练数据集近似线性可分时的软间隔最大化相对应)
- 间隔最大化直观解释是:
- 对训练集找到几何间隔最大的超平面意味以充分大的确信度对训练数据分类
- 也就是,不仅将正负实例点分开,且对最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开
- 这样的超平面应该对未知的新实例有很好的分类预测能力
1.最大间隔分离超平面
- 如何求一个几何间隔最大的分离超平面
- 即最大间隔分离超平面
- 可表示为
- 即我们希望最大化超平面关于训练数据集的几何间隔,
- 约束条件表示
- 超平面关于每个训练样本点的几何间隔至少
- 几何间隔和函数间隔关系式(7.8)
- 将这问题改为
- 函数间隔的取值不影响问题的解
- 设将和改为和,这时函数间隔成为
- 函数间隔的这一改变对上面最优化问题的不等式约束没影响,
- 对目标函数的优化也没影响,
- 它产生一个等价的最优化问题
- 取
- 代入上面最优化
- 注意到最大化啥和最小化啥是等价的,
- 就有
- 这是个convex quadratic programming问题
- 凸优化问题指
- 目标函数和约束函数都是凸函数
- 仿射函数
- 当目标函数是二次函数且约束函数是仿射函数
- 上述凸最优化问题成为凸二次规划
- 如果求出(7.13)~(7.14)的解
- 那么就可以得到最大间隔分离超平面
- 及
- 分类决策函数
- 即线性可分支持向量机模型
- 算法7.1
- (线性可分支持向量机学习算法最大间隔法)
- 输入:线性可分训练数据集其中
- 输出:最大间隔分离超平面和分类决策函数
- (1)构造并求解约束最优化问题
- (2)由此得到分离超平面
- 分类决策函数
2.最大间隔分离超平面的存在唯一性
3.支持向量和间隔边界
7.1.4学习的对偶算法
- 为求解(7.13)~(7.14),将它作为原始最优化问题,
- 用拉格朗日对偶性,
- 通过求解对偶问题得到原始问题最优解,这就是线性可分支持向量
机的对偶算法. - 优点,
- 一是对偶问题往往更容易求解
- 二是自然引入核函数,进而推广到非线性分类问题
- 先构建拉格朗日函数.
- 对每一个不等式约束(7.14)
- 引进拉格朗日乘子
- 定义拉格朗日函数:
-
- 为拉格朗提乘子向量
- 根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题
- 需先求L对谁的极小,再求对的极大
- (1)
- 对,求偏导
- (7.19)代入拉格朗日函数,并利用(7.20),得
- (2)求对的极大
- 即是对偶问题
- 下面与之等价的对偶最优化
- 考虑原始最优化(7.13)~(7.14)
- 和对偶最优化问题(7.22)~(7.24),
- 原始问题满足定理C.2,
- 所以存在,,,使是原始问题的解
- ,是对偶问题的解
- 意味原始问题(7.13)~(7.14)
- 可转为求解对偶(7.22)~(7.24)
- 对线性可分训练数据集,
- 设(7.22)~(7.24)对的解为
- 由求得原始最优化问题(7.13)~(7.14)
- 对的解
- 有下面定理
- 定理7.2
- 设是(7.22)~(7.24)的解,
- 则存在下标,使,并可按下式求得(7.13)~(7.14)的解
7.2线性支持向量机与软间隔最大化
7.2.1线性支持向量机
7.2.2学习的对偶算法
7.2.3支持向量
7.2.4合页损失函数
- 对线性支持向量机,
- 模型为分离超平面及决策函数,学习策略为软间隔最大化
- 学习算法为凸二次规划
- 线性支持向量机学习还有另外一种解释,就是最小化以下
- 第1项是经验损失或经验风险
- 称合页损失函数
- 当样本被正确分类且函数间隔(确信度)大于1时,损失是0,否则是
- 图7.5的被正确分类,但损失不是0
- 第2项是正则化项