支持向量回归

支持向量回归

现在我们来考虑支持向量机得回归问题

对于样本 ( x , y ) (\bm{x},y) (x,y),传统的回归模型通常直接基于输出 f ( x ) f(\bm{x}) f(x)与真实输出 y y y之间的差别来计算损失,当且仅当 f ( x ) f(\bm{x}) f(x) y y y完全相同时,损失才为零。于此不同,支持向量回归(SVR)假设我们能容忍 f ( x ) f(\bm{x}) f(x) y y y之间最多有 ϵ \epsilon ϵ的偏差,即仅当 f ( x ) f(\bm{x}) f(x) y y y之间的差别绝对值大于 ϵ \epsilon ϵ时才计算损失。

支持向量回归_第1张图片

  • 于是 S V R SVR SVR问题可形式化为
    min ⁡ w , b 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ℓ ϵ ( f ( x i ) − y i ) \min \limits_{\bm{w},b} \frac{1}{2}||\bm{w}||^2 + C\sum_{i=1}^{m}\ell_{\epsilon}(f(\bm{x_i})-y_i) w,bmin21w2+Ci=1mϵ(f(xi)yi)

其中 C C C为正则化常数, ℓ ϵ \ell_{\epsilon} ϵ ϵ \epsilon ϵ-不敏感损失函数。
ℓ ϵ ( z ) = { 0 , i f ∣ z ∣ ≤ ϵ ∣ z ∣ − ϵ , o t h e r w i s e \ell_{\epsilon}(z)= \begin{cases} 0, & if |z| \le \epsilon\\ |z| - \epsilon, & otherwise \end{cases} ϵ(z)={0,zϵ,ifzϵotherwise

  • 引入松弛变量 ξ i \xi_i ξi ξ ^ i \widehat{\xi}_i ξ i,式子重写为:
    min ⁡ w , b , ξ i , ξ ^ i 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) s . t . f ( x i ) − y i ≤ ϵ + ξ i , y i − f ( x i ) ≤ ϵ + ξ ^ i , ξ i ≥ 0 , ξ ^ i ≥ 0 , i = 1 , 2 , . . . , m . \min \limits_{\bm{w},b,\xi_i,\widehat{\xi}_i} \frac{1}{2}||\bm{w}||^2 + C\sum_{i=1}^{m}(\xi_i+\widehat{\xi}_i)\\ s.t. \quad f(\bm{x_i} )- y_i \le \epsilon + \xi_i,\\ y_i - f(\bm{x_i} ) \le \epsilon + \widehat{\xi}_i,\\ \xi_i \ge 0, \widehat{\xi}_i \ge 0,i=1,2,...,m. w,b,ξi,ξ imin21w2+Ci=1m(ξi+ξ i)s.t.f(xi)yiϵ+ξi,yif(xi)ϵ+ξ i,ξi0,ξ i0,i=1,2,...,m.

ϵ \epsilon ϵ-不敏感损失函数
支持向量回归_第2张图片

  • 拉格朗日函数为:
    L ( w , b , α , α ^ , ξ , ξ ^ , μ , μ ^ ) = 1 2 ∣ ∣ w ∣ ∣ 2 + C ∑ i = 1 m ( ξ i + ξ ^ i ) − ∑ i = 1 m μ i ξ i − ∑ i = 1 m μ ^ i ξ ^ i + ∑ i = 1 m α i ( f ( x i ) − y i − ϵ − ξ i ) + ∑ i = 1 m α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) L(\bm{w},b,\bm{\alpha, \widehat{\alpha},\xi,\widehat{\xi},\mu,\widehat{\mu}}) \\ = \frac{1}{2}||\bm{w}||^2 + C\sum_{i=1}^{m}(\xi_i+\widehat{\xi}_i) - \sum_{i=1}^{m}\mu_i\xi_i - \sum_{i=1}^{m}\widehat{\mu}_i\widehat{\xi}_i \\ + \sum_{i=1}^{m}\alpha_i (f(\bm{x}_i)-y_i-\epsilon-\xi_i) + \sum_{i=1}^{m}\widehat{\alpha}_i (y_i - f(\bm{x}_i)-\epsilon-\widehat{\xi}_i) L(w,b,α,α ,ξ,ξ ,μ,μ )=21w2+Ci=1m(ξi+ξ i)i=1mμiξii=1mμ iξ i+i=1mαi(f(xi)yiϵξi)+i=1mα i(yif(xi)ϵξ i)
  • w , b , ξ i , ξ ^ i \bm{w},b,\xi_i,\widehat{\xi}_i w,b,ξi,ξ i的偏导为零,可得
    w = ∑ i = 1 m ( α ^ i − α i ) x i , 0 = ∑ i = 1 m ( α ^ i − α i ) , C = α i + μ i , C = α ^ i + μ ^ i \bm{w} = \sum_{i=1}^{m}(\widehat{\alpha}_i - \alpha_i)\bm{x_i},\\ 0 = \sum_{i=1}^{m}(\widehat{\alpha}_i - \alpha_i),\\ C = \alpha_i + \mu_i,\\ C = \widehat{\alpha}_i + \widehat{\mu}_i w=i=1m(α iαi)xi,0=i=1m(α iαi),C=αi+μi,C=α i+μ i
  • 带入上式得:
    max ⁡ α , α ^ ∑ i = 1 m y i ( α ^ i − α i ) − ϵ ( α ^ i + α i ) − 1 2 ∑ i = 1 m ∑ j = 1 m ( α ^ i − α i ) ( α ^ j − α j ) x i T x j s . t . ∑ i = 1 m ( α ^ i − α i ) = 0 , 0 ≤ α i , α ^ i ≤ C . \max \limits_{\bm{\alpha, \widehat{\alpha}}} \sum_{i=1}^{m}y_i(\widehat{\alpha}_i - \alpha_i)-\epsilon(\widehat{\alpha}_i + \alpha_i)\\- \frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}(\widehat{\alpha}_i - \alpha_i)(\widehat{\alpha}_j - \alpha_j)\bm{x}_i^T\bm{x}_j \\ s.t. \sum_{i=1}^{m}(\widehat{\alpha}_i - \alpha_i) = 0,\\ 0 \le \alpha_i,\widehat{\alpha}_i \le C. α,α maxi=1myi(α iαi)ϵ(α i+αi)21i=1mj=1m(α iαi)(α jαj)xiTxjs.t.i=1m(α iαi)=0,0αi,α iC.
  • 上式过程中需要满足KKT条件,即要求
    { α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 α ^ i ( y i − f ( x i ) − ϵ − ξ ^ i ) = 0 α i α ^ i = 0 ξ i ξ ^ i = 0 ( C − α i ) ξ i = 0 ( C − α ^ i ) ξ ^ i = 0 \begin{cases} \alpha_i (f(\bm{x}_i)-y_i-\epsilon-\xi_i) =0\\ \widehat{\alpha}_i (y_i - f(\bm{x}_i)-\epsilon-\widehat{\xi}_i)=0\\ \alpha_i\widehat{\alpha}_i=0\\ \xi_i\widehat{\xi}_i = 0\\ (C-\alpha_i)\xi_i = 0\\ (C-\widehat{\alpha}_i)\widehat{\xi}_i = 0 \end{cases} αi(f(xi)yiϵξi)=0α i(yif(xi)ϵξ i)=0αiα i=0ξiξ i=0(Cαi)ξi=0(Cα i)ξ i=0

f ( x i ) − y i − ϵ − ξ i = 0 f(\bm{x}_i)-y_i-\epsilon-\xi_i=0 f(xi)yiϵξi=0 α i \alpha_i αi能取非零值,当且仅当 f ( x i ) − y i − ϵ − ξ i = 0 f(\bm{x}_i)-y_i-\epsilon-\xi_i=0 f(xi)yiϵξi=0 α i \alpha_i αi能取非零值,换言之,仅当样本 ( x i , y i ) (\bm{x}_i,y_i) (xi,yi)不落入 ϵ \epsilon ϵ-间隔带中,相应得 α i , α ^ i \alpha_i,\widehat{\alpha}_i αi,α i才能取非零值,此外约束 f ( x i ) − y i − ϵ − ξ i = 0 f(\bm{x}_i)-y_i-\epsilon-\xi_i =0 f(xi)yiϵξi=0 y i − f ( x i ) − ϵ − ξ ^ i = 0 y_i - f(\bm{x}_i)-\epsilon-\widehat{\xi}_i=0 yif(xi)ϵξ i=0不能同时成立,因此 α i , α ^ i \alpha_i,\widehat{\alpha}_i αi,α i中至少有一个为零。

  • S V R SVR SVR的解形如:
    f ( x ) = ∑ i = 1 m ( α ^ i − α i ) x i T x i + b f(\bm{x}) = \sum_{i=1}^{m}(\widehat{\alpha}_i - \alpha_i)\bm{x}_i^T\bm{x}_i + b f(x)=i=1m(α iαi)xiTxi+b

落在 ϵ \epsilon ϵ-间隔带中的样本都满足 α ^ i = 0 且 α i = 0 \widehat{\alpha}_i =0 且\alpha_i = 0 α i=0αi=0,使 ( α ^ i − α i ) ≠ 0 (\widehat{\alpha}_i - \alpha_i) \ne 0 (α iαi)̸=0的样本即为 S V R SVR SVR的支持向量,他们必定落在 ϵ \epsilon ϵ-间隔带外。

  • 对于,每个样本 ( x i , y i ) (\bm{x_i},y_i) (xi,yi)都有 ( C − α i ) ξ i = 0 且 α i ( f ( x i ) − y i − ϵ − ξ i ) = 0 (C-\alpha_i)\xi_i = 0且\alpha_i (f(\bm{x}_i)-y_i-\epsilon-\xi_i) =0 (Cαi)ξi=0αi(f(xi)yiϵξi)=0,于是在得到 α i \alpha_i αi 0 < α i < C 0 < \alpha_i < C 0<αi<C,则必有 ξ i = 0 \xi_i = 0 ξi=0,进而有:
    b = y i + ϵ − ∑ i = 1 m ( α ^ i − α i ) x i T x i + b b = y_i + \epsilon - \sum_{i=1}^{m}(\widehat{\alpha}_i - \alpha_i)\bm{x}_i^T\bm{x}_i + b b=yi+ϵi=1m(α iαi)xiTxi+b

可以选取多个满足条件 0 < α i < C 0 < \alpha_i < C 0<αi<C的样本求解 b b b后取平均值。

  • 考虑映射形式:
    ω = ∑ i = 1 m ( α ^ i − α i ) ϕ ( x i ) \bm{\omega} = \sum_{i=1}^{m}(\widehat{\alpha}_i - \alpha_i)\phi(\bm{x_i}) ω=i=1m(α iαi)ϕ(xi)
  • 然后 S V R SVR SVR可表示为:
    f ( x ) = ∑ i = 1 m ( α ^ i − α i ) k ( x , x i ) + b f(\bm{x}) = \sum_{i=1}^{m}(\widehat{\alpha}_i - \alpha_i)k(\bm{x},\bm{x_i}) + b f(x)=i=1m(α iαi)k(x,xi)+b

k ( x , x i ) = ϕ ( x i ) T ϕ ( x i ) k(\bm{x},\bm{x_i}) = \phi(\bm{x_i})^T\phi(\bm{x_i}) k(x,xi)=ϕ(xi)Tϕ(xi)

你可能感兴趣的:(机器学习,机器学习算法与实战)