提前终止法与正则化法之间关系
前言
前两篇博客(从贝叶斯角度理解正则化、正则化)分别介绍了提前终止法和正则化法。
它们可以近似等价的吗?怎么近似等价?
左边这张图轮廓线表示负对数似然函数的轮廓,虚线表示从原点开始的SGD所经过的轨迹。提前终止法的轨迹在较早的$\tilde \omega \(点终止,而不是在停止在最小化代价的点\){\omega ^{\text{*}}}$处;
右边这张图使用了L2正则化法。虚线圆圈表示L2惩罚的轮廓,L2惩罚使得总代价的最小值比非正则化代价的最小值更靠近原点。
可以看出,两种方法近似等价。
接下来对两者进行分析。
提前终止法分析
对于上图所示的单层线性网络,该线性网络的均方误差性能函数时二次的,即:
\(F(x) = c + d^{T}x + \frac{1}{2}x^{T}\text{Ax}\)
其中,为Hessian矩阵。
① 为了研究提前终止法性能,我们将分析最速下降法在线性网络上的演化。由式10.16知性能指标的梯度:
\(\nabla F(x) = Ax + d\)
最速下降法:
\(x_{k + 1} = x_{k} – \alpha g_{k} = x_{k} – \alpha(Ax_{k} + d)\)
对于二次性能指标,极小值出现在下面的点:
\(x^{\text{ML}} = – A^{- 1}d\)
上标ML表示结果使似然函数极大化同时使误差平方和极小化。则
\[{x_{k + 1} = x_{k} – \alpha(Ax_{k} + d)}\\{\text{}= x_{k} – \alpha A(x_{k} + A^{- 1}d)}\\{\text{} = x_{k} – \alpha A(x_{k} + x^{\text{ML}})}\\{\text{} = \left\lbrack I – \text{αA} \right\rbrack x_{k} + \alpha Ax^{\text{ML}}}\\{\text{} = Mx_{k} + \left\lbrack I – M \right\rbrack Ax^{\text{ML}}}\]
其中,\(M = (I – \alpha A)\)。
② 将\(x_{k + 1}\)与初始化权值\(x_{k}\)进行关联
\(x_{1} = Mx_{0} + \left\lbrack I – M \right\rbrack x^{\text{ML}}\)
\[{x_{2} = Mx_{1} + \left\lbrack I – M \right\rbrack x^{\text{ML}}}\\{\text{} = M(Mx_{0} + \left\lbrack I – M \right\rbrack x^{\text{ML}}) + \left\lbrack I – M \right\rbrack x^{\text{ML}}}\\{\text{} = M^{2}x_{0} + \left\lbrack I – M^{2} \right\rbrack x^{\text{ML}}}\]
递推可以得
\(x_{k}\mspace{6mu} = M^{k}x_{0} + \left\lbrack I – M^{k} \right\rbrack x^{\text{ML}}\)
贝叶斯正则化法分析
在误差平方和上加上一个惩罚项作为正则化性能指标,即:
\[F(x) = \beta E_{D} + \alpha E_{W}\]
等价的性能指标:
\(F^{*}(x) = \frac{F(x)}{\beta} = E_{D} + \frac{\alpha}{\beta}E_{W} = E_{D} + \rho E_{W}\)上式只有一个正则化参数。
权值平方和惩罚项\(E_{W}\)可以写为:
\(E_{W} = (x – x_{0})^{T}(x – x_{0})\)
其梯度为\(\nabla E_{W} = 2(x – x_{0})\)
误差平方和的梯度:\(\nabla E_{D} = Ax + d = A(x + A^{- 1}d) = A(x – x^{\text{ML}})\)
为了寻找正则化性能指标的极小值,同时也是最可能的值\(x^{\text{MP}}\),令梯度为零。
\(\nabla F^{*}(x) = \nabla E_{D} + \rho\nabla E_{W} = A(x^{\text{MP}} – x^{\text{ML}}) + 2\rho(x^{\text{MP}} – x_{0}) = 0\)
化简:\((A + 2\rho I)(x^{\text{MP}} – x^{\text{ML}}) = 2\rho(x_{0} – x^{\text{ML}})\)
求解\(x^{\text{MP}} – x^{\text{ML}}\),有
\((x^{\text{MP}} – x^{\text{ML}}) = 2\rho(A + 2\rho I)^{- 1}(x_{0} – x^{\text{ML}})\)
移项:
\[{x^{\text{MP}} = 2\rho(A + 2\rho I)^{- 1}(x_{0} – x^{\text{ML}}) + x^{\text{ML}}}\\{\text{} = M_{P}(x_{0} – x^{\text{ML}}) + x^{\text{ML}}\backslash n}\]
其中,\(M_{P} = 2\rho(A + 2\rho I)^{- 1}\)。
比较
提前终止法的结果表明从初始值到k次迭代后的最大似然权值我们进步了多少;
正则化法描述了正则化解与误差平方和极小值之间关系。
两个解等价\({\leftrightarrow x}_{k} = x^{\text{MP}}\) \({\leftrightarrow M}^{k} = M_{P}\)
\(M\)和\(A\) 具有相同的特征向量,\(A\)的特征值为\(\lambda_{i}\),\(M\)则的特征值为\(1 – \alpha\lambda_{i}\)
,则\(M^{k}\)的特征值为\(eig(M^{k}) = (1 – \alpha\lambda_{i})^{k}\)
同理,可得\(M_{P}\)的特征值为\(eig(M_{P}) = \frac{2\rho}{\lambda_{i} + 2\rho}\)
因此,\(M^{k} = M_{P}\)等价于
\[eig(M^{k}) = (1 – \alpha\lambda_{i})^{k} = \frac{2\rho}{\lambda_{i} + 2\rho} = eig(M_{P})\]
取对数,有:
\(k\log(1 – \alpha\lambda_{i}) = – \log(1 + \frac{\lambda_{i}}{2\rho})\)
为使上式成立,则\(\lambda_{i} = 0\)。
对等式两边求导,有:
\(- \frac{1}{(1 + \frac{\lambda_{i}}{2\rho})}\frac{1}{2\rho} = \frac{k}{1 – \alpha\lambda_{i}}( – \alpha)\)
当\(\alpha\lambda_{i}\)很小(缓慢、稳定的学习)且\(\frac{\lambda_{i}}{2\rho}\)很小,则有近似结果:
\(\text{αk} \cong \frac{1}{2\rho}\)
因此,提前终止法和正则化法近似相等。增加迭代次数\(k\)近似于减少正则化参数\(\rho\)。可以直观看出,增加迭代次数或者减少正则化参数都能够引起过拟合。
参考资料
1.尹恩·古德费洛.深度学习[M].北京:人民邮电出版社,2017.8
2.马丁 T·哈根,章毅(译).神经网络设计[M].北京:机械出版社,2017.12