前面提到,对于回归问题,
核岭回归,即最小二乘SVM(LSSVM), β β 的值大部分不为0,其支持向量非常多,也就是稠密的,而并不像soft-SVM中的 α α 一样,大部分 α α `为0. 支持向量回归(SVR)模型可以解决这个问题。
为了得到,岭回归得到的是稠密的 β β ,本质上是其采用了最小二乘损失,为了得到稀疏的支持向量回归,首先引入tube回归中的敏感度损失(insensitive loss)。
上图有三个子图,第一个图是tube回归模型,第二个图是线性回归模型,第三个图两个模型的损失函数比较。
敏感度损失的思想是设置一个敏感度 ϵ>0 ϵ > 0 :
这个思想在图上可以直观地看出来,图1中红色竖直线代表损失,蓝色阴影代表 2ϵ 2 ϵ 的间隔带,样本落入此带,应认为是正确预测,损失为0;落入带外的样本的损失为样本到隔离带边界的距离,这个距离为“ f(x) f ( x ) 于 y y 的差别绝对值 − − 敏感度 ϵ ϵ ”
上面思想用公式表示出来,可以表示为:
这个分段函数可以写成:
err(y,f(x))=max(0,|y−f(x)|−ϵ) e r r ( y , f ( x ) ) = m a x ( 0 , | y − f ( x ) | − ϵ )
我们知道,标准的软间隔SVM问题可以转化成L2正则+合页损失函数的无约束问题:
min w,b 12||w||2+C∑Ni=1max(0,1−yi(w⋅xi+b)) (1) m i n w , b 1 2 | | w | | 2 + C ∑ i = 1 N m a x ( 0 , 1 − y i ( w ⋅ x i + b ) ) ( 1 )
其中,松弛变量 margin violation
ξi=max(0,1−yi(w⋅xi+b)) ξ i = m a x ( 0 , 1 − y i ( w ⋅ x i + b ) )
现在把合页损失函数换成敏感度损失函数,可以得到支持向量回归的无约束条件形式:
min w,b 12||w||2+C∑Ni=1max(0,|w⋅xi+b−yi|−ϵ) (2) m i n w , b 1 2 | | w | | 2 + C ∑ i = 1 N m a x ( 0 , | w ⋅ x i + b − y i | − ϵ ) ( 2 )
引入松弛变量 ξi=max(0,|w⋅xi+b−yi|−ϵ) ξ i = m a x ( 0 , | w ⋅ x i + b − y i | − ϵ ) , ξi≥0 ξ i ≥ 0 转化成有约束问题
min w,b, ξ 12||w||2+C∑Ni=1ξi m i n w , b , ξ 1 2 | | w | | 2 + C ∑ i = 1 N ξ i
s.t. |w⋅xi+b−yi|−ϵ≤ξi,ξi≥0 s . t . | w ⋅ x i + b − y i | − ϵ ≤ ξ i , ξ i ≥ 0
记:
1. 目标函数和软间隔svm形式相同
2. 约束条件是损失值(红色线)必须小于等于松弛变量 ξi ξ i ,其中损失值等于 f(x) f ( x ) 于 y y 的差别绝对值 减去 敏感度 ϵ ϵ ,公式表示为 |f(xi)−yi|−ϵ≤ξi,ξi≥0 | f ( x i ) − y i | − ϵ ≤ ξ i , ξ i ≥ 0
可以看到约束条件并不是凸函数,进一步转化为:
min w,b, ξ 12||w||2+C∑Ni=1(ξ∨i+ξ∧i) m i n w , b , ξ 1 2 | | w | | 2 + C ∑ i = 1 N ( ξ i ∨ + ξ i ∧ )
s.t. −ϵ−ξ∨i≤w⋅xi+b−yi≤ξ∧i+ϵ s . t . − ϵ − ξ i ∨ ≤ w ⋅ x i + b − y i ≤ ξ i ∧ + ϵ
ξ∨i≥0,ξ∧i≥0 ξ i ∨ ≥ 0 , ξ i ∧ ≥ 0
其中, ξ∧i ξ i ∧ 表示下图中在敏感度隔离带上方的损失, ξ∨i ξ i ∨ 表示下图中在敏感度隔离带下方的损失。
min w,b, ξ∨, ξ∧ 12||w||2+C∑Ni=1(ξ∨i+ξ∧i) m i n w , b , ξ ∨ , ξ ∧ 1 2 | | w | | 2 + C ∑ i = 1 N ( ξ i ∨ + ξ i ∧ )
s.t. yi−f(xi)≤ξ∧i+ϵ s . t . y i − f ( x i ) ≤ ξ i ∧ + ϵ
f(xi)−yi≤ϵ+ξ∨i f ( x i ) − y i ≤ ϵ + ξ i ∨
ξ∨i≥0,ξ∧i≥0,i=1,2…,N ξ i ∨ ≥ 0 , ξ i ∧ ≥ 0 , i = 1 , 2 … , N
写出拉格朗日函数L.
然后分别对 w,b, ξ∨, ξ∧ w , b , ξ ∨ , ξ ∧ 求偏导数并令其为0,可得:
w w 仍然是输入 x x 的线性组合,系数是拉格朗日乘子 ( α∧−α∨) ( α ∧ − α ∨ )
w=∑Ni=0( α∧i−α∨i)⋅xi=∑Ni=0βi⋅xi w = ∑ i = 0 N ( α i ∧ − α i ∨ ) ⋅ x i = ∑ i = 0 N β i ⋅ x i
对b求偏导会得到一个约束条件,这可以看成 是 yi y i 等于1,得:
0=∑Ni=0( α∧−α∨) 0 = ∑ i = 0 N ( α ∧ − α ∨ )
C 等于两类拉格朗日乘子的和:
C=(α∧i+μ∧i) C = ( α i ∧ + μ i ∧ )
C=(α∨i+μ∨i) C = ( α i ∨ + μ i ∨ )
重新代入拉格朗日函数,得到对偶问题:
上诉过程要满足KKT条件,现在可以根据KKT条件中的互补松弛条件推导出b及支持向量的等价关系,进而得到整个模型的形式。
对于在2 ϵ ϵ 的隔离带内的点,必然有 |y−f(x)|−ϵ≤0 | y − f ( x ) | − ϵ ≤ 0 且 ξ=0 ξ = 0 .那么可以得到:
由互补松弛条件,得到 ( α∧i−α∨i)=0 ( α i ∧ − α i ∨ ) = 0
因此,支持向量是 ( α∧i−α∨i)≠0 ( α i ∧ − α i ∨ ) ≠ 0 的样本点,由此我们获得稀疏的 βi=( α∧i−α∨i) β i = ( α i ∧ − α i ∨ ) 。
在求解完对偶问题后,只需要选取一个满足 0<α∨i<C 0 < α i ∨ < C 的样本,并通过下式求解b。
b∗=yj+ϵ−∑Ni=1β∗iyiK(xi⋅xj) b ∗ = y j + ϵ − ∑ i = 1 N β i ∗ y i K ( x i ⋅ x j )
证明过程利用了两个互补松弛条件。可参看软间隔SVM。
参考书籍:林轩田机器学习技法 周志华机器学习