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

386 阅读4分钟

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

0 感言

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

1.3 最优化基础

最小二乘 (Least Square) 问题

minxf(x)=i=1m(aiTxbi)2=Axb22\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)=Axbx^=argmin(S(X))(S2(X))=[(Axb)T(Axb)]=[xTATAxbTAxbxTAT]=2(ATAxATb)=0x=(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) 问题

minxcTxs.t.  aiTxbi  (i[m])\min_x \bold{c}^T\bold{x}\\ {\rm s.t.}\ \ \bold{a_i}^T\bold{x}\leqslant b_i\ \ (i\in[m])

优化问题的泛化表示

minxf(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:RdRf:\mathbb{R}^d \mapsto\mathbb{R} 称为优化目标函数,hi:RdRh_i:\mathbb{R}^d \mapsto\mathbb{R}称为约束函数,上式即在满足 hi(x)0h_i(\bold{x})\leqslant0 的条件下,寻找 x\bold{x} 使得目标函数 f()f(\cdot) 最小化。Ω={xhi(x)0  (i[m])}\Omega=\{\bold{x}|h_i(\bold{x})\leqslant0\ \ (i\in[m])\}称为可行域(feasible region),该问题同时也可以表达为 {xf(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\Omegaf(x)T(zx)0 (zΩ)\nabla f(\bold{x}^*)^T(\bold{z}-\bold{x}^*)\geqslant0\ (\forall \bold{z}\in\Omega),直观来看,f(x)-\nabla f(\bold{x}^*)xx^* 处定义了可行域 Ω\Omega 的一个支撑超平面。而对于无约束的凸优化问题,x\bold{x}^* 是最优解当且仅当 f(x)=0\nabla f(\bold{x}^*)=0,即最优解处梯度为0。

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

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

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

minxf(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,最优值记为 pp^*,引入拉格朗日乘子 λ=(λ1,...,λm)\vec{\lambda}=(\lambda_1,...,\lambda_m)μ=(μ1,...,μn)\vec{\mu}=(\mu_1,...,\mu_n),相应拉格朗日函数 L:Rd×Rm×RnRL:\mathbb{R}^d\times\mathbb{R}^m\times\mathbb{R}^n\mapsto\mathbb{R}

Γ(λ,μ)=infxΨL(x,λ,μ)=infxΨ(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,有

Γ(λ,μ)=infxΨ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^*,即使用拉格朗日构造的对偶函数给出了主问题目标函数最优值 pp^* 的下界,并基于其给出对偶问题 (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}) 是若干仿射函数之和的最小值,因此其为凹函数,对偶问题试图最大化一个凹函数,是凸优化问题,且该问题的目标函数最优值 dd^* 是主问题的目标函数最优值 pp^* 的下界,即

dpd^*\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)=Γ(λ,μ)=infxΨ(f(x)+i=1mλihi(x)+j=1nμjgj(x))f(x)+i=1mλihi(x)+j=1nμjgj(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)
λihi(x)=0  (i[m])(λi>0hi(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=argminxΨL(x,λ,μ)=argminxΨ{f(x)+i=1mλihi(x)+j=1nμjgj(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λihi(x)+j=1nμjgj(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). 互补松弛条件λihi(x)=0  (i[m])\lambda_i^*h_i(\bold{x}^*)=0\ \ (i\in[m])

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

f(x)+i=1mλihi(x)+j=1nμjgj(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+b1, 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(1yi(ω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))

其中拉格朗日乘子 αi0,α=(α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αiyixii=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α12i=1mj=1mαiαjyiyjxiTxji=1mαis.t.i=1mαiyi=0, αi0  (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αi0yi(ωTxi+b)10α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α12i=1mj=1mαiαjyiyjϕ(xi)Tϕ(xj)i=1mαis.t.i=1mαiyi=0, αi0  (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α12i=1mj=1mαiαjyiyjκ(xi,xj)i=1mαis.t.i=1mαiyi=0, αi0  (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)^dd1d\geqslant1多项式次数
高斯核κ(xi,xj)=exp(xixj22σ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(xixjσ)\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,1x)\mathcal{l}_{hinge}(x)=\max{(0,1-x)}

在引入 松弛变量 (slack variables) ξi0\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α12i=1mj=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}