一、 线性可分支持向量机

  1. 给定一个特征空间上的训练数据集 一、 线性可分支持向量机 - 图1,其中 一、 线性可分支持向量机 - 图2

    一、 线性可分支持向量机 - 图3 为第 一、 线性可分支持向量机 - 图4 个特征向量,也称作实例; 一、 线性可分支持向量机 - 图5一、 线性可分支持向量机 - 图6 的类标记; 一、 线性可分支持向量机 - 图7 称作样本点。

    • 一、 线性可分支持向量机 - 图8 时,称 一、 线性可分支持向量机 - 图9 为正例。
    • 一、 线性可分支持向量机 - 图10 时,称 一、 线性可分支持向量机 - 图11 为负例。

    假设训练数据集是线性可分的,则学习的目标是在特征空间中找到一个分离超平面,能将实例分到不同的类。

    分离超平面对应于方程 一、 线性可分支持向量机 - 图12, 它由法向量 一、 线性可分支持向量机 - 图13 和截距 一、 线性可分支持向量机 - 图14 决定,可以用 一、 线性可分支持向量机 - 图15 来表示。

  2. 给定线性可分训练数据集,通过间隔最大化学习得到的分离超平面为:一、 线性可分支持向量机 - 图16

    相应的分类决策函数:一、 线性可分支持向量机 - 图17 ,称之为线性可分支持向量机。

  3. 当训练数据集线性可分时,存在无穷个分离超平面可以将两类数据正确分开。

    • 感知机利用误分类最小的策略,求出分离超平面。但是此时的解有无穷多个。
    • 线性可分支持向量机利用间隔最大化求得最优分离超平面,这样的解只有唯一的一个。

1.1 函数间隔

  1. 可以将一个点距离分离超平面的远近来表示分类预测的可靠程度:

    • 一个点距离分离超平面越远,则该点的分类越可靠。
    • 一个点距离分离超平面越近,则该点的分类则不那么确信。
  2. 在超平面 一、 线性可分支持向量机 - 图18 确定的情况下:

    • 一、 线性可分支持向量机 - 图19 能够相对地表示点 一、 线性可分支持向量机 - 图20 距离超平面的远近。

    • 一、 线性可分支持向量机 - 图21 的符号与类标记 一、 线性可分支持向量机 - 图22 的符号是否一致能表示分类是否正确

      • 一、 线性可分支持向量机 - 图23 时,即 一、 线性可分支持向量机 - 图24 位于超平面上方,将 一、 线性可分支持向量机 - 图25 预测为正类。

        此时若 一、 线性可分支持向量机 - 图26 则分类正确;否则分类错误。

      • 一、 线性可分支持向量机 - 图27 时,即 一、 线性可分支持向量机 - 图28 位于超平面下方,将 一、 线性可分支持向量机 - 图29 预测为负类。

        此时若 一、 线性可分支持向量机 - 图30 则分类正确;否则分类错误。

  3. 可以用 一、 线性可分支持向量机 - 图31 来表示分类的正确性以及确信度,就是函数间隔的概念。

    • 符号决定了正确性。
    • 范数决定了确信度。
  4. 对于给定的训练数据集 一、 线性可分支持向量机 - 图32 和超平面 一、 线性可分支持向量机 - 图33

    • 定义超平面 一、 线性可分支持向量机 - 图34 关于样本点 一、 线性可分支持向量机 - 图35 的函数间隔为: 一、 线性可分支持向量机 - 图36
    • 定义超平面 一、 线性可分支持向量机 - 图37 关于训练集 一、 线性可分支持向量机 - 图38 的函数间隔为:超平面 一、 线性可分支持向量机 - 图39 关于 一、 线性可分支持向量机 - 图40 中所有样本点 一、 线性可分支持向量机 - 图41 的函数间隔之最小值: 一、 线性可分支持向量机 - 图42

1.2 几何间隔

  1. 如果成比例的改变 一、 线性可分支持向量机 - 图43一、 线性可分支持向量机 - 图44 ,比如将它们改变为 一、 线性可分支持向量机 - 图45一、 线性可分支持向量机 - 图46,超平面 一、 线性可分支持向量机 - 图47 还是原来的超平面,但是函数间隔却成为原来的100倍。

    因此需要对分离超平面施加某些约束,如归一化,令 一、 线性可分支持向量机 - 图48,使得函数间隔是确定的。此时的函数间隔成为几何间隔。

  2. 对于给定的训练数据集 一、 线性可分支持向量机 - 图49 和超平面 一、 线性可分支持向量机 - 图50

    • 定义超平面 一、 线性可分支持向量机 - 图51 关于样本点 一、 线性可分支持向量机 - 图52 的几何间隔为:

      一、 线性可分支持向量机 - 图53

    • 定义超平面 一、 线性可分支持向量机 - 图54 关于训练集 一、 线性可分支持向量机 - 图55 的几何间隔为:超平面 一、 线性可分支持向量机 - 图56 关于 一、 线性可分支持向量机 - 图57 中所有样本点 一、 线性可分支持向量机 - 图58 的几何间隔之最小值: 一、 线性可分支持向量机 - 图59

  3. 由定义可知函数间隔和几何间隔有下列的关系:

    一、 线性可分支持向量机 - 图60

    • 一、 线性可分支持向量机 - 图61 时,函数间隔和几何间隔相等。

    • 当超平面参数 一、 线性可分支持向量机 - 图62 等比例改变时:

      • 超平面并没有变化。
      • 函数间隔也按比例改变。
      • 几何间隔保持不变。

1.3 硬间隔最大化

  1. 支持向量机学习基本思想:求解能够正确划分训练数据集并且几何间隔最大的分离超平面。几何间隔最大化又称作硬间隔最大化。

    对于线性可分的训练数据集而言,线性可分分离超平面有无穷多个(等价于感知机),但几何间隔最大的分离超平面是唯一的。

  2. 几何间隔最大化的物理意义:不仅将正负实例点分开,而且对于最难分辨的实例点(距离超平面最近的那些点),也有足够大的确信度来将它们分开。

  3. 求解几何间隔最大的分离超平面可以表示为约束的最优化问题:

    一、 线性可分支持向量机 - 图63

    考虑几何间隔和函数间隔的关系,改写问题为:

    一、 线性可分支持向量机 - 图64

  4. 函数间隔 一、 线性可分支持向量机 - 图65 的大小并不影响最优化问题的解。

    假设将 一、 线性可分支持向量机 - 图66 按比例的改变为 一、 线性可分支持向量机 - 图67,此时函数间隔变成 一、 线性可分支持向量机 - 图68 (这是由于函数间隔的定义):

    • 这一变化对求解最优化问题的不等式约束没有任何影响。
    • 这一变化对最优化目标函数也没有影响。

    因此取 一、 线性可分支持向量机 - 图69,则最优化问题改写为:

    一、 线性可分支持向量机 - 图70

  5. 注意到 一、 线性可分支持向量机 - 图71一、 线性可分支持向量机 - 图72 是等价的,于是最优化问题改写为:

    一、 线性可分支持向量机 - 图73

    这是一个凸二次规划问题。

  6. 凸优化问题 ,指约束最优化问题:

    一、 线性可分支持向量机 - 图74

    其中:

    • 目标函数 一、 线性可分支持向量机 - 图75 和约束函数 一、 线性可分支持向量机 - 图76 都是 一、 线性可分支持向量机 - 图77 上的连续可微的凸函数。

    • 约束函数 一、 线性可分支持向量机 - 图78一、 线性可分支持向量机 - 图79 上的仿射函数。

      一、 线性可分支持向量机 - 图80 称为仿射函数,如果它满足 一、 线性可分支持向量机 - 图81

    当目标函数 一、 线性可分支持向量机 - 图82 是二次函数且约束函数 一、 线性可分支持向量机 - 图83 是仿射函数时,上述凸最优化问题成为凸二次规划问题。

  7. 线性可分支持向量机原始算法:

    • 输入:线性可分训练数据集 一、 线性可分支持向量机 - 图84 ,其中 一、 线性可分支持向量机 - 图85

    • 输出:

      • 最大几何间隔的分离超平面
      • 分类决策函数
    • 算法步骤:

      • 构造并且求解约束最优化问题:

        一、 线性可分支持向量机 - 图86

        求得最优解 一、 线性可分支持向量机 - 图87

      • 由此得到分离超平面:一、 线性可分支持向量机 - 图88 ,以及分类决策函数 :一、 线性可分支持向量机 - 图89

  8. 可以证明:若训练数据集 一、 线性可分支持向量机 - 图90 线性可分,则可将训练数据集中的样本点完全正确分开的最大间隔分离超平面存在且唯一。

1.4 支持向量

  1. 在训练数据集线性可分的情况下,训练数据集的样本点中与分离超平面距离最近的样本点的实例称为支持向量。

    支持向量是使得约束条件等号成立的点,即 一、 线性可分支持向量机 - 图91

    • 对于正实例点,支持向量位于超平面 一、 线性可分支持向量机 - 图92
    • 对于负实例点,支持向量位于超平面 一、 线性可分支持向量机 - 图93
  2. 超平面 一、 线性可分支持向量机 - 图94一、 线性可分支持向量机 - 图95 称为间隔边界, 它们和分离超平面 一、 线性可分支持向量机 - 图96 平行,且没有任何实例点落在一、 线性可分支持向量机 - 图97一、 线性可分支持向量机 - 图98 之间。

    一、 线性可分支持向量机 - 图99一、 线性可分支持向量机 - 图100 之间形成一条长带,分离超平面位于长带的中央。长带的宽度称为 一、 线性可分支持向量机 - 图101一、 线性可分支持向量机 - 图102 之间的距离,也即间隔,间隔大小为 一、 线性可分支持向量机 - 图103

    linear_svm

  3. 在决定分离超平面时,只有支持向量起作用,其他的实例点并不起作用。

    • 如果移动支持向量,将改变所求的解。
    • 如果在间隔边界以外移动其他实例点,甚至去掉这些点,则解是不变的。
  4. 由于支持向量在确定分离超平面中起着决定性作用,所以将这种分离模型称为支持向量机。

  5. 支持向量的个数一般很少,所以支持向量机由很少的、重要的训练样本确定。

1.5 对偶算法

  1. 将线性可分支持向量机的最优化问题作为原始最优化问题,应用拉格朗日对偶性,通过求解对偶问题得到原始问题的最优解。这就是线性可分支持向量机的对偶算法。

  2. 对偶算法的优点:

    • 对偶问题往往更容易求解。
    • 引入了核函数,进而推广到非线性分类问题。
  3. 原始问题:

    一、 线性可分支持向量机 - 图105

    定义拉格朗日函数:

    一、 线性可分支持向量机 - 图106

    其中 一、 线性可分支持向量机 - 图107 为拉格朗日乘子向量。

    • 根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:

      一、 线性可分支持向量机 - 图108

    • 先求 一、 线性可分支持向量机 - 图109。拉格朗日函数分别为 一、 线性可分支持向量机 - 图110 求偏导数,并令其等于 0

  1. ![](/projects/huaxiaozhuan-ai/81c98f434a53a6b9236806d17557906e.svg)
  2. - 代入拉格朗日函数:
  3. ![](/projects/huaxiaozhuan-ai/53b81aac17a1be75c2397ba43a39cee5.svg)
  4. - 对偶问题极大值为:
  5. ![](/projects/huaxiaozhuan-ai/19ee4c8645e80db57cf28d6addb7939e.svg)
  1. 设对偶最优化问题的 一、 线性可分支持向量机 - 图111 的解为 一、 线性可分支持向量机 - 图112,则根据 KKT 条件有:

    一、 线性可分支持向量机 - 图113

    • 根据第一个式子,有:一、 线性可分支持向量机 - 图114

    • 由于 一、 线性可分支持向量机 - 图115 不是零向量(若它为零向量,则 一、 线性可分支持向量机 - 图116 也为零向量,矛盾),则必然存在某个 一、 线性可分支持向量机 - 图117 使得 一、 线性可分支持向量机 - 图118

      根据第三个式子,此时必有 一、 线性可分支持向量机 - 图119。同时考虑到 一、 线性可分支持向量机 - 图120,得到 :

    一、 线性可分支持向量机 - 图121

    • 于是分离超平面写作:一、 线性可分支持向量机 - 图122

      分类决策函数写作:一、 线性可分支持向量机 - 图123

      上式称作线性可分支持向量机的对偶形式。

      可以看到:分类决策函数只依赖于输入 一、 线性可分支持向量机 - 图124 和训练样本的内积。

  2. 线性可分支持向量机对偶算法:

    • 输入:线性可分训练数据集 一、 线性可分支持向量机 - 图125 ,其中 一、 线性可分支持向量机 - 图126

    • 输出:

      • 最大几何间隔的分离超平面
      • 分类决策函数
    • 算法步骤:

      • 构造并且求解约束最优化问题:

        一、 线性可分支持向量机 - 图127

        求得最优解 一、 线性可分支持向量机 - 图128

      • 计算 一、 线性可分支持向量机 - 图129

      • 选择 一、 线性可分支持向量机 - 图130 的一个正的分量 一、 线性可分支持向量机 - 图131,计算 一、 线性可分支持向量机 - 图132

      • 由此得到分离超平面:一、 线性可分支持向量机 - 图133 ,以及分类决策函数 :一、 线性可分支持向量机 - 图134

  3. 一、 线性可分支持向量机 - 图135 只依赖于 一、 线性可分支持向量机 - 图136 对应的样本点 一、 线性可分支持向量机 - 图137,而其他的样本点对于 一、 线性可分支持向量机 - 图138 没有影响。

    • 将训练数据集里面对应于 一、 线性可分支持向量机 - 图139 的样本点对应的实例 一、 线性可分支持向量机 - 图140 称为支持向量。

    • 对于一、 线性可分支持向量机 - 图141 的样本点,根据 一、 线性可分支持向量机 - 图142 ,有:一、 线性可分支持向量机 - 图143

      一、 线性可分支持向量机 - 图144 一定在间隔边界上。这与原始问题给出的支持向量的定义一致。