胡浩基老师的机器学习课程作业
与 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乘子法。
下推导参考周志华老师的《机器学习》一书。
首先明确目标
输入:训练样本集 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=1∼N,yi∈R
欲得到形式为 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 ϵ时才计算损失。
我把西瓜书的图放上来帮助理解
在特征只有一维的情况下,
于是 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=1∑N(ξ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} ②yi−f(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=1∑N(ξ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出发吗?
说说我的理解
我们将 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=1∑N(ξi+ξ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=1∑N(ξ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} ②yi−f(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=1∑N(ξi+ξi^)−i=1∑Nμ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=1∑Nμi^ξi^+i=1∑Nαi(ωTϕ(xi)+b−yi−1−ξ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=1∑Nαi^(ωTϕ(xi)+b−yi−1−ξ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)∂b∂L=0⇒∑i=1N(αi^−αi)=0∂ξi∂L=0⇒μi+αi=C∂ξi^∂L=0⇒μi^+αi^=C
这里用到了一些简单的矩阵求导公式:
把上面求出的 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=1∑N(α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=1∑N(αi^−αi)yi−ϵi=1∑N(α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=1∑Nj=1∑N(αi^−αi)(αj^−αj)ϕ(xi)Tϕ(xj)
简单解释下优化条件
第一个优化条件是求导产生的约束,而第二个优化条件是考虑以下两点得到的
把 Θ ( α , α ^ ) \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=1∑N(αi^−αi)yi−ϵi=1∑N(α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=1∑Nj=1∑N(α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=1∑N(α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=1∑N(α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=1∑N(αi^−αi)κ(xi,x)+b
对于 b b b的求解,需要用到 K K T KKT KKT条件中的松弛互补条件
带入第二式解得
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=1∑N(α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=1∑N(αj^−αj)κ(xj,xi)