给定训练样本,希望学得一个形如
的回归模型,使得f(x)与y尽可能接近。
对样本(x,y),传统回归模型通常直接基于模型输出f(x)与真实输出之间的差别来计算损失,当且仅当f(x)与y完全相同时,损失才为零。
支持向量回归(Support Vector Regression, SVR)与此不同,假设f(x)与y之间最多有的偏差。即仅当f(x)与y之间的差别绝对值大于
时才计算损失。这就相当于以f(x)为中心,构建了一个宽为
的间隔带,若训练样本落在此间隔带中,则认为被预测正确。如下图所示。
所以,SVR问题可形式化为:
其中C为常数,是下图所示的
-不敏感损失函数。
由于间隔带两侧的松弛程度可有所不同,所以引入松弛变量和
,将上述式子写为:
引入拉格朗日乘子,得出以下式子:
令L对 其w,b, 和
求偏导等于零可知
带回到拉格朗日函数中,即得到SVR的对偶问题
满足KTT条件,即
可以看出,当且仅当时,
能取非零值。当且仅当
时,
取非零值。即当样本
不落入
间隔带中,
和
才能取非零值。此外,约束
和
不能同时成立,因此
和
中至少有一个为零。
SVR的解形如
能使的样本即为SVR的支持向量,他们必落在间隔带外。
若考虑特征映射形式,则相应的
则SVR可表示为
其中,为核函数。