支持向量机回归——vincen的学习笔记

1 前言

胡浩基老师的机器学习课程作业

S V M SVM SVM推导类似,下面推导需要承认一个结论:

对于下述优化问题
min ⁡ ω f ( ω ) \min_{\omega}f(\omega) ωminf(ω)
s . t s.t s.t
① g i ( ω ) ⩽ 0 ( i = 1 , ⋯   , k ) ①g_i(\omega)\leqslant 0\quad (i = 1,\cdots,k) gi(ω)0(i=1,,k)
② h i ( ω ) = 0 ( i = 1 , ⋯   , l ) ②h_i(\omega) = 0\quad (i = 1,\cdots,l) hi(ω)=0(i=1,,l)
f ( ω ) f(\omega) f(ω)为凸函数,且 g i ( ω ) g_i(\omega) gi(ω), h j ( ω ) h_j(\omega) hj(ω)是关于 ω \omega ω的线性函数( i = 1 , ⋯   , k ; j = 1 , ⋯   , l i = 1,\cdots,k;j = 1,\cdots,l i=1,,k;j=1,,l),原问题与其对偶问题等价。

下面的博客可以帮助简单了解何为原问题,对偶问题, K K T KKT KKT条件。

拉格朗日对偶性(Lagrange duality)

看之前最好重温下数学分析中的隐函数存在定理与 L a g r a n g e Lagrange Lagrange乘子法。

下推导参考周志华老师的《机器学习》一书。

2 支持向量机回归

首先明确目标

输入:训练样本集 X = ( x i , y i ) i = 1 ∼ N , y i ∈ R X = {(x_i,y_i)}_{i = 1\thicksim N},y_i\in R X=(xi,yi)i=1N,yiR

欲得到形式为 f ( x ) = ω T ϕ ( x ) + b f(x)=\omega^T\phi(x)+b f(x)=ωTϕ(x)+b的回归模型

假设我们能容忍 f ( x ) f(x) f(x)与真实标签值 y y y之间最多有 ϵ \epsilon ϵ的偏差,即仅当 f ( x ) f(x) f(x) y y y之间的差别绝对值大于 ϵ \epsilon ϵ时才计算损失。

我把西瓜书的图放上来帮助理解

支持向量机回归——vincen的学习笔记_第1张图片

在特征只有一维的情况下,

  • 图中的圆点代表训练样本,对每一个训练样本而言,作 x x x轴垂线,垂线与红线相交点的 y y y值即为模型对该样本标签的预测值。
  • 对红线上的每一个点,分别上下平移 ϵ \epsilon ϵ所构成的两条虚线称为间隔带。
  • 于是,所有 f ( x ) f(x) f(x) y y y之间的差别绝对值小于 ϵ \epsilon ϵ的点一定会落到图中长度为 2 ϵ 2\epsilon 2ϵ的间隔带中,这部分点不需要计算误差。
  • 要注意区分 ϵ \epsilon ϵ S V M SVM SVM中的函数间隔,虚线与红线的距离大部分情形下并非 ϵ \epsilon ϵ

于是 S V R SVR SVR模型可以表述如下

min ⁡ ( ω , b , ξ , ξ i ^ ) 1 2 ∥ ω ∥ 2 + C ∑ i = 1 N ( ξ i + ξ i ^ ) \min_{(\omega,b,\xi,\hat{\xi_i})}\frac{1}{2}\|\omega\|^2+C\sum_{i=1}^N({\xi_i+\hat{\xi_i}}) (ω,b,ξ,ξi^)min21ω2+Ci=1N(ξi+ξi^)
s . t s.t s.t
① f ( x i ) − y i ⩽ ϵ + ξ i ①f(x_i)-y_i\leqslant\epsilon+\xi_i f(xi)yiϵ+ξi
② y i − f ( x i ) ⩽ ϵ + ξ i ^ ②y_i - f(x_i)\leqslant\epsilon+\hat{\xi_i} yif(xi)ϵ+ξi^
③ ξ i , ξ i ^ ⩾ 0 ③ \xi_i,\hat{\xi_i} \geqslant 0 ξi,ξi^0
对于红线上方的训练样本 x i x_i xi,明显有 ξ i ^ = 0 \hat{\xi_i} = 0 ξi^=0,红线下方的训练样本 x j x_j xj,则有 ξ i = 0 \xi_i = 0 ξi=0

也许你会问为什么不利用一个松弛变量来描述上面的优化问题,比如下面这种样子
∣ f ( x i ) − y i ∣ ⩽ ϵ + ξ i \mid f(x_i)-y_i\mid\leqslant\epsilon+\xi_i f(xi)yiϵ+ξi
的确上下两种描述是等价的,但是后续中我们对该优化问题的求解思路与 S V M SVM SVM是相同的,即将原问题转化为对偶问题(这样才能从形式看到核函数那个美丽的巧合),第二种形式的描述很明显与原问题的形式还是有一定的偏差的。

解释完了上面的符号含义问题,来说说让我理解过程中最为困惑的一件事,
我们来看目标函数的形式
min ⁡ ( ω , b , ξ , ξ i ^ ) 1 2 ∥ ω ∥ 2 + C ∑ i = 1 N ( ξ i + ξ i ^ ) \min_{(\omega,b,\xi,\hat{\xi_i})}\frac{1}{2}\|\omega\|^2+C\sum_{i=1}^N({\xi_i+\hat{\xi_i}}) (ω,b,ξ,ξi^)min21ω2+Ci=1N(ξi+ξi^)
这与 S V M SVM SVM的软间隔形式几乎相同,但我们需要强调:原始的 S V M SVM SVM是用来解决分类问题的,它的出发点是使支持向量到平面的间隔最大化,一步步推导出了形如
min ⁡ ω 1 2 ∥ ω ∥ 2 \min_{\omega}\frac{1}{2}\|\omega\|^2 ωmin21ω2
的目标函数形式,可在回归问题中,我们还能从这个idea出发吗?

那是咋回事嘞,周大佬写错了??
支持向量机回归——vincen的学习笔记_第2张图片

说说我的理解

我们将 S V R SVR SVR的优化目标
min ⁡ ( ω , b , ξ , ξ i ^ ) 1 2 ∥ ω ∥ 2 + C ∑ i = 1 N ( ξ i + ξ i ^ ) \min_{(\omega,b,\xi,\hat{\xi_i})}\frac{1}{2}\|\omega\|^2+C\sum_{i=1}^N({\xi_i+\hat{\xi_i}}) (ω,b,ξ,ξi^)min21ω2+Ci=1N(ξi+ξi^)
分两部分说明。

  • 1 2 ∥ ω ∥ 2 \frac{1}{2}\|\omega\|^2 21ω2部分并非是推导而来的,我将它理解为是一个规范化惩罚,方差过大会导致常说的过拟合, ∥ ω ∥ \|\omega\| ω过大会造成方差过大,这是我们不希望看到的。(这里跟 R i d g e Ridge Ridge L a s s o Lasso Lasso的出发点是一样的)
  • C ∑ i = 1 N ( ξ i + ξ i ^ ) C\sum_{i=1}^N({\xi_i+\hat{\xi_i}}) Ci=1N(ξi+ξi^)部分我认为是损失衡量的主体,这里蕴含的想法我认为是使预测值与真实值偏差较大( ∣ f ( x ) − y ∣ ⩾ ϵ |f(x)-y|\geqslant \epsilon f(x)yϵ)的那些训练样本的偏差尽可能小。(细品下和 S V M SVM SVM的想法还是蛮接近的)

大概说清楚初始优化问题的来源后,下面的推导方法基本上和 S V M SVM SVM类似了,虽然很麻烦,但还是写在这里,支持向量机最后的形式真的很漂亮。
min ⁡ ( ω , b , ξ , ξ i ^ ) 1 2 ∥ ω ∥ 2 + C ∑ i = 1 N ( ξ i + ξ i ^ ) \min_{(\omega,b,\xi,\hat{\xi_i})}\frac{1}{2}\|\omega\|^2+C\sum_{i=1}^N({\xi_i+\hat{\xi_i}}) (ω,b,ξ,ξi^)min21ω2+Ci=1N(ξi+ξi^)
s . t s.t s.t
① f ( x i ) − y i ⩽ ϵ + ξ i ①f(x_i)-y_i\leqslant\epsilon+\xi_i f(xi)yiϵ+ξi
② y i − f ( x i ) ⩽ ϵ + ξ i ^ ②y_i - f(x_i)\leqslant\epsilon+\hat{\xi_i} yif(xi)ϵ+ξi^
③ ξ i , ξ i ^ ⩾ 0 ③ \xi_i,\hat{\xi_i} \geqslant 0 ξi,ξi^0
老规矩,目标函数是个凸函数(你要不信可以用凸函数定义去证明下,最后用下 C a u c Cauc Cauc h y hy hy不等式就完事了),优化目标是决策变量的一次式(线性),还记得一开始承认下的结论吗?先把 L a g r a n g e Lagrange Lagrange函数写出来。

L ( ω , b , α , α ^ , μ , μ ^ ) = 1 2 ∥ ω ∥ 2 + C ∑ i = 1 N ( ξ i + ξ i ^ ) − ∑ i = 1 N μ i ξ i L(\omega,b,\alpha,\hat{\alpha},\mu,\hat{\mu})=\frac{1}{2}\|\omega\|^2+C\sum_{i=1}^N({\xi_i+\hat{\xi_i}})- \sum_{i=1}^N\mu_i\xi_i L(ω,b,α,α^,μ,μ^)=21ω2+Ci=1N(ξi+ξi^)i=1Nμiξi
− ∑ i = 1 N μ i ^ ξ i ^ + ∑ i = 1 N α i ( ω T ϕ ( x i ) + b − y i − 1 − ξ i ) -\sum_{i=1}^N\hat{\mu_i}\hat{\xi_i}+\sum_{i=1}^N\alpha_i(\omega^T\phi(x_i)+b-y_i-1-\xi_i) i=1Nμi^ξi^+i=1Nαi(ωTϕ(xi)+byi1ξi)
+ ∑ i = 1 N α i ^ ( ω T ϕ ( x i ) + b − y i − 1 − ξ i ^ ) +\sum_{i=1}^N\hat{\alpha_i}(\omega^T\phi(x_i)+b-y_i-1-\hat{\xi_i}) +i=1Nαi^(ωTϕ(xi)+byi1ξi^)
求下关于各向量的梯度
{ ∂ L ∂ ω = 0 ⇒ ω = ∑ i = 1 N ( α i ^ − α i ) ϕ ( x i ) ∂ L ∂ b = 0 ⇒ ∑ i = 1 N ( α i ^ − α i ) = 0 ∂ L ∂ ξ i = 0 ⇒ μ i + α i = C ∂ L ∂ ξ i ^ = 0 ⇒ μ i ^ + α i ^ = C \begin{cases} \frac{\partial L}{\partial \omega} = 0\Rightarrow\omega = \sum_{i=1}^N(\hat{\alpha_i}-\alpha_i)\phi(x_i) \\ \frac{\partial L}{\partial b} = 0\Rightarrow \sum_{i=1}^N(\hat{\alpha_i}-\alpha_i) = 0 \\ \frac{\partial L}{\partial \xi_i} = 0\Rightarrow \mu_i+\alpha_i = C \\ \frac{\partial L}{\partial \hat{\xi_i}} = 0\Rightarrow \hat{\mu_i}+\hat{\alpha_i} = C \\ \end{cases} ωL=0ω=i=1N(αi^αi)ϕ(xi)bL=0i=1N(αi^αi)=0ξiL=0μi+αi=Cξi^L=0μi^+αi^=C
这里用到了一些简单的矩阵求导公式:

  • ∂ ∥ ω ∥ 2 ∂ ω = ω \frac{\partial \|\omega\|^2}{\partial \omega}=\omega ωω2=ω
  • ∂ ω T x ∂ ω = x \frac{\partial \omega^Tx}{\partial \omega} = x ωωTx=x

把上面求出的 L L L极小值点的必要条件带到 L L L里面去,转化成对偶问题

max ⁡ α , α ^ Θ ( α , α ^ ) \max_{\alpha,\hat{\alpha}}\Theta(\alpha,\hat{\alpha}) α,α^maxΘ(α,α^)
s . t s.t s.t
① ∑ i = 1 N ( α i ^ − α i ) = 0 ①\sum_{i=1}^N(\hat{\alpha_i}-\alpha_i) = 0 i=1N(αi^αi)=0
② 0 ⩽ α i , α i ^ ⩽ C ②0 \leqslant\alpha_i,\hat{\alpha_i}\leqslant C 0αi,αi^C

Θ ( α , α ^ ) \Theta(\alpha,\hat{\alpha}) Θ(α,α^)具体形式为
∑ i = 1 N ( α i ^ − α i ) y i − ϵ ∑ i = 1 N ( α i ^ + α i ) \sum_{i=1}^N(\hat{\alpha_i}-\alpha_i)y_i-\epsilon\sum_{i=1}^N(\hat{\alpha_i}+\alpha_i) i=1N(αi^αi)yiϵi=1N(αi^+αi)
− 1 2 ∑ i = 1 N ∑ j = 1 N ( α i ^ − α i ) ( α j ^ − α j ) ϕ ( x i ) T ϕ ( x j ) -\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}(\hat{\alpha_i}-\alpha_i)(\hat{\alpha_j}-\alpha_j)\phi(x_i)^T\phi(x_j) 21i=1Nj=1N(αi^αi)(αj^αj)ϕ(xi)Tϕ(xj)
简单解释下优化条件
第一个优化条件是求导产生的约束,而第二个优化条件是考虑以下两点得到的

  • 目标函数 Θ ( α ) \Theta(\alpha) Θ(α)不含 μ \mu μ,考虑用不含 μ \mu μ的约束表示原有的约束
  • μ i ^ + α i ^ = C \hat{\mu_i}+\hat{\alpha_i} = C μi^+αi^=C μ i + α i = C \mu_i+\alpha_i = C μi+αi=C综合 μ ⩾ 0 \mu\geqslant0 μ0(不等约束引入的 L a g r a n g e Lagrange Lagrange有不小于0的限制,仔细看上面附的超链接)

Θ ( α , α ^ ) \Theta(\alpha,\hat{\alpha}) Θ(α,α^)高维映射的内积部分换成核函数形式
Θ ( α , α ^ ) = ∑ i = 1 N ( α i ^ − α i ) y i − ϵ ∑ i = 1 N ( α i ^ + α i ) \Theta(\alpha,\hat{\alpha}) = \sum_{i=1}^N(\hat{\alpha_i}-\alpha_i)y_i-\epsilon\sum_{i=1}^N(\hat{\alpha_i}+\alpha_i) Θ(α,α^)=i=1N(αi^αi)yiϵi=1N(αi^+αi)
− 1 2 ∑ i = 1 N ∑ j = 1 N ( α i ^ − α i ) ( α j ^ − α j ) κ ( x i x j ) -\frac{1}{2}\sum_{i=1}^{N}\sum_{j=1}^{N}(\hat{\alpha_i}-\alpha_i)(\hat{\alpha_j}-\alpha_j)\kappa({x_i}{x_j}) 21i=1Nj=1N(αi^αi)(αj^αj)κ(xixj)
需要说明的是,这还是一个关于 ( α , α ^ ) (\alpha,\hat{\alpha}) (α,α^)的凸函数,用凸函数的求解方法求解出 ( α , α ^ ) (\alpha,\hat{\alpha}) (α,α^)后,回带入
ω = ∑ i = 1 N ( α i ^ − α i ) ϕ ( x i ) \omega = \sum_{i=1}^N(\hat{\alpha_i}-\alpha_i)\phi(x_i) ω=i=1N(αi^αi)ϕ(xi)
于是超平面方程形式为
f ( x ) = ∑ i = 1 N ( α i ^ − α i ) ϕ ( x i ) T ϕ ( x ) + b f(x)=\sum_{i=1}^N(\hat{\alpha_i}-\alpha_i)\phi(x_i)^T\phi(x)+b f(x)=i=1N(αi^αi)ϕ(xi)Tϕ(x)+b
高维空间内积更换为核函数
f ( x ) = ∑ i = 1 N ( α i ^ − α i ) κ ( x i , x ) + b f(x)=\sum_{i=1}^N(\hat{\alpha_i}-\alpha_i)\kappa(x_i,x)+b f(x)=i=1N(αi^αi)κ(xi,x)+b
对于 b b b的求解,需要用到 K K T KKT KKT条件中的松弛互补条件

  • ( C − α i ) ξ i = 0 (C-\alpha_i)\xi_i=0 (Cαi)ξi=0
  • α i ( ω T ϕ ( x i ) + b − y i − 1 − ξ i ) = 0 \alpha_i(\omega^T\phi(x_i)+b-y_i-1-\xi_i)=0 αi(ωTϕ(xi)+byi1ξi)=0
    取一个计算出的 0 0 0< α i \alpha_i αi< C C C,由第一个条件得 ξ i = 0 \xi_i = 0 ξi=0

带入第二式解得
b = y i + ϵ − ∑ j = 1 N ( α j ^ − α j ) ϕ ( x j ) T ϕ ( x i ) b = y_i+\epsilon-\sum_{j=1}^{N}(\hat{\alpha_j}-\alpha_j)\phi(x_j)^T\phi(x_i) b=yi+ϵj=1N(αj^αj)ϕ(xj)Tϕ(xi)
= y i + ϵ − ∑ j = 1 N ( α j ^ − α j ) κ ( x j , x i ) =y_i+\epsilon-\sum_{j=1}^{N}(\hat{\alpha_j}-\alpha_j)\kappa(x_j,x_i) =yi+ϵj=1N(αj^αj)κ(xj,xi)

你可能感兴趣的:(线性代数,矩阵,机器学习)