精读西瓜书(第六章-支持向量机)-支持向量回归

写在前面

  • 昨天, 我们学习了SVM中的软间隔与正则化; 今天, 我们继续学习SVM中的支持向量回归.

支持向量回归

  • 现在我们来考虑回归问题. 给定训练样本 , , 希望学得一个回归模型, 使得 尽可能接近, 是待确定的模型参数.
  • 对样本 , 传统回归模型通常直接基于模型输出 与真实输出 之间的差别来计算损失, 当且仅当 完全相同时, 损失才为零. 与此不同, 支持向量回归(Support Vector Regression, 简称SVR)假设我们能容忍 之间最多有 的偏差, 即仅当 之间的差别绝对值大于 时才计算损失. 如下图, 这相当于以 为中心, 构建了一个宽度为 的间隔带, 若训练样本落入此间隔带, 则认为是被预测正确的.
  • 于是, SVR问题可形式化为:
  • 其中 为正则化常数, - 不敏感损失 ( - insensitive loss )函数:
  • 引入松弛变量 , 可重写为:

  • - 通过引入拉格朗日乘子 , 由拉格朗日乘子法可得到拉格朗日函数:

  • 再令 , 对 的偏导为零可得:
  • 将式带入, 即可得到SVR的对偶问题:
  • 上述过程中满足KKT条件, 即要求:
  • 可以看出, 当且仅当 能取非零值, 当且仅当 能取非零值. 换言之, 仅当样本 不落入 - 间隔带中, 相应的 才能取非零值. 此外, 约束 不能同时成立, 因此 中至少有一个为零. 则SVR的解形如:
  • 能使 的样本即为SVR的支持向量, 他们必须落在 - 间隔带之外. 显然, SVR的支持向量仅是训练样本的一部分, 即其解仍具有稀疏性. 由KKT条件可看出, 对每个样本 都有 . 于是, 在得到 后, 若 , 则必有 进而有:
  • 因此, 在求解得到 后, 理论上来说, 可任意选取满足 的样本求得 . 实践中长采用一种更鲁棒的办法: 选取多个(或所有)满足条件 的样本求解 后取平均值. 若考虑特征映射形式, 相应的, 得到:
  • 则SVR可表示为:

  • 其中 为核函数.

    写在后面

  • 今天, 我们学习了SVM中的支持向量回归; 明天, 我们将继续学习SVM中的核方法.

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据