四、支持向量回归

  1. 支持向量机不仅可以用于分类问题,也可以用于回归问题。

  2. 给定训练数据集 四、支持向量回归 - 图1 ,其中 四、支持向量回归 - 图2

    • 对于样本 四、支持向量回归 - 图3 ,传统的回归模型通常基于模型输出 四、支持向量回归 - 图4 与真实输出 四、支持向量回归 - 图5 之间的差别来计算损失。当且仅当 四、支持向量回归 - 图6四、支持向量回归 - 图7 完全相同时,损失才为零。

    • 支持向量回归(Support Vector Regression:SVR)不同:它假设能容忍 四、支持向量回归 - 图8四、支持向量回归 - 图9 之间最多有 四、支持向量回归 - 图10 的偏差。仅当 四、支持向量回归 - 图11 时,才计算损失。

      支持向量回归相当于以 四、支持向量回归 - 图12 为中心,构建了一个宽度为 四、支持向量回归 - 图13 的间隔带。若训练样本落在此间隔带内则被认为是预测正确的。

4.1 原始问题

  1. SVR问题形式化为:

    四、支持向量回归 - 图14

    其中:

    • 四、支持向量回归 - 图15 为罚项常数。

      • 四、支持向量回归 - 图16 较大,则倾向于 四、支持向量回归 - 图17四、支持向量回归 - 图18 之间较小的偏差
      • 四、支持向量回归 - 图19 较小,则能容忍 四、支持向量回归 - 图20四、支持向量回归 - 图21 之间较大的偏差
    • 四、支持向量回归 - 图22 为损失函数。其定义为:

      四、支持向量回归 - 图23

      线性回归中,损失函数为 四、支持向量回归 - 图24

      L_epsilon

  2. 引入松弛变量 四、支持向量回归 - 图26,将上式写做:

    四、支持向量回归 - 图27

    这就是 SVR原始问题。

4.2 对偶问题

  1. 引入拉格朗日乘子,四、支持向量回归 - 图28,定义拉格朗日函数:

    四、支持向量回归 - 图29

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

    四、支持向量回归 - 图30

  2. 先求极小问题:根据 四、支持向量回归 - 图31四、支持向量回归 - 图32 偏导数为零可得:

    四、支持向量回归 - 图33

  3. 再求极大问题(取负号变极小问题):

    四、支持向量回归 - 图34

  4. 上述过程需要满足KKT条件,即:

    四、支持向量回归 - 图35

  5. 可以看出:

    • 当样本 四、支持向量回归 - 图36 不落入四、支持向量回归 - 图37 间隔带中时,对应的 四、支持向量回归 - 图38 才能取非零值:

      • 当且仅当 四、支持向量回归 - 图39 时, 四、支持向量回归 - 图40 能取非零值
      • 当且仅当 四、支持向量回归 - 图41 时, 四、支持向量回归 - 图42 能取非零值
    • 此外约束 四、支持向量回归 - 图43四、支持向量回归 - 图44 不能同时成立,因此 四、支持向量回归 - 图45 中至少一个为零。
  6. 设最终解 四、支持向量回归 - 图46 中,存在 四、支持向量回归 - 图47,则有:

    四、支持向量回归 - 图48

  7. 最后若考虑使用核技巧,则SVR可以表示为:四、支持向量回归 - 图49