机器学习

Minmax Theorem

纯策略

最简单的,有:

\[\min_i\max_j M_{i,j}\ge \max_i\min_j M_{i,j} \]

原理就是石头剪刀布后出的人肯定有必胜策略。

Von Neumann Minmax Theorem

Part I:

\[\min_p\max_q p^\top Mq=\max_p\min_q p^T Mq \]

Part II:

\(\exists p^*,q^*\),满足

\[(p^*)^\top Mq\le (p^*)^\top Mq^*\le p^\top Mq^*\quad \forall p,q \]

Sion's Minimax Theorem/Saddle Point Theorem

\(f:\mathbb R^n\times \mathbb R^n\mapsto \mathbb R\),如果 \(f(x,y)\) 关于 \(x\) 凸,关于 \(y\) 凹,那么

\[\min_x\max_yf(x,y)=\max_y\min_x f(x,y) \]

证:\(\exists x^*,y^*\) 满足

\[f(x^*,y)\le f(x^*,y^*)\le f(x,y^*)\quad \forall x,y \]

Lagrange Duality(for Convex Optimization)

Duality

对于凸函数 \(f\),和线性函数 \(g_i,h_j\)

\[\begin{aligned} \min_x & \quad & f(x)\\ \text{s.t.} & \quad & g_i(x)\le0 & \quad & i\in [m]\\ &\quad & h_j(x)=0 & \quad & j\in [n] \end{aligned} \]

等价于:

\[\begin{aligned} \min_x \max_{\lambda,\mu}& \quad & f(x)+\sum_{i=1}^n\mu_ih_i(x)+\sum_{i=1}^m\lambda_ig_i(x)\\ \text{s.t.} & \quad & \lambda_i\ge 0 & \quad & i\in [n]\\ \end{aligned} \]

其中 \(\lambda,\mu\) 是拉格朗日乘数,等价的意思是最优解 \(x^*\) 相等且最优值 \(f(x^*)\) 相等,这个证明很 easy。

定义拉格朗日函数:

\[L(x;\lambda,\mu)=f(x)+\sum_{i=1}^n\mu_ih_i(x)+\sum_{i=1}^m\lambda_ig_i(x) \]

注意到 \(L\) 关于 \(x\) 凸,关于 \(\lambda,\mu\) 凹(线性)。

因此可以使用 Sion's Minimax Theorem 交换 \(\min\)\(\max\) 的顺序。

对给定 \(\lambda_i,\mu\),定义:

\[\varphi(\lambda,\mu)=\mathrm{argmin}_x L(x;\lambda,\mu) \]

只需要解下面这个方程:

\[\frac{\partial L(x;\lambda,\mu)}{\partial x}{\huge|}_{x=\varphi(\lambda,\mu)}=0 \]

因此,对偶问题为:

\[\begin{aligned} \max_{\lambda,\mu}& \quad & L(\varphi(\lambda,\mu),\lambda,\mu)\\ \text{s.t.} & \quad & \lambda_i\ge 0 & \quad & i\in [n]\\ \end{aligned} \]

展开就是:

\[\begin{aligned} \max_{\lambda,\mu}& \quad & f(\varphi(\lambda,\mu))+\sum_{i=1}^n\mu_ih_i(\varphi(\lambda,\mu))+\sum_{i=1}^m\lambda_ig_i(\varphi(\lambda,\mu))\\ \text{s.t.} & \quad & \lambda_i\ge 0 & \quad & i\in [n]\\ \end{aligned} \]

Karush–Kuhn–Tucker(KKT) Condition

\(x^*,\lambda^*,\mu^*\) 满足以下条件(充要):

\[\frac{\partial L}{\partial x}{\huge|}_{x^*,\lambda^*,\mu^*}=0\\ g_i(x^*)\le 0,h_j(x^*)=0\\ \lambda_i^*\ge 0\\ \lambda_i^*g_i(x^*)=0\quad \forall i\in [n] \]

必要性证明:前三条显然。第四条交换 \(\min\)\(\max\) 顺序,先确定 \(x\),再确定 \(\lambda_i\),由前三条可得 \(\lambda_i^*g_i(x^*)\le 0\),如果不等于 \(0\),说明小于 \(0\),说明 \(\lambda_i^*\) 小于 \(0\),此时可以将 \(\lambda_i\) 换成 \(0\),会变优。

充分性证明:由于是凸优化问题解唯一,因此直接证明了。(?)

Liner Classifier

给定 \(n\)\((x_i,y_i)\),其中 \(x_i\in \mathbb R^d,y_i\in \{-1,1\}\),判定是否存在 \((w,b),w\in \mathbb R^d,b\in \mathbb R\) 满足 \(\mathrm{sgn}(w^tx_i)=y_i,\forall i\)

解:等价于如下最优化问题的解非负:

\[\begin{aligned} \text{max} & \quad & t\\ \text{s.t.} & \quad & y_i(w^tx_i+b)\ge t\\ &\quad & \| w \|_2=1 \end{aligned} \]

也等价于如下最优化问题有解:

\[\begin{aligned} \text{min} & \quad & \frac 12\|w\|_2^2\\ \text{s.t.} & \quad & y_i(w^tx_i+b)\ge 1\\ \end{aligned} \]

拉格朗日函数为:

\[L(w,b;\lambda)=\frac 12\|w\|_2^2+\sum_{i=1}^n\lambda_i(1-y_i(w^tx_i+b)) \]

于是

\[\frac{\partial L(w,b;\lambda)}{\partial w}{\huge |}_{w^*,b^*}=0\Rightarrow w^*=\sum_{i=1}^n \lambda_iy_ix_i\\ \frac{\partial L(w,b;\lambda)}{\partial b}{\huge |}_{w^*,b^*}=0\Rightarrow \sum_{i=1}^n \lambda_iy_i=0 \]

这意味着 \(w^*\)\(y_ix_i\) 的线性组合。

\(L\) 可以写成:

\[\begin{aligned} L(\varphi(\lambda),\lambda)&=\frac 12\|\sum_{i=1}^n\lambda_iy_ix_i\|^2+\sum_{i=1}^n\lambda_i(1-y_i((\sum_{j=1}^n\lambda_jy_jx_j^\top)x_i+b))\\ &=\frac 12 \sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_jx_i^\top x_j+\sum_{i=1}^n\lambda_i-b\sum_{i=1}^n\lambda_iy_i-\sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_jx_i^\top x_j\\ &=\sum_{i=1}^n\lambda_i-\frac 12 \sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_jx_i^\top x_j \end{aligned} \]

因此,对偶问题为:

\[\begin{aligned} \text{max} & \quad & \sum_{i=1}^n\lambda_i-\frac 12 \sum_{i=1}^n\sum_{j=1}^n\lambda_i\lambda_jy_iy_jx_i^\top x_j\\ \text{s.t.} & \quad & \lambda_i\ge 0\\ & \quad & \sum_{i=1}^n\lambda_iy_i=0 \end{aligned} \]

Boosting

如果有很多弱分类器(但是强于随机),怎么组合成一个更强的分类器呢?

Bagging(Bootstrap Aggregation)

一种方法是 Bagging,思路就是求平均数

image

AdaBoost

另一种方法是 AdaBoost,思路是取平均数不够好,寻找更好的权值

image

前面使用二分类器的 loss function 实际上用的是 Hinge Loss:

\[L=1-yf(x) \]

而 loss 可以是很多种的,可以是 Exponential Loss:

\[L=e^{yf(x)} \]

易证第二个 loss 比第一个 loss 大。

我们宣称 AdaBoost 最优化了 Exponential Loss,在下面会给出证明。

首先有:

\[\alpha_t=\mathrm{argmin}_\alpha\sum_{i=1}^nD_t(i)\exp(-y_i\alpha h_t(x_i)) \]

证明:

\[\begin{aligned} Z_t&=\sum_{i=1}^nD_t(i)\exp(-y\alpha h_t(x_i))\\ &=\varepsilon_t\exp(\alpha)+(1-\varepsilon_t)\exp(-\alpha)\\ &\ge2\sqrt{\varepsilon_t(1-\varepsilon_t)} \end{aligned} \]

取等条件是:

\[\varepsilon_t\exp(\alpha)=(1-\varepsilon_t)\exp(-\alpha)\Leftrightarrow \alpha=\frac 12\ln\frac{1-\varepsilon_t}{\varepsilon_t}=\frac 12\ln\frac{1+\gamma_t}{1-\gamma_t} \]

证毕。

还有:

\[\prod_{t=1}^T Z_t=\frac 1n\sum_{i=1}^n\exp(-y_iF(x_i))=\frac 1n\sum_{i=1}^n\exp(-y_i\sum_{t=1}^T\alpha_th_t(x_i)) \]

证明:

\[\begin{aligned} D_{T+1}(i)&=D_T(i)\frac{1}{Z_T}\exp(-y_i\alpha_Th_T(x_i))\\ &=D_{T-1}(i)\frac1{Z_TZ_{T-1}}\exp(-y_i\alpha_Th_T(x_i)-y_i\alpha_{T-1}h_{T-1}(x_i))\\ &=D_1(T)\frac{1}{Z_1\dots Z_T}\exp(-y_iF(x_i)) \end{aligned} \]

这说明:

\[\frac 1n\exp(-y_iF(x_i))=D_{T+1}(i)\prod_{t=1}^TZ_t \]

两边枚举 \(i\) 求和即证。

posted @ 2024-12-20 17:56  xay5421  阅读(10)  评论(0编辑  收藏  举报