二、线性支持向量机

  1. 对于线性不可分训练数据,线性支持向量机不再适用,但可以想办法将它扩展到线性不可分问题。

2.1 原始问题

  1. 设训练集为 二、线性支持向量机 - 图1 ,其中 二、线性支持向量机 - 图2

    假设训练数据集不是线性可分的,这意味着某些样本点 二、线性支持向量机 - 图3 不满足函数间隔大于等于 1 的约束条件。

    • 对每个样本点 二、线性支持向量机 - 图4 引进一个松弛变量 二、线性支持向量机 - 图5,使得函数间隔加上松弛变量大于等于 1。

      即约束条件变成了: 二、线性支持向量机 - 图6

    • 对每个松弛变量 二、线性支持向量机 - 图7 ,支付一个代价 二、线性支持向量机 - 图8。目标函数由原来的 二、线性支持向量机 - 图9 变成:

      二、线性支持向量机 - 图10

      这里 二、线性支持向量机 - 图11 称作惩罚参数,一般由应用问题决定。

      • 二、线性支持向量机 - 图12 值大时,对误分类的惩罚增大,此时误分类点凸显的更重要
      • 二、线性支持向量机 - 图13 值较大时,对误分类的惩罚增加,此时误分类点比较重要。
      • 二、线性支持向量机 - 图14 值较小时,对误分类的惩罚减小,此时误分类点相对不重要。
  2. 相对于硬间隔最大化, 二、线性支持向量机 - 图15 称为软间隔最大化。

    于是线性不可分的线性支持向量机的学习问题变成了凸二次规划问题:

    二、线性支持向量机 - 图16

    • 这称为线性支持向量机的原始问题。

    • 因为这是个凸二次规划问题,因此解存在。

      可以证明 二、线性支持向量机 - 图17 的解是唯一的; 二、线性支持向量机 - 图18 的解不是唯一的,二、线性支持向量机 - 图19 的解存在于一个区间。

  3. 对于给定的线性不可分的训练集数据,通过求解软间隔最大化问题得到的分离超平面为:二、线性支持向量机 - 图20

    以及相应的分类决策函数:二、线性支持向量机 - 图21 ,称之为线性支持向量机。

  • 线性支持向量机包含线性可分支持向量机。
  • 现实应用中训练数据集往往是线性不可分的,线性支持向量机具有更广泛的适用性。

2.2 对偶问题

  1. 定义拉格朗日函数为:

    二、线性支持向量机 - 图22

    原始问题是拉格朗日函数的极小极大问题;对偶问题是拉格朗日函数的极大极小问题。

    • 先求 二、线性支持向量机 - 图23二、线性支持向量机 - 图24 的极小。根据偏导数为0:

      二、线性支持向量机 - 图25

      得到:

      二、线性支持向量机 - 图26

    • 再求极大问题:将上面三个等式代入拉格朗日函数:

      二、线性支持向量机 - 图27

      于是得到对偶问题:

      二、线性支持向量机 - 图28

  2. 根据 KKT 条件:

    二、线性支持向量机 - 图29

    则有:二、线性支持向量机 - 图30

    • 若存在 二、线性支持向量机 - 图31 的某个分量 二、线性支持向量机 - 图32,则有:二、线性支持向量机 - 图33

      二、线性支持向量机 - 图34 的所有分量都等于 0 ,则得出 二、线性支持向量机 - 图35 为零,没有任何意义。

      二、线性支持向量机 - 图36 的所有分量都等于 二、线性支持向量机 - 图37,根据 二、线性支持向量机 - 图38,则要求 二、线性支持向量机 - 图39。这属于强加的约束,

      • 根据 二、线性支持向量机 - 图40 ,有 二、线性支持向量机 - 图41
      • 考虑 二、线性支持向量机 - 图42 ,则有:二、线性支持向量机 - 图43
    • 分离超平面为: 二、线性支持向量机 - 图44

    • 分类决策函数为:二、线性支持向量机 - 图45

  3. 线性支持向量机对偶算法:

    • 输入:训练数据集 二、线性支持向量机 - 图46 ,其中 二、线性支持向量机 - 图47

    • 输出:

      • 分离超平面
      • 分类决策函数
    • 算法步骤:

      • 选择惩罚参数 二、线性支持向量机 - 图48 ,构造并且求解约束最优化问题:

        二、线性支持向量机 - 图49

        求得最优解 二、线性支持向量机 - 图50

      • 计算 :二、线性支持向量机 - 图51

      • 选择 二、线性支持向量机 - 图52 的一个合适的分量 二、线性支持向量机 - 图53,计算: 二、线性支持向量机 - 图54

        可能存在多个符合条件的 二、线性支持向量机 - 图55。这是由于原始问题中,对 二、线性支持向量机 - 图56 的解不唯一。所以

        实际计算时可以取在所有符合条件的样本点上的平均值。

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

2.3 支持向量

  1. 在线性不可分的情况下,对偶问题的解 二、线性支持向量机 - 图59 中,对应于 二、线性支持向量机 - 图60 的样本点 二、线性支持向量机 - 图61 的实例点 二、线性支持向量机 - 图62 称作支持向量,它是软间隔的支持向量。

  2. 线性不可分的支持向量比线性可分时的情况复杂一些:

    根据 二、线性支持向量机 - 图63,以及 二、线性支持向量机 - 图64,则:

    • 二、线性支持向量机 - 图65 ,则 二、线性支持向量机 - 图66, 则松弛量 二、线性支持向量机 - 图67。此时:支持向量恰好落在了间隔边界上。

    • 二、线性支持向量机 - 图68, 则 二、线性支持向量机 - 图69,于是 二、线性支持向量机 - 图70 可能为任何正数:

      • 二、线性支持向量机 - 图71,则支持向量落在间隔边界与分离超平面之间,分类正确。
      • 二、线性支持向量机 - 图72,则支持向量落在分离超平面上。
      • 二、线性支持向量机 - 图73,则支持向量落在分离超平面误分类一侧,分类错误。

2.4 合页损失函数

  1. 定义取正函数为:

    二、线性支持向量机 - 图74

    定义合页损失函数为: 二、线性支持向量机 - 图75 ,其中 二、线性支持向量机 - 图76 为样本的标签值,二、线性支持向量机 - 图77 为样本的模型预测值。

    则线性支持向量机就是最小化目标函数:

    二、线性支持向量机 - 图78

  2. 合页损失函数的物理意义:

    • 当样本点 二、线性支持向量机 - 图79 被正确分类且函数间隔(确信度) 二、线性支持向量机 - 图80 大于 1 时,损失为0
    • 当样本点 二、线性支持向量机 - 图81 被正确分类且函数间隔(确信度) 二、线性支持向量机 - 图82 小于等于 1 时损失为 二、线性支持向量机 - 图83
    • 当样本点 二、线性支持向量机 - 图84 未被正确分类时损失为 二、线性支持向量机 - 图85
  3. 可以证明:线性支持向量机原始最优化问题等价于最优化问题:

    二、线性支持向量机 - 图86

  4. 合页损失函数图形如下:

    • 感知机的损失函数为 二、线性支持向量机 - 图87,相比之下合页损失函数不仅要分类正确,而且要确信度足够高(确信度为1)时,损失才是0。即合页损失函数对学习有更高的要求。

    • 0-1损失函数通常是二分类问题的真正的损失函数,合页损失函数是0-1损失函数的上界。

      • 因为0-1损失函数不是连续可导的,因此直接应用于优化问题中比较困难。
      • 通常都是用0-1损失函数的上界函数构成目标函数,这时的上界损失函数又称为代理损失函数。

    hinge_loss

  5. 理论上SVM 的目标函数可以使用梯度下降法来训练。但存在三个问题:

    • 合页损失函数部分不可导。这可以通过sub-gradient descent 来解决。
    • 收敛速度非常慢。
    • 无法得出支持向量和非支持向量的区别。