什么是 支持向量回归(SVR)?
支持向量回归(SVR)是一种监督回归方法,它在寻找正则化函数的同时忽略位于 ε 宽容差管道内的残差,只惩罚超出管道的偏差。
快速了解
| 全称 | Support Vector Regression |
|---|---|
| 创建时间 | 1996 年由 Harris Drucker、Christopher Burges、Linda Kaufman、Alex Smola 与 Vladimir Vapnik 提出 |
| 规范文档 | 官方规范 |
工作原理
联合优化 ε 不敏感误差与函数平坦性
ε-insensitive Loss 为 max(0, |y-f(x)|-epsilon)。一种常见 Primal SVR Objective 把 ||w||^2/2 与 C 乘以正负 Slack 相加,因此管道内 Residual 不影响 Loss,管道外的大残差按超出量线性增长。
Smola 与 Schölkopf 的 SVR 教程推导了 Primal、Dual、Kernel 与 Loss Variant。不同资料和 Library 的 Objective Scaling 与参数名可能不同;比较 C 前必须记录 Loss 是求和还是求平均。
把 ε、C 与支持向量放在一起解释
增大 epsilon 会拓宽容差管道,通常减少 Active Constraint 与 Support Vector,但也可能隐藏业务真正关心的误差。增大 C 通常更强地惩罚管道外误差,并可能得到正则化更弱的拟合。
这些控制量还会与 Kernel Bandwidth、Target Unit、Sample Weight 和噪声共同作用。标准化 Target 会改变同一数值 epsilon 的含义。有明确业务容差时先从容差出发,再验证邻近参数,不能把 Support-vector Sparsity 本身当作目标。
用回归基线和部署成本共同评测
Feature Scaling、Target Transform、Kernel Parameter、epsilon 与 C 都要在 Training Fold 内拟合。应在原始 Target Unit 上报告 MAE 或业务一致指标,检查 Residual Slice 与 Tail,并对照 Linear Regression、Tree Model 和 Kernel Ridge Regression。
当前 scikit-learn SVR 指南提醒,常见 Kernel 实现的训练成本随样本数增长快于二次。预测还要计算保留的 Support Vector,因此除留出误差外,还应测量数量、模型体积和延迟。
主要特点
- 使用带零惩罚容差管道的 ε-insensitive Loss
- 通过 C 平衡函数正则性与管道外惩罚
- 以 Support Vector 上的 Kernel 表达非线性预测
- 只有结合 Target Scale 才能解释 epsilon
- 标准 ε-SVR 对大残差按超出管道的距离线性惩罚
- 预测成本依赖保留的 Support Vector
常见用途
- 预测具有明确可接受误差带的连续 Target
- 在中小型数据上拟合非线性关系
- 建立对小幅噪声不敏感的 Squared-loss Regression 替代方案
- 使用领域特定的 Sequence、Molecular 或 Graph Kernel 回归
- 比较稀疏 Kernel Expansion 与 Kernel Ridge Regression
示例
Loading code...常见问题
支持向量回归中的 epsilon 表示什么?
Epsilon 是 Target 当前 Unit 或 Transform Scale 下可容忍的绝对 Residual。管道内预测获得零 ε-insensitive Loss;它不是置信区间,也不保证未来 Target 中有固定比例会落入管道。
SVR 中的 C 与 epsilon 如何共同作用?
Epsilon 决定哪些 Residual 激活 Loss,C 决定这些 Active Violation 与正则化竞争时的权重。更宽管道往往保留更少 Support Vector,更大 C 往往更激进地拟合管道外偏差;两者必须与 Kernel 和 Scale 一起调优。
SVR 与核岭回归有什么区别?
标准 ε-SVR 使用 ε-insensitive Linear Penalty,通常形成稀疏 Support-vector Expansion;KRR 使用 Squared Loss,通常为所有训练 Reference 保留 Coefficient。两者的求解方式、敏感性和参数约定也不同。
训练 SVR 前应该标准化 Target 吗?
Target Scaling 可以改善数值条件,但会改变 epsilon 与报告误差的含义。Transform 只能在训练数据上拟合,业务评测前要逆变换预测,并同时记录 Transform Scale 与 Original Unit 下的 epsilon。
为什么 Kernel SVR 的预测可能很慢?
每个 Query 通常都要与所有保留 Support Vector 计算选定 Kernel。灵活拟合或噪声重叠可能保留大量向量。应测量数量和延迟,再比较 Linear SVR、显式 Kernel Approximation 或其他 Regressor。