标签:its header 基本 basic tar 括号 现在 制造 为什么
本篇假设已经了解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]中共轭函数的例子,
对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
\]
参考资料
- 知乎:淋蒙, 凸优化中的对偶问题与共轭函数
- 知乎:淋蒙, 从单机优化到分布式优化:从Coordiante Ascent到MOCHA
原始问题对偶化
标签:its header 基本 basic tar 括号 现在 制造 为什么
原文地址:https://www.cnblogs.com/DemonHunter/p/12778690.html