原始问题对偶化

本篇假设已经了解Lagrange函数,对偶的基本原理,针对的问题是对没有约束的函数\(f(w)\)如何变换为对偶,以及对参考资料[1][2]一些推到的补充。

问题

一般的统计机器学习目标函数可以通常为

\[\min_w f(Xw) + r(w)\label{eq:basic_form}\tag{1} \]

其中\(X\)代表数据,\(w\)代表要学习的参数,\(f(Xw)\)表示某种误差度量,\(r(w)\)表示对\(w\)的正则项。

现在要对这个问题做对偶,为什么要做对偶在参考资料里也给出了几种情况,这里罗列如下:

  • 参数\(w\)的维度小于数据维度,求解方便
  • 可以分布式

公式\(~\ref{eq:basic_form}\)没有约束信息,通过引入

\[\lambda=Xw \]

来制造约束。引入约束后,更新如下

\[\begin{align*}&\min\limits_{w, \lambda} &f(\lambda)+r(w)\\& s.t. & \lambda=Xw\end{align*} \]

这样就可以构造Lagrange函数,

\[\min_{w,\lambda} f(\lambda) + r(w)+\alpha(Xw-\lambda)\label{eq:lagrange}\tag{2} \]

利用共轭函数,上式整理为

\[\begin{align*}&\min_{\lambda} -\alpha\lambda + f(\lambda)+\min_{w} \alpha Xw+r(w)\\& -\sup_{\lambda} (\alpha \lambda - f(\lambda)) -\sup_{w}(-\alpha Xw-r(w))\\& -f^*(\alpha) -r^*(-\alpha W)\end{align*} \]

最后的目标是要极大化Lagrange函数,即公式\(~\ref{eq:lagrange}\),也就是最小化dual gap。

\[\begin{align*} &\max - f^*(\alpha) - r^*(-\alpha W)\\&\min f^*(\alpha)+r^*(-\alpha W)\end{align*} \]

根据\(-\alpha X=\nabla r^(w)\)原始变量\(w\)和对偶变量间的关系如下

\[w = -\nabla r^*(-\alpha X) \]

对于参考资料[1]中共轭函数的例子,

J6jBk.jpg

对Hinge和Square loss给出具体的推到

  • Hinge loss

    \[\sup\limits_z uz-\max\{0, 1-y_iz\} \]

    分析\(\max\{0, 1-y_iz\}\)的取值情况(需要注意这时候的\(\vert y_i\vert=1\)),当\(y_iz>1\)时,即\(\vert z\vert>\frac{1}{\vert y\vert}\)时,上式变成\(\sup_z uz\)而且此时\(z\)还是一个无界的,因此极限不存在。当\(y_i z\leq1\)时,即\(\vert z \vert \leq \frac{1}{\vert y\vert}\)时,上式变为\(\sup_z uz-1+y_iz\),此时为了取极大值\(y_iz=1\),因此变成\(\sup_z uz\),因为\(z\)的取值范围,最后变成\(u\frac{1}{\vert y\vert}\),注意\(y=\pm1\),因此最终的结果是\(u\),这个和图片中的结果有点不符,我也不太确信。

  • Square loss

    \[\sup_z uz-\Vert y_i - z\Vert_2^2 \]

    对于Square loss直接展开,然后求极值就可以得到\(y_i u+\frac{u^2}{4}\)的结果。

例子

例子来源于[2],primal问题是

\[\min_{{\rm w}\in R^d} \left[\frac{\lambda}{2}\Vert {\rm w}\Vert_2^2 + \frac{1}{n}\sum_{i=1}^n l_i({\rm w^T}x_i)\right] \]

根据公式\(~\ref{eq:lagrange}\)的变换,得到

\[\begin{align*}\min_{{\rm w},u_i}\left[\frac{\lambda}{2}\Vert {\rm w}\Vert_2^2 + \frac{1}{n}\sum_{i=1}^n l_i(u_i)\right]-\underbrace{\frac{1}{n}}\sum_i^n\alpha_i(u_i-{\rm}w^Tx_i)\end{align*} \]

上式中的花括号的地方添加的\(\frac{1}{n}\)是为了更方便合并\(l_i(u_i),\,\alpha_iu_i\)。对于正则项部分

\[\begin{align*}&-\max_{\rm w} -{\rm w}^T\begin{bmatrix}\frac{1}{n}x_i \end{bmatrix}\alpha-\frac{2}{\lambda} \Vert {\rm w}\Vert_2^2\tag{3}\\&-\frac{1}{2\lambda}\Vert \begin{bmatrix}\frac{1}{n}x_i \end{bmatrix}\alpha\Vert_2^2\tag{4}\end{align*} \]

从而(3)到(4)的变换使用的就是square loss的共轭函数,为了简便,可以令\(A=\frac{1}{\lambda n}\begin{bmatrix}\frac{1}{n}x_i\end{bmatrix}\),最终化简为

\[-\frac{\lambda}{2}\Vert A \alpha\Vert_2^2 \]

关于\(l_i\)的部分就不进一步说明了。参数\(\rm w\)\(\alpha\)的关系,通过(3)到(4)中对\(\rm w\)求极值可以得到

\[{\rm w}=A\alpha \]

参考资料

  1. 知乎:淋蒙, 凸优化中的对偶问题与共轭函数
  1. 知乎:淋蒙, 从单机优化到分布式优化:从Coordiante Ascent到MOCHA
posted @ 2020-04-26 12:16  Neo_DH  阅读(434)  评论(0编辑  收藏  举报