首页 > 技术文章 > 提前终止法与正则化法之间关系

sc340 2019-11-19 19:08 原文

前言


前两篇博客(从贝叶斯角度理解正则化正则化)分别介绍了提前终止法和正则化法。

Snipaste_2019-11-19_18-36-48.png

它们可以近似等价的吗?怎么近似等价?

20191109213126.png

左边这张图轮廓线表示负对数似然函数的轮廓,虚线表示从原点开始的SGD所经过的轨迹。提前终止法的轨迹在较早的$\tilde \omega \(点终止,而不是在停止在最小化代价的点\){\omega ^{\text{*}}}$处;
右边这张图使用了L2正则化法。虚线圆圈表示L2惩罚的轮廓,L2惩罚使得总代价的最小值比非正则化代价的最小值更靠近原点。
可以看出,两种方法近似等价。

接下来对两者进行分析。

提前终止法分析


新文档 2019-11-09 17.19.43.jpg

对于上图所示的单层线性网络,该线性网络的均方误差性能函数时二次的,即:

\(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次迭代后的最大似然权值我们进步了多少;
正则化法描述了正则化解与误差平方和极小值之间关系。

Snipaste_2019-11-19_18-38-43.png

两个解等价\({\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

推荐阅读