原始问题对偶化
本篇假设已经了解Lagrange函数,对偶的基本原理,针对的问题是对没有约束的函数\(f(w)\)如何变换为对偶,以及对参考资料[1][2]一些推到的补充。
问题
一般的统计机器学习目标函数可以通常为
其中\(X\)代表数据,\(w\)代表要学习的参数,\(f(Xw)\)表示某种误差度量,\(r(w)\)表示对\(w\)的正则项。
现在要对这个问题做对偶,为什么要做对偶在参考资料里也给出了几种情况,这里罗列如下:
- 参数\(w\)的维度小于数据维度,求解方便
- 可以分布式
公式\(~\ref{eq:basic_form}\)没有约束信息,通过引入
来制造约束。引入约束后,更新如下
这样就可以构造Lagrange函数,
利用共轭函数,上式整理为
最后的目标是要极大化Lagrange函数,即公式\(~\ref{eq:lagrange}\),也就是最小化dual gap。
根据\(-\alpha X=\nabla r^(w)\)原始变量\(w\)和对偶变量间的关系如下
对于参考资料[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问题是
根据公式\(~\ref{eq:lagrange}\)的变换,得到
上式中的花括号的地方添加的\(\frac{1}{n}\)是为了更方便合并\(l_i(u_i),\,\alpha_iu_i\)。对于正则项部分
从而(3)到(4)的变换使用的就是square loss的共轭函数,为了简便,可以令\(A=\frac{1}{\lambda n}\begin{bmatrix}\frac{1}{n}x_i\end{bmatrix}\),最终化简为
关于\(l_i\)的部分就不进一步说明了。参数\(\rm w\)和\(\alpha\)的关系,通过(3)到(4)中对\(\rm w\)求极值可以得到