赞
踩
SVR应用链接,处理波士顿房价预测问题
在SVM分类模型中,我们的目标函数是让
1
2
∣
∣
w
∣
∣
2
\cfrac{1}{2}||w||^2
21∣∣w∣∣2最小,同时让各个训练集中的点尽量远离自己类别一边的的支持向量,即
y
i
(
w
⋅
ϕ
(
x
i
)
+
b
)
≥
1
y_i(w \cdot \phi(x_i )+ b) \geq 1
yi(w⋅ϕ(xi)+b)≥1。若加入一个松弛变量
ξ
i
≥
0
\xi_i \geq 0
ξi≥0,则目标函数为:
1
2
∣
∣
w
∣
∣
2
2
+
C
∑
i
=
1
m
ξ
i
(式1)
\frac{1}{2}||w||_2^2 +C\sum\limits_{i=1}^{m}\xi_i\tag{式1}
21∣∣w∣∣22+Ci=1∑mξi(式1)
约束条件为:
y
i
(
w
⋅
ϕ
(
x
i
)
+
b
)
≥
1
−
ξ
i
(式2)
y_i(w \cdot \phi(x_i ) + b ) \geq 1 - \xi_i\tag{式2}
yi(w⋅ϕ(xi)+b)≥1−ξi(式2)
现在用于回归模型,优化目标函数可以继续和SVM分类模型保持一致为
1
2
∣
∣
w
∣
∣
2
2
\frac{1}{2}||w||_2^2
21∣∣w∣∣22,但是约束条件不可能是让各个训练集中的点尽量远离自己类别一边的的支持向量,因为我们是回归模型,没有类别。对于回归模型,我们的目标是让训练集中的每个点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi),尽量拟合到一个线性模型
y
i
≈
w
⋅
ϕ
(
x
i
)
+
b
y_i \approx{ w \cdot \phi(x_i ) +b }
yi≈w⋅ϕ(xi)+b。一般的回归模型,使用均方差作为损失函数,但是SVR不是这样定义损失函数的。
SVR需要定义一个常量
ϵ
>
0
\epsilon>0
ϵ>0,对于某一个点
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi),如果
∣
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
∣
≤
ϵ
|y_i - w \cdot\phi(x_i ) -b| \leq \epsilon
∣yi−w⋅ϕ(xi)−b∣≤ϵ,则没有损失,如果
∣
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
∣
>
ϵ
|y_i - w \cdot \phi(x_i ) -b| >\epsilon
∣yi−w⋅ϕ(xi)−b∣>ϵ,则对应的损失为
∣
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
∣
−
ϵ
|y_i - w \cdot \phi(x_i ) -b| - \epsilon
∣yi−w⋅ϕ(xi)−b∣−ϵ,这和均方差损失函数不同,如果是均方差,那么只要
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
≠
0
y_i - w \cdot\phi(x_i ) -b \neq{0}
yi−w⋅ϕ(xi)−b=0,那么就会有损失。
如图所示,在条带里面的点都是没有损失的,但是外面的点的是有损失的:
这样一来我们的SVR模型的损失函数度量为:
e
r
r
(
x
i
,
y
i
)
=
{
0
∣
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
∣
≤
ϵ
∣
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
∣
−
ϵ
∣
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
∣
>
ϵ
(式3)
err(x_i,y_i) =
定义目标函数如下:
m
i
n
1
2
∣
∣
w
∣
∣
2
2
s
.
t
∣
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
∣
≤
ϵ
(
i
=
1
,
2
,
.
.
.
m
)
(式4)
和SVM模型相似,SVR模型也可以对每个样本
(
x
i
,
y
i
)
(x_i,y_i)
(xi,yi)加入松弛变量
ξ
i
≥
0
\xi_i \geq 0
ξi≥0, 但是由于我们这里用的是绝对值,实际上是两个不等式,也就是说两边都需要松弛变量,定义为
ξ
i
∨
,
ξ
i
∧
\xi_i^{\lor}, \xi_i^{\land}
ξi∨,ξi∧, 则SVR模型的损失函数度量在加入松弛变量之后变为:
m
i
n
1
2
∣
∣
w
∣
∣
2
2
+
C
∑
i
=
1
m
(
ξ
i
∨
+
ξ
i
∧
)
s
.
t
.
−
ϵ
−
ξ
i
∨
≤
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
≤
ϵ
+
ξ
i
∧
ξ
i
∨
≥
0
,
ξ
i
∧
≥
0
(
i
=
1
,
2
,
.
.
.
,
m
)
(式5)
依然和SVM分类模型相似,用拉格朗日函数将目标优化函数变成无约束的形式,如下:
L
(
w
,
b
,
α
∨
,
α
∧
,
ξ
i
∨
,
ξ
i
∧
,
μ
∨
,
μ
∧
)
=
1
2
∣
∣
w
∣
∣
2
2
+
C
∑
i
=
1
m
(
ξ
i
∨
+
ξ
i
∧
)
+
∑
i
=
1
m
α
∨
(
−
ϵ
−
ξ
i
∨
−
y
i
+
w
⋅
ϕ
(
x
i
)
+
b
)
+
∑
i
=
1
m
α
∧
(
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
−
ϵ
−
ξ
i
∧
)
−
∑
i
=
1
m
μ
∨
ξ
i
∨
−
∑
i
=
1
m
μ
∧
ξ
i
∧
(式6)
其中
μ
∨
≥
0
,
μ
∧
≥
0
,
α
i
∨
≥
0
,
α
i
∧
≥
0
\mu^{\lor} \geq 0, \mu^{\land}\geq 0, \alpha_i^{\lor} \geq 0, \alpha_i^{\land}\geq 0
μ∨≥0,μ∧≥0,αi∨≥0,αi∧≥0,均为拉格朗日乘子。
根据SVR模型的目标函数的原始形式,我们的目标是:
min
(
w
,
b
,
ξ
i
∨
,
ξ
i
∧
)
max
(
μ
∨
≥
0
,
μ
∧
≥
0
,
α
i
∨
≥
0
,
α
i
∧
≥
0
)
L
(
w
,
b
,
α
∨
,
α
∧
,
ξ
i
∨
,
ξ
i
∧
,
μ
∨
,
μ
∧
)
(式7)
\min({w,b,\xi_i^{\lor}, \xi_i^{\land}})\qquad \max({\mu^{\lor}\geq 0, \mu^{\land}\geq 0,\alpha_i^{\lor}\geq 0,\alpha_i^{\land}\geq 0})\quad L(w,b,\alpha^{\lor}, \alpha^{\land},\xi_i^{\lor}, \xi_i^{\land}, \mu^{\lor},\mu^{\land})\tag{式7}
min(w,b,ξi∨,ξi∧)max(μ∨≥0,μ∧≥0,αi∨≥0,αi∧≥0)L(w,b,α∨,α∧,ξi∨,ξi∧,μ∨,μ∧)(式7)
和SVM分类模型一样,这个优化目标也满足KKT条件,也就是说,我们可以通过拉格朗日将优化问题转化为等价的对偶问题来求解如下:
max
(
μ
∨
≥
0
,
μ
∧
≥
0
,
α
i
∨
≥
0
,
α
i
∧
≥
0
)
min
(
w
,
b
,
ξ
i
∨
,
ξ
i
∧
)
L
(
w
,
b
,
α
∨
,
α
∧
,
ξ
i
∨
,
ξ
i
∧
,
μ
∨
,
μ
∧
)
(式8)
\max({\mu^{\lor}\geq 0, \mu^{\land}\geq 0,\alpha_i^{\lor}\geq 0,\alpha_i^{\land}\geq 0})\qquad\min({w,b,\xi_i^{\lor}, \xi_i^{\land}})\qquad \quad L(w,b,\alpha^{\lor}, \alpha^{\land},\xi_i^{\lor}, \xi_i^{\land}, \mu^{\lor},\mu^{\land})\tag{式8}
max(μ∨≥0,μ∧≥0,αi∨≥0,αi∧≥0)min(w,b,ξi∨,ξi∧)L(w,b,α∨,α∧,ξi∨,ξi∧,μ∨,μ∧)(式8)
可以先求优化函数对于
w
,
b
,
ξ
i
∨
,
ξ
i
∧
w,b,\xi_i^{\lor}, \xi_i^{\land}
w,b,ξi∨,ξi∧的极小值, 接着再求拉格朗日乘子
α
∨
,
α
∧
,
μ
∨
μ
∧
\alpha^{\lor}, \alpha^{\land}, \mu^{\lor}\mu^{\land}
α∨,α∧,μ∨μ∧的极大值。
首先我们来求优化函数对于
w
,
b
,
ξ
i
∨
,
ξ
i
∧
w,b,\xi_i^{\lor}, \xi_i^{\land}
w,b,ξi∨,ξi∧的极小值。
这个可以通过求偏导数求得:
∂
L
∂
w
=
0
⇒
w
=
∑
i
=
1
m
(
α
i
∧
−
α
i
∨
)
ϕ
(
x
i
)
(式9)
\frac{\partial L}{\partial w} = 0 \Rightarrow w = \sum\limits_{i=1}^{m}(\alpha_i^{\land} - \alpha_i^{\lor})\phi(x_i)\tag{式9}
∂w∂L=0⇒w=i=1∑m(αi∧−αi∨)ϕ(xi)(式9)
∂
L
∂
b
=
0
⇒
∑
i
=
1
m
(
α
i
∧
−
α
i
∨
)
=
0
(式10)
\frac{\partial L}{\partial b} = 0 \Rightarrow \sum\limits_{i=1}^{m}(\alpha_i^{\land} - \alpha_i^{\lor}) = 0\tag{式10}
∂b∂L=0⇒i=1∑m(αi∧−αi∨)=0(式10)
∂
L
∂
ξ
i
∨
=
0
⇒
C
−
α
∨
−
μ
∨
=
0
(式11)
\frac{\partial L}{\partial \xi_i^{\lor}} = 0 \Rightarrow C-\alpha^{\lor}-\mu^{\lor} = 0 \tag{式11}
∂ξi∨∂L=0⇒C−α∨−μ∨=0(式11)
∂
L
∂
ξ
i
∧
=
0
⇒
C
−
α
∧
μ
∧
=
0
(式12)
\frac{\partial L}{\partial \xi_i^{\land}} = 0 \Rightarrow C-\alpha^{\land}\mu^{\land} = 0\tag{式12}
∂ξi∧∂L=0⇒C−α∧μ∧=0(式12)
好了,把上面4个式子带入
L
(
w
,
b
,
α
∨
,
α
∧
,
ξ
i
∨
,
ξ
i
∧
,
μ
∨
,
μ
∧
)
L(w,b,\alpha^{\lor},\alpha^{\land},\xi_i^{\lor}, \xi_i^{\land}, \mu^{\lor},\mu^{\land})
L(w,b,α∨,α∧,ξi∨,ξi∧,μ∨,μ∧)消去
w
,
b
,
ξ
i
∨
,
ξ
i
∧
w,b,\xi_i^{\lor}, \xi_i^{\land}
w,b,ξi∨,ξi∧了。
最终得到的对偶形式为:
m
a
x
⏟
α
∨
,
α
∧
−
∑
i
=
1
m
(
ϵ
−
y
i
)
α
i
∧
+
(
ϵ
+
y
i
)
α
i
∨
)
−
1
2
∑
i
=
1
,
j
=
1
m
(
α
i
∧
−
α
i
∨
)
(
α
j
∧
−
α
j
∨
)
K
i
j
s
.
t
.
∑
i
=
1
m
(
α
i
∧
−
α
i
∨
)
=
0
0
<
α
i
∨
<
C
(
i
=
1
,
2
,
.
.
.
m
)
0
<
α
i
∧
<
C
(
i
=
1
,
2
,
.
.
.
m
(式13)
取负号求最小值可以得到和SVM分类模型类似的求极小值的目标函数如下:
m
i
n
⏟
α
∨
,
α
∧
1
2
∑
i
=
1
,
j
=
1
m
(
α
i
∧
−
α
i
∨
)
(
α
j
∧
−
α
j
∨
)
K
i
j
+
∑
i
=
1
m
(
ϵ
−
y
i
)
α
i
∧
+
(
ϵ
+
y
i
)
α
i
∨
s
.
t
.
∑
i
=
1
m
(
α
i
∧
−
α
i
∨
)
=
0
0
<
α
i
∨
<
C
(
i
=
1
,
2
,
.
.
.
m
)
0
<
α
i
∧
<
C
(
i
=
1
,
2
,
.
.
.
m
)
(式14)
\underbrace{ min}_{\alpha^{\lor}, \alpha^{\land}}\frac{1}{2}\sum\limits_{i=1,j=1}^{m}(\alpha_i^{\land} - \alpha_i^{\lor})(\alpha_j^{\land} -\alpha_j^{\lor})K_{ij} + \sum\limits_{i=1}^{m}(\epsilon-y_i)\alpha_i^{\land}+ (\epsilon+y_i)\alpha_i^{\lor} \\ s.t. \sum\limits_{i=1}^{m}(\alpha_i^{\land} - \alpha_i^{\lor}) = 0\\ 0 < \alpha_i^{\lor} <C (i =1,2,...m)\\ 0<\alpha_i^{\land} <C (i =1,2,...m)\tag{式14}
α∨,α∧
min21i=1,j=1∑m(αi∧−αi∨)(αj∧−αj∨)Kij+i=1∑m(ϵ−yi)αi∧+(ϵ+yi)αi∨s.t.i=1∑m(αi∧−αi∨)=00<αi∨<C(i=1,2,...m)0<αi∧<C(i=1,2,...m)(式14)
对于此目标函数,可以用SMO算法来求出对应的
α
∨
,
α
∧
\alpha^{\lor}, \alpha^{\land}
α∨,α∧,进而求出我们的回归模型系数
w
,
b
w, b
w,b。
在SVM分类模型中,我们的KKT条件的对偶互补条件为:
α
i
∗
(
y
i
(
w
⋅
ϕ
(
x
i
)
+
b
)
−
1
+
ξ
i
∗
)
=
0
\alpha_{i}^{*}(y_i(w \cdot \phi(x_i) + b) - 1+\xi_i^{*}) = 0
αi∗(yi(w⋅ϕ(xi)+b)−1+ξi∗)=0,而在回归模型中,我们的对偶互补条件类似如下:
α
i
∨
(
ϵ
+
ξ
i
∨
+
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
)
=
0
(式15)
\alpha_i^{\lor}(\epsilon + \xi_i^{\lor} + y_i - w \cdot \phi(x_i ) - b) = 0 \tag{式15}
αi∨(ϵ+ξi∨+yi−w⋅ϕ(xi)−b)=0(式15)
α
i
∧
(
ϵ
+
ξ
i
∧
−
y
i
+
w
⋅
ϕ
(
x
i
)
+
b
)
=
0
(式16)
\alpha_i^{\land}(\epsilon + \xi_i^{\land} -y_i + w \cdot \phi(x_i ) + b) = 0\tag{式16}
αi∧(ϵ+ξi∧−yi+w⋅ϕ(xi)+b)=0(式16)
根据松弛变量定义条件,如果
∣
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
∣
<
ϵ
|y_i - w \cdot \phi(x_i ) -b| <\epsilon
∣yi−w⋅ϕ(xi)−b∣<ϵ,我们有
ξ
i
∨
=
0
,
ξ
i
∧
=
0
\xi_i^{\lor} = 0, \xi_i^{\land}= 0
ξi∨=0,ξi∧=0,此时
ϵ
+
ξ
i
∨
+
y
i
−
w
⋅
ϕ
(
x
i
)
−
b
≠
0
,
ϵ
+
ξ
i
∧
−
y
i
+
w
⋅
ϕ
(
x
i
)
+
b
≠
0
\epsilon + \xi_i^{\lor} + y_i - w \cdot \phi(x_i ) - b \neq 0, \epsilon + \xi_i^{\land} -y_i + w \cdot \phi(x_i ) + b \neq 0
ϵ+ξi∨+yi−w⋅ϕ(xi)−b=0,ϵ+ξi∧−yi+w⋅ϕ(xi)+b=0这样要满足对偶互补条件,只有
α
i
∨
=
0
,
α
i
∧
=
0
\alpha_i^{\lor} = 0, \alpha_i^{\land} = 0
αi∨=0,αi∧=0。定义样本系数系数
β
i
=
α
i
∧
−
α
i
∨
(式17)
\beta_i =\alpha_i^{\land}-\alpha_i^{\lor} \tag{式17}
βi=αi∧−αi∨(式17)
根据上面
w
w
w的计算式
w
=
∑
i
=
1
m
(
α
i
∧
−
α
i
∨
)
ϕ
(
x
i
)
w = \sum_{i=1}^{m}(\alpha_i^{\land} - \alpha_i^{\lor})\phi(x_i)
w=∑i=1m(αi∧−αi∨)ϕ(xi),发现此时
β
i
=
0
\beta_i = 0
βi=0,也就是说
w
w
w不受这些在误差范围内的点的影响。对于在边界上或者在边界外的点,
α
i
∨
≠
0
,
α
i
∧
≠
0
\alpha_i^{\lor} \neq 0, \alpha_i^{\land} \neq 0
αi∨=0,αi∧=0,此时
β
i
≠
0
\beta_i \neq 0
βi=0。
推导参考链接
SVM算法是一个很优秀的算法,在集成学习和神经网络之类的算法没有表现出优越性能前,SVM基本占据了分类模型的统治地位。目前则是在大数据时代的大样本背景下,SVM由于其在大样本时超级大的计算量,热度有所下降,但是仍然是一个常用的机器学习算法。SVM算法的主要优点有:
使用SVR处理波士顿房价预测问题
链接:https://blog.csdn.net/AIHUBEI/article/details/105105688
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。