跳转至

支持向量机

6.1 间隔与支持向量

  1. 给定训练样本集, 最基本的想法就是基于训练集在样本空间中找到一个划分超平面。

  2. 划分超平面线性方程

  3. 点到超平面的距离

证明:

  1. 如果能将样本正确分类,即, 若, 则, 若, 则有。则给乘一个系数后,必定有:

  2. 1619979555699

  3. 且距离超平面最近的样本的样本点使得等号成立,这被称为一个支持向量。

  4. 两个异类支持向量到超平面的距离和为,这被称为间隔

  5. 数学模型

  6. 基本型:

6.2 对偶问题

6.2.1 原始问题

  1. 是定义在上连续可微函数,则称约束最优化问题

​ 为原始优化问题

  1. 拉格朗日函数 其中称为松弛变量/KKT变量,是拉格朗日乘子。

  2. 关于是仿射函数

  3. 是凸函数, 是仿射函数,则是关于的凸函数。

  4. 构造

  • 如果某个违反约束条件, 即存在使得或者, 可以令或者, 从而

  • 若均符合条件,

  • 极小化问题

与原始问题等价,则有相同的解。 称为广义拉格朗日函数极小极大化问题。

  • 原始问题的最优值

6.2.2 对偶问题

  1. 构造 则极大化问题 称为广义拉格朗日函数的极大极小问题。

表示为约束最优化问题为: 这称为原始问题的对偶问题。

  1. 定义对偶问题的最优值

  2. 性质:此函数为凹函数

  3. 固定时,是一个关于的仿射函数,既是凸的也不是凹的,满足

6.2.3 原始问题和对偶问题的关系

  1. 弱对偶性

  2. 对于所有优化问题都成立,即使原始问题非凸

  3. 证明:

  4. 更进一步的解释

  5. 强对偶性 并不是所有的对偶问题都满足强对偶性 ,在 SVM 中是直接假定了强对偶性的成立,其实只要满足一些条件,强对偶性是成立的,比如说 Slater 条件与KKT条件。

  6. Slater条件

  7. 凸优化条件

    • 是凸函数
    • 是仿射函数
  8. 严格可行
    • 存在, 对所有的

则存在, 使得是原始问题的解,是对偶问题的解,并且 即:原始问题是凸优化问题并且满足严格可行条件的话,那么强对偶性成立

  • KTT条件

  • 满足Slater条件

  • 是原始问题的解,是对偶问题的解的充分必要条件是满足: $$ \begin{align} &(1)\ c_i(x^) \le 0,\ i = 1,2,...,k\ &(2)\ h_j(x^) = 0,\ j = 1,2,...,l\ &(3)\ \nabla_xL(x^,\alpha^,\beta^) = 0\ &(4)\ \alpha_i^ \ge 0,\ i = 1,2,...,k\ &(5)\ \alpha_i^c_i(x^) = 0,\ i = 1,2,...,k\

    \end{align} $$ 且

  • 证明

    • 必要性:

    • 由于 是原问题的解,所以满足第 条。

    • 由于, 则, 则梯度为0,满足

    • 由于是对偶问题的解,所以满足

    • 对于, 经过公式:

    由于两侧等于,所以等号都成立,则,所以

    • 充分性:

    • 根据对偶问题的定义

    • 由于梯度为0,且函数关于凸函数,则

    • 由于是凸函数,是凹函数。且 ,我们就知道原问题肯定取到了最小值,而对偶问题肯定取到了最大值,说明我们找到了两者的解。

  • KTT的直观理解

    约束问题:

    1. 称为原始可行性

    2. 定义可行域

    3. , 则落在可行域内,称为内部解,约束条件无效,只需要检验满足原始可行性就可, 根据拉格朗日乘子

    4. , 则在的边界,称为边界解,此时约束条件是有效的。 由于在边界取到,所以方向相反,从而产生了对偶可行性

    5. 可以看到恒成立,所以称为互补松弛性

    6. 最后得到条件

    7. 对于普遍情况 得到KTT条件

6.2.4 SVM的推导

  1. 原问题

  2. 拉格朗日函数

使得, 即

带入原式得到对偶问题 解出后, 求出, 模型为: 注意原始问题含有不等式约束,所以满足条件 根据这个条件可以解出

注意,对任意训练样本, 总有或者, 若, 则对无贡献;若, 则对应的样本点是一个支持向量,这显示出支持向量机的一个重要性质:训练完成后?大部分的训练样本都不需 保留,最终模型仅与支持向量有关。

  1. 对偶问题的求解:SMO

  2. 求解:

  3. 基本思路:由于 存在约束,若固定之外的其他变量, 可由其他变量导出。于是, SMO每次选择两个变量,并固定其他参数,求在上的极值。这样,在参数初始化后, SMO不断执行如下两个步骤直至收敛:

  4. 选取一对需更新的变量
  5. 固定以外的参数,求解后获得更新的

    • 直观来看, KKT 条件违背的程度越大, 则变量更新后可能导致的目标函数值增幅越大。于是, SMO 先选取违背 KKT条件程度最大的变量。第二个变量应选择一个使目标函数值减小最快的变量,但由于比较各变量所对应的目标函数值减幅的复杂度过高,因此 SMO 采用了一个启发式: 使选取的两变量所对应样本之间的问隔最大。直观的解释是,这样的两个变量有很大的差别,与对两个相似的变量进行更新相比,对它们的更新会带给目标函数值更大的变化.
  6. SMO 算法之所以高效,恰由于在固定其他参数后7 仅优化两个参数的过程 能做到非常高效,具体来说,仅考虑, 则约束可以重写为

  7. 求解偏移项

注意所有的支持向量都有, 即 则可以选取支持向量求解的平均值

6.3 核函数

  1. 对于非线性可分问题,可将样本从原始空间映射到-个更高维的特征空间,使得 样本在这个特征空间内线性可分。如果原始 空间是有限维, 即属性数有限?那么一定存在一个高维特征空间使样本可分。

  2. 表示将x映射之后的特征向量,于是,在特征空间中划分超平面所对应的模型可以表示为 则有

于特征空间维数可能很高,因此直接计算通常是困难的,为此引入 在特征空间的内积等于它们在原始样本空间中通过函数计算 的结果。

对偶问题可以重写为: 称为核函数, 显示出模型最优解可通过训练样本的核函数展开,这一展式亦称"支持向量展式"。

  1. 核函数定理(Mercer定理)

为输入空间, 是定义在上的对称函数,是核函数当且仅当对于任意数据, 核矩阵总是半正定的:

  • 证明:
  • 必要性:

    如果是核函数,

  • 充分性:

    由于是半正定矩阵,所以可以对角化,且对角矩阵元素都非负(特征值非负): \right]​, 则有
    \right] \left[ \right]​

    可见对应着核函数。

    • 以上就表示了可再生性,即用核函数生成两个函数的内积
  • 常用核函数

  • 线性核:

  • 多项式核: 为多项式的次数

  • 高斯核: 为高斯核的带宽

  • 拉普拉斯核:

  • Sigmoid核: 为双曲正切函数,

  • 核函数的运算

  • 是核函数,任意正数

  • 是核函数, 核函数的直积也是核函数

  • 是核函数,则对于任意函数

6.4 软间隔与正则化

  1. 问题:

在现实任务中往往很难确定合适的核函数使得训练样本在特征空间中线性可分; 退一步说, 即使恰好找到了某个核函数使训练集在特征空间中线性可分。也很难断定这个貌似线性可分的结果不是由于过拟合所造成的。

  1. 软间隔支持向量机

  2. 缓解该问题的一个办法是允许支持向量机在一些样本上出错。为此,要引入"软间隔" 的概念。

优化目标变为:

无穷大,严格满足约束条件。否则取有限值时。允许一些样本不满足约束。

  • 非凸、非连续,数学性质不太好,不易直接求解。于是用其他函数来代替

  • 采用损失,引入松弛变量, 可以重写为

  • 拉格朗日函数 求偏导

  • 带入得对偶问题

  • 条件:

可以看到,总有或者

  • , 不会对有任何影响,为正确分类的内部向量
  • , 必有, 即该样本为支持向量
    • , 则由, ​, 有, 则该样本恰在最大间隔边界
    • , 则
    • , 则样本落在最大间隔内部
    • , 则被错误分类。

也就是

  • 更一般的形式

称为结构风险,用来描述的某些性质;第二项称为经验风险,用于描述模型与训练数据的契合程度。

  • 具有软间隔和核函数的SMO算法

  • 只选用,当作变量,其他是固定的,所以优化问题可以写为

  • 为了求解,画出约束条件

    1619979573092

    可以知道: 因为, 同时乘以, 得到, 其中

    可得 为误差项,为学习速率

  • 启发式选择参数

  • 简化:检查训练样本中每个点是否满足KKT条件,如果不满足,则它对应的可以被优化,然后随机选择另一个变量进行优化。

  • 完整版:先通过一个外循环来选择第一个,并且其选择过程会再两种方式之间进行交替:一种方式是在所有数据集上进行单遍扫描,另一种方式则是在非边界中实现单遍扫描。所谓非边界即那些

    之后算法会通过内循环选择第二个, 优化过程中会通过最大化步长的方式来获取第二个

  • 阈值 如果同时满足条件, 则, 如果是, 则之间的数都满足条件的阈值, 则选择他们的中点

6.5 支持向量回归

  1. SVR

  2. 支持向量回归(Support Vector Regression,简称 SVR), 假设我们能容忍 之间最多有的偏差,即仅当之间的差别绝对值大于时才计算损失。

  3. 这相当于以为中心构建了一个宽度为杂的问隔带,若训练样本落入此间隔带,则认为是被预测正确的。

  4. 数学模型 可以重写为 $$ \min_{w,b,\xi_i,\hat\xi_i} \frac{1}{2}|w|^2+C\sum_{i=1}^m(\xi_i+\hat\xi_i)\ s.t. \ f(x_i)-y_i\le \epsilon+\xi_i\ y_i-f(x_i)\le\epsilon+\hat\xi_i\ \xi_i\ge 0,\hat\xi_i\ge 0,i=1,2,...,m引入拉格朗日乘子 $$ 引入拉格朗日乘子

  5. 对偶问题:

带入可得 满足条件,即

  • 可以看出当且仅当, 有可以取非0;当且仅当, 有可以取非0。也就是当样本落入区间时,相应的才能取非0值。但是两个条件不能同时成立,所以至少有一个时0。

  • 同时,若干落在间隔带内,则

  • , 若, 则必有, 从而有, 因此可以选取的多个样本取平均值。

解的形式为: 的为,支持向量,他一定落在间隔带之外,

  • 若考虑特征映射

6.6 核方法

  1. 表示定理

为核函数对应的再生核希尔伯特空间,表示空间中关于的范数,对于任意单调递增的和任意非负损失函数, 优化问题 的解总可写为 表示应理对损失函数没有限制,对正则化项仅要求单调递增, 设置不要求时凸函数。一系列基于核函数的学习方法,统称为"核方法" 。

  1. 核性判别分析

  2. 通过核化来对线性判别分析进行非线性拓展从而得到"核线性判别分析"

  3. 先假设可通过某种映射 将样本映射到一个特征空间,然后在中执行线性判别分析。 当作算是函数,, 则可以写为

为核函数矩阵,设为第类样本的指示向量,即得第个分量为1当且仅当, 再令

​ 本质在于凑出, 用来表示内积。

​ 学习目标等价于