预备知识 ——《机器学习理论导引》第一章学习笔记(下)

490 阅读4分钟

《机器学习理论导引》笔记目录

0 感言

    剩下一部分是最优化基础,之前运筹学中接触过一点,但是学得很不理想,重新过又是大工程,头大。

1.3 最优化基础

最小二乘 (Least Square) 问题

min⁡xf(x)=∑i=1m(aiTx−bi)2=∥Ax−b∥22\min_x f(x)=\sum_{i=1}^m(\bold{a_i}^T\bold{x}-b_i)^2=\lVert A\bold{x}-\bold{b}\rVert_2^2

其中 x=(x1,...,xd)∈Rd\bold{x}=(x_1,...,x_d)\in\mathbb{R}^d 为d维优化变量,A=(a1,...,am)∈Rm×d,b=(b1,...,bm)∈RmA=(\bold{a_1},...,\bold{a_m})\in\mathbb{R}^{m\times d},\bold{b}=(b_1,...,b_m)\in\mathbb{R}^m

求解闭式 (close-form) 最优解:

make  S(X)=∥Ax−b∥→x^=arg⁡min⁡(S(X))(S2(X))′=[(Ax−b)T(Ax−b)]′=[xTATAx−bTAx−bxTAT]′=2(ATAx−ATb)=0→x∗=(ATA)−1ATb{\rm make}\ \ S(X)=\lVert A\bold{x}-\bold{b} \rVert\rightarrow \hat{\bold{x}}=\arg\min(S(X))\\ (S^2(X))'=[(A\bold{x}-\bold{b})^T(A\bold{x}-\bold{b})]'=[\bold{x}^TA^TA\bold{x}-\bold{b}^TA\bold{x}-\bold{b}\bold{x}^TA^T]'=2(A^TA\bold{x}-A^T\bold{b})=0\\ \rightarrow \bold{x}^*=(A^TA)^{-1}A^T\bold{b}

线性规划 (linear programming) 问题

min⁡xcTxs.t.  aiTx⩽bi  (i∈[m])\min_x \bold{c}^T\bold{x}\\ {\rm s.t.}\ \ \bold{a_i}^T\bold{x}\leqslant b_i\ \ (i\in[m])

优化问题的泛化表示

min⁡xf(x)s.t.  hi(x)⩽0  (i∈[m])\min_x f(\bold{x})\\ {\rm s.t.}\ \ h_i(\bold{x})\leqslant0\ \ (i\in[m])

其中 f:Rd↦Rf:\mathbb{R}^d \mapsto\mathbb{R} 称为优化目标函数,hi:Rd↦Rh_i:\mathbb{R}^d \mapsto\mathbb{R}称为约束函数,上式即在满足 hi(x)⩽0h_i(\bold{x})\leqslant0 的条件下,寻找 x\bold{x} 使得目标函数 f(⋅)f(\cdot) 最小化。Ω={x∣hi(x)⩽0  (i∈[m])}\Omega=\{\bold{x}|h_i(\bold{x})\leqslant0\ \ (i\in[m])\}称为可行域(feasible region),该问题同时也可以表达为 {x∗∣f(x∗)⩽f(x)  (∀x∈Ω)}\{\bold{x}^*|f(\bold{x}^*)\leqslant f(\bold{x})\ \ (\forall\bold{x}\in\Omega)\}

凸优化 (convex optimizationv) 问题

若目标函数 f(⋅)f(\cdot) 和约束函数 hi(⋅)h_i(\cdot) 都是凸函数,则称之为凸优化 (convex optimization) 问题。

当目标函数 f(⋅)f(\cdot) 可微时,x∗\bold{x}^* 是凸优化问题的最优解当且仅当 x∗∈Ω\bold{x}^*\in\Omega 且 ∇f(x∗)T(z−x∗)⩾0 (∀z∈Ω)\nabla f(\bold{x}^*)^T(\bold{z}-\bold{x}^*)\geqslant0\ (\forall \bold{z}\in\Omega),直观来看,−∇f(x∗)-\nabla f(\bold{x}^*) 在 x∗x^* 处定义了可行域 Ω\Omega 的一个支撑超平面。而对于无约束的凸优化问题,x∗\bold{x}^* 是最优解当且仅当 ∇f(x∗)=0\nabla f(\bold{x}^*)=0,即最优解处梯度为0。

图例1.支撑超平面的示意图

主问题 (primal problem) 与其对偶式 (dual problem)

将主问题划分为等式约束与不等式约束可写为

min⁡xf(x)s.t.  hi(x)⩽0  (i∈[m]),  gj(x)=0  (j∈[n])\min_{\bold{x}} f(\bold{x})\\ \text{s.t.}\ \ h_i(\bold{x})\leqslant0\ \ (i\in[m]),\ \ g_j(\bold{x})=0\ \ (j\in[n])

将其定义域记为 Ψ\Psi,最优值记为 p∗p^*,引入拉格朗日乘子 λ⃗=(λ1,...,λm)\vec{\lambda}=(\lambda_1,...,\lambda_m) 和 μ⃗=(μ1,...,μn)\vec{\mu}=(\mu_1,...,\mu_n),相应拉格朗日函数 L:Rd×Rm×Rn↦RL:\mathbb{R}^d\times\mathbb{R}^m\times\mathbb{R}^n\mapsto\mathbb{R} 为

Γ(λ⃗,μ⃗)=inf⁡x∈ΨL(x,λ⃗,μ⃗)=inf⁡x∈Ψ(f(x)+∑i=1mλihi(x)+∑j=1nμjgj(x))\Gamma(\vec{\lambda},\vec{\mu})=\inf_{\bold{x}\in\Psi}L(\bold{x},\vec{\lambda},\vec{\mu})=\inf_{\bold{x}\in\Psi}( f(\bold{x})+\sum_{i=1}^m\lambda_ih_i(\bold{x})+\sum_{j=1}^n\mu_jg_j(\bold{x}))

由定义知,对于任意 λ⃗⪰0\vec{\lambda}\succeq 0 (指 λ⃗\vec{\lambda} 的分量均非负)都有

∑i=1mλihi(x)+∑j=1nμjgj(x)⩽0\sum_{i=1}^m\lambda_ih_i(\bold{x})+\sum_{j=1}^n\mu_jg_j(\bold{x})\leqslant0

对于 ∀x~∈Ψ\forall \tilde{\bold{x}}\in\Psi,有

Γ(λ⃗,μ⃗)=inf⁡x∈ΨL(x,λ⃗,μ⃗)⩽L(x,λ⃗,μ⃗)⩽f(x~)\Gamma(\vec{\lambda},\vec{\mu})=\inf_{\bold{x}\in\Psi}L(\bold{x},\vec{\lambda},\vec{\mu})\leqslant L(\bold{x},\vec{\lambda},\vec{\mu})\leqslant f(\tilde{\bold{x}})

于是对任意 λ⃗⪰0\vec{\lambda}\succeq 0 都有 Γ(λ⃗,μ⃗)⩽p∗\Gamma(\vec{\lambda},\vec{\mu})\leqslant p^*,即使用拉格朗日构造的对偶函数给出了主问题目标函数最优值 p∗p^* 的下界,并基于其给出对偶问题 (dual problem) 的定义,其中 λ⃗,μ⃗\vec{\lambda},\vec{\mu} 称为对偶变量 (dual variable)

max⁡λ⃗,μ⃗  Γ(λ⃗,μ⃗)  s.t.  λ⃗⪰0\max_{\vec{\lambda},\vec{\mu}}\ \ \Gamma(\vec{\lambda},\vec{\mu})\ \ \text{s.t.}\ \ \vec{\lambda}\succeq 0

强对偶性 (strong duality) 和弱对偶性 (weak duality)

可以看出上式中 Γ(λ⃗,μ⃗)\Gamma(\vec{\lambda},\vec{\mu}) 是若干仿射函数之和的最小值,因此其为凹函数,对偶问题试图最大化一个凹函数,是凸优化问题,且该问题的目标函数最优值 d∗d^* 是主问题的目标函数最优值 p∗p^* 的下界,即

d∗⩽p∗d^*\leqslant p^*

这称之为弱对偶性 (weak duality),若等号可以取到,则为强对偶性 (strong duality)。强对偶性显见通常不成立,但是当主问题为凸优化问题时,若其中 f(x),hi(x)f(\bold{x}),h_i(\bold{x})均为凸函数,gj(x)g_j(\bold{x}) 为仿射函数(即由1 阶多项式构成的函数),且可行域 Ω\Omega 中至少有一处使得不等式约束严格成立,则强对偶性成立。

KKT (Karush-Kuhn-Tucker) 条件

KKT (Karush-Kuhn-Tucker) 条件可以刻画主问题与对偶问题最优解之间的关系,令x∗\bold{x}^*为主问题的最优解,(λ⃗∗,μ⃗∗)(\vec{\lambda}^*,\vec{\mu}^*) 为对偶问题的最优解,当强对偶性成立时

f(x∗)=Γ(λ⃗∗,μ⃗∗)=inf⁡x∈Ψ(f(x)+∑i=1mλi∗hi(x)+∑j=1nμj∗gj(x))⩽f(x∗)+∑i=1mλi∗hi(x∗)+∑j=1nμj∗gj(x∗)⩽f(x∗)\begin{aligned} f(\bold{x}^*)&=\Gamma(\vec{\lambda}^*,\vec{\mu}^*)=\inf_{\bold{x}\in\Psi}( f(\bold{x})+\sum_{i=1}^m\lambda_i^*h_i(\bold{x})+\sum_{j=1}^n\mu_j^*g_j(\bold{x}))\\ &\leqslant f(\bold{x}^*)+\sum_{i=1}^m\lambda_i^*h_i(\bold{x}^*)+\sum_{j=1}^n\mu_j^*g_j(\bold{x}^*)\leqslant f(\bold{x}^*) \end{aligned}

其中所有不等号均取等,转化为下面两个条件必然成立

  • 互补松弛条件 (complementary slackness)
λi∗hi(x∗)=0  (i∈[m])→(λi∗>0⇒hi(x∗)=0)  or  (hi(x∗)≠0⇒λi=0)\lambda_i^*h_i(\bold{x}^*)=0\ \ (i\in[m])\\ \rightarrow (\lambda_i^*>0\Rightarrow h_i(\bold{x}^*)=0)\ \ \text{or}\ \ (h_i(\bold{x}^*)\ne0\Rightarrow \lambda_i=0)
  • x∗\bold{x}^* 是下面问题的最优解
x∗=arg⁡min⁡x∈ΨL(x,λ⃗∗,μ⃗∗)=arg⁡min⁡x∈Ψ{f(x)+∑i=1mλi∗hi(x)+∑j=1nμj∗gj(x)}\bold{x}^*=\arg\min_{\bold{x}\in\Psi}L(\bold{x},\vec{\lambda}^*,\vec{\mu}^*)=\arg\min_{\bold{x}\in\Psi}\{f(\bold{x})+\sum_{i=1}^m\lambda_i^*h_i(\bold{x})+\sum_{j=1}^n\mu_j^*g_j(\bold{x})\}

通常 Ψ\Psi 为全集或 x∗\bold{x}^* 位于 Ψ\Psi 内部,因此拉格朗日函数 L(x,λ⃗∗,μ⃗∗)L(\bold{x},\vec{\lambda}^*,\vec{\mu}^*) 在 x∗\bold{x}^* 处梯度为0,即

∇L(x,λ⃗∗,μ⃗∗)=∇f(x∗)+∑i=1mλi∗∇hi(x∗)+∑j=1nμj∗∇gj(x∗)=0\nabla L(\bold{x},\vec{\lambda}^*,\vec{\mu}^*)=\nabla f(\bold{x}^*)+\sum_{i=1}^m\lambda_i^*\nabla h_i(\bold{x}^*)+\sum_{j=1}^n\mu_j^*\nabla g_j(\bold{x}^*)=0

相应的,KKT 条件可以由以下几个部分组成

(1). 主问题约束:

{hi(x∗)⩽0  (i∈[m])gj(x∗)=0  (j∈[n])\begin{cases} h_i(\bold{x}^*)\leqslant0\ \ (i\in[m])\\ g_j(\bold{x}^*)=0\ \ (j\in[n]) \end{cases}

(2). 对偶问题约束:λ⃗∗⪰0\vec{\lambda}^*\succeq 0

(3). 互补松弛条件:λi∗hi(x∗)=0  (i∈[m])\lambda_i^*h_i(\bold{x}^*)=0\ \ (i\in[m])

(4). 拉格朗日函数在 x∗\bold{x}^* 处的梯度为0:

∇f(x∗)+∑i=1mλi∗∇hi(x∗)+∑j=1nμj∗∇gj(x∗)=0\nabla f(\bold{x}^*)+\sum_{i=1}^m\lambda_i^*\nabla h_i(\bold{x}^*)+\sum_{j=1}^n\mu_j^*\nabla g_j(\bold{x}^*)=0

KKT条件具有如下重要性质:

  • 强对偶性成立时,对于任意优化问题,主问题最优解与对偶问题最优解一定满足 KKT 条件
  • 凸优化问题中,KKT是充分条件,KKT条件的解一定是最优解
  • 对于强对偶性成立的凸优化问题,KKT 条件是充要条件,即 x∗\bold{x}^* 是主问题最优解当且仅当 (λ⃗∗,μ⃗∗)(\vec{\lambda}^*,\vec{\mu}^*) 满足 KKT 条件。

1.4 支持向量机 (Supporting Vector Machine, SVM)

对于给定训练集 S={(x1,y1),⋯ ,(xm,ym)},yi∈{−1,+1}S=\{(\bold{x}_1,y_1),\cdots,(\bold{x}_m,y_m)\},y_i\in\{-1,+1\},其试图寻找刚好再两类训练样本“正中间”的划分超平面 ωTx+b=0\bold{\omega^Tx}+b=0。假设超平面可以将训练样本正确分类,即对于 (xi,yi)∈D(\bold{x_i},y_i)\in D,有

{ωTxi+b>0, yi=+1ωTxi+b<0, yi=−1⇒{ωTxi+b⩾+1, yi=+1ωTxi+b⩽−1, yi=−1\begin{cases} \bold{\omega^Tx}_i+b>0,\ y_i=+1\\ \bold{\omega^Tx}_i+b<0,\ y_i=-1 \end{cases}\Rightarrow \begin{cases} \bold{\omega^Tx}_i+b\geqslant+1,\ y_i=+1\\ \bold{\omega^Tx}_i+b\leqslant-1,\ y_i=-1 \end{cases}

则求解 最大间隔(maximum margin) 划分超平面对应于优化问题

min⁡ω,b 12 ∥ω∥2s.t.  yi(ωTxi+b)⩾1  (i∈[m])\min_{\bold{\omega},b}\ \frac{1}{2}\ \lVert \bold{\omega}\rVert^2\\ \text{s.t.}\ \ y_i(\bold{\omega^Tx}_i+b)\geqslant1\ \ (i\in[m])
**图例2**.核化支持向量机与支持向量机示意图

由上面优化基础部分进行拉格朗日函数补全

L(ω,b,α⃗)=12∥ω∥2+∑i=1mαi(1−yi(ωTxi+b))L(\bold{\omega},b,\vec{\alpha})=\frac{1}{2} \lVert \bold{\omega}\rVert^2+\sum_{i=1}^m\alpha_i(1-y_i(\bold{\omega^Tx}_i+b))

其中拉格朗日乘子 αi⩾0,α⃗=(α1,...,αm)\alpha_i\geqslant0,\vec{\alpha}=(\alpha_1,...,\alpha_m),令 ∂L(ω,b,α⃗)∂ω=∂L(ω,b,α⃗)∂b=0\frac{\partial L(\bold{\omega},b,\vec{\alpha})}{\partial \bold{\omega}}=\frac{\partial L(\bold{\omega},b,\vec{\alpha})}{\partial b}=0,则有

ω=∑i=1mαiyixi∑i=1mαiyi=0\begin{aligned} \bold{\omega}&=\sum_{i=1}^m\alpha_iy_i\bold{x}_i\\ &\sum_{i=1}^m\alpha_iy_i=0 \end{aligned}

并将其带回得到对偶问题

min⁡α⃗12∑i=1m∑j=1mαiαjyiyjxiTxj−∑i=1mαis.t.∑i=1mαiyi=0, αi⩾0  (i∈[m])\begin{aligned} \min_{\vec{\alpha}}&\quad \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\bold{x}_i^T\bold{x}_j-\sum_{i=1}^m\alpha_i\\ \text{s.t.}&\quad \sum_{i=1}^m\alpha_iy_i=0,\ \alpha_i\geqslant0\ \ (i\in[m]) \end{aligned}

上述过程满足 KKT 条件

{∑i=1mαiyixi=ω∑i=1mαiyi=0αi⩾0yi(ωTxi+b)−1⩾0αi(yi(ωTxi+b)−1)=0\begin{cases} \sum_{i=1}^m\alpha_iy_i\bold{x}_i=\bold{\omega}\\ \sum_{i=1}^m\alpha_iy_i=0\\ \alpha_i\geqslant0\\ y_i(\bold{\omega^Tx}_i+b)-1\geqslant0\\ \alpha_i(y_i(\bold{\omega^Tx}_i+b)-1)=0 \end{cases}

非线性化与核函数

为了解决非线性化的问题,引入非线性映射ϕ(x)\phi(x),其主问题变为

min⁡ω,b 12 ∥ω∥2s.t.  yi(ωTϕ(xi)+b)⩾1  (i∈[m])\min_{\bold{\omega},b}\ \frac{1}{2}\ \lVert \bold{\omega}\rVert^2\\ \text{s.t.}\ \ y_i(\bold{\omega^T\phi(x}_i)+b)\geqslant1\ \ (i\in[m])

同时对偶问题变为

min⁡α⃗12∑i=1m∑j=1mαiαjyiyjϕ(xi)Tϕ(xj)−∑i=1mαis.t.∑i=1mαiyi=0, αi⩾0  (i∈[m])\begin{aligned} \min_{\vec{\alpha}}&\quad\frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\phi(\bold{x}_i)^T\phi(\bold{x}_j)-\sum_{i=1}^m\alpha_i\\ \text{s.t.}&\quad\sum_{i=1}^m\alpha_iy_i=0,\ \alpha_i\geqslant0\ \ (i\in[m]) \end{aligned}

而其中设计计算其映射后的内积 (inner product) ϕ(xi)Tϕ(xj)\phi(\bold{x}_i)^T\phi(\bold{x}_j),很多高维情况下直接计算是困难的,因此,引入核函数 (kernal function)

κ(xi,xj)=⟨ϕ(xi),ϕ(xj)⟩=ϕ(xi)Tϕ(xj)\kappa(\bold{x}_i,\bold{x}_j)=\langle \phi(\bold{x}_i),\phi(\bold{x}_j) \rangle=\phi(\bold{x}_i)^T\phi(\bold{x}_j)

借助于核函数完成对偶问题优化

min⁡α⃗12∑i=1m∑j=1mαiαjyiyjκ(xi,xj)−∑i=1mαis.t.∑i=1mαiyi=0, αi⩾0  (i∈[m])\begin{aligned} \min_{\vec{\alpha}}&\quad \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\kappa(\bold{x}_i,\bold{x}_j)-\sum_{i=1}^m\alpha_i\\ \text{s.t.}&\quad\sum_{i=1}^m\alpha_iy_i=0,\ \alpha_i\geqslant0\ \ (i\in[m]) \end{aligned}

定理1.1. 核函数 令 X\mathcal{X} 为输入空间,κ(⋅,⋅)\kappa(\cdot,\cdot) 是定义在 X×X\mathcal{X}\times\mathcal{X} 上的对称函数,则 κ\kappa 是核函数当且仅当对于任意数据 {x1,x2,...,xm}\{\bold{x}_1,\bold{x}_2,...,\bold{x}_m\},核矩阵 (kernal matrix) K\bold{K} 是一个半正定的m阶方阵,Kij=κ(xi,xj)\bold{K}_{ij}=\kappa(\bold{x}_i,\bold{x}_j)。

每个核函数都隐式地定义了一个特征空间,称为 再生核希尔伯特空间 (Reproducing Kernal Hilbert Space, RKHS),其是否适当对支持向量机的性能至关重要。下面给出几种常用的核函数

名称表达式参数
线性核κ(xi,xj)=xiTxj\kappa(\bold{x}_i,\bold{x}_j)=\bold{x}_i^T\bold{x}_j
多项式核κ(xi,xj)=(xiTxj)d\kappa(\bold{x}_i,\bold{x}_j)=(\bold{x}_i^T\bold{x}_j)^dd⩾1d\geqslant1为多项式次数
高斯核κ(xi,xj)=exp⁡(−∥xi−xj∥22σ2)\kappa(\bold{x}_i,\bold{x}_j)=\exp{(-\frac{\lVert \bold{x}_i-\bold{x}_j\rVert^2}{2\sigma^2})}σ>0\sigma>0为高斯核的带宽(width)
拉普拉斯核κ(xi,xj)=exp⁡(−∥xi−xj∥σ)\kappa(\bold{x}_i,\bold{x}_j)=\exp{(-\frac{\lVert \bold{x}_i-\bold{x}_j\rVert}{\sigma})}σ>0\sigma>0
Sigmoid 核κ(xi,xj)=tanh⁡(βxiTxj+θ)\kappa(\bold{x}_i,\bold{x}_j)=\tanh{(\beta\bold{x}_i^T\bold{x}_j+\theta)}tanh⁡\tanh 为双曲正切函数,β>0,θ<0\beta>0,\theta<0

同时,为了防止过拟合引入 软间隔 (soft margin),即允许某些样本不满足yi(ωTxi+b)⩾1y_i(\bold{\omega^Tx}_i+b)\geqslant1但是同时希望这样的样本还是尽可能少,优化目标转化为

min⁡ω,b 12∥ω∥2+β∑i=1ml0/1(yi(ωTϕ(xi)+b)−1)\min_{\bold{\omega},b}\ \frac{1}{2} \lVert \bold{\omega}\rVert^2+\beta\sum_{i=1}^m\mathcal{l}_{0/1}\left(y_i(\bold{\omega^T\phi(x}_i)+b)-1\right)

其中 β>0\beta>0 为常数,l0/1=I(x<0)\mathcal{l}_{0/1}=\mathbb{I}(x<0) 是 (0/1)(0/1) 损失函数,同时有更好的 hinge损失函数 作为 替代损失 (surrogate loss)

lhinge(x)=max⁡(0,1−x)\mathcal{l}_{hinge}(x)=\max{(0,1-x)}

在引入 松弛变量 (slack variables) ξi⩾0\xi_i\geqslant0后重写为

min⁡ω,b,ξi12∥ω∥2+β∑i=1mξis.t.yi(ωTϕ(xi)+b)⩾1−ξi,  ξ⩾0  (i∈[m])\begin{aligned} \min_{\bold{\omega},b,\xi_i}&\quad \frac{1}{2} \lVert \bold{\omega}\rVert^2+\beta\sum_{i=1}^m\xi_i\\ \text{s.t.}&\quad y_i(\bold{\omega^T\phi(x}_i)+b)\geqslant1-\xi_i,\ \ \xi\geqslant0\ \ (i\in[m]) \end{aligned}

其对偶形式为

min⁡α⃗12∑i=1m∑j=1mαiαjyiyjκ(xi,xj)−∑i=1mαis.t.∑i=1mαiyi=0, 0⩽αi⩽β  (i∈[m])\begin{aligned} \min_{\vec{\alpha}}&\quad \frac{1}{2}\sum_{i=1}^m\sum_{j=1}^m\alpha_i\alpha_jy_iy_j\kappa(\bold{x}_i,\bold{x}_j)-\sum_{i=1}^m\alpha_i\\ \text{s.t.}&\quad \sum_{i=1}^m\alpha_iy_i=0,\ 0\leqslant\alpha_i\leqslant\beta\ \ (i\in[m]) \end{aligned}