四、支持向量回归
支持向量机不仅可以用于分类问题,也可以用于回归问题。
给定训练数据集 ,其中 。
对于样本 ,传统的回归模型通常基于模型输出 与真实输出 之间的差别来计算损失。当且仅当 与 完全相同时,损失才为零。
支持向量回归(
Support Vector Regression:SVR
)不同:它假设能容忍 与 之间最多有 的偏差。仅当 时,才计算损失。支持向量回归相当于以 为中心,构建了一个宽度为 的间隔带。若训练样本落在此间隔带内则被认为是预测正确的。
4.1 原始问题
SVR
问题形式化为:其中:
为罚项常数。
- 若 较大,则倾向于 与 之间较小的偏差
- 若 较小,则能容忍 与 之间较大的偏差
为损失函数。其定义为:
线性回归中,损失函数为
引入松弛变量 ,将上式写做:
这就是
SVR
原始问题。
4.2 对偶问题
引入拉格朗日乘子,,定义拉格朗日函数:
根据拉格朗日对偶性,原始问题的对偶问题是极大极小问题:
先求极小问题:根据 对 偏导数为零可得:
再求极大问题(取负号变极小问题):
上述过程需要满足
KKT
条件,即:可以看出:
当样本 不落入 间隔带中时,对应的 才能取非零值:
- 当且仅当 时, 能取非零值
- 当且仅当 时, 能取非零值
- 此外约束 与 不能同时成立,因此 中至少一个为零。
设最终解 中,存在 ,则有:
最后若考虑使用核技巧,则
SVR
可以表示为: 。