从贝叶斯角度理解正则化

前言


上一篇:正则化

下一篇:贝叶斯正则化与提前终止法关系

1.贝叶斯法则


贝叶斯法则: \(P(A|B) = \frac{P(B|A)P(A)}{P(B)}\)

\(P(A)\)称为先验概率(反映在已知\(B\)之前对事件\(A\)的认知);\(P(A|B)\)称为后验概率(反映在已知\(B\)之后对事件\(A\)的认知);\(P(B|A)\)是在事件\(A\)发生的条件下,事件\(B\)发生的条件概率;\(P(B)\)是事件的边缘概率(被用作归一化因子)

贝叶斯法则在于先验概率,如果它很大,那么后验概率也将显著增大

2.正则化项


一个包括网络输入及其对应目标输出的训练样本集:

\[\left\{ p_{1},t_{1} \right\},\left\{ p_{2},t_{2} \right\},\cdots,\left\{ p_{n},t_{n} \right\} \]

假设目标输出通过如下方式生成:

\[t_{q} = g(p_{q}) + \varepsilon_{q}$$ (13.2) 其中,$g()$为某未知函数,$\varepsilon_{q}$为一个随机独立分布的零均值噪声源。我们的训练目标是产生一个能够逼近函数$g()$并且忽略噪声影响的神经网络。 神经网络训练的标准性能指标是该网络在训练集上的误差平方和: $$F(x) = E_{D} = \sum_{q = 1}^{Q}{(t_{q} - a_{q})^{T}}(t_{q} - a_{q})\]

其中,\(a_{q}\)表示输入为时网络的输出。\(E_{D}\)这里表示训练数据上的误差平方和。

修改式,添加一个包含逼近函数(我们的例子中为神经网络)导数的惩罚项(或说为正则化项),以平滑所得到的函数。在一定条件下,正则化项可以写成网络权值平方和的形式,如:

\[F(x) = \beta {E_D} + \alpha {E_w} = \beta \sum\limits_{q = 1}^Q {{{({t_q} - {a_q})}^T}({t_q} - {a_q})} + \alpha \sum\limits_{i = 1}^n {x_i^2} \]

其中,比率\(\alpha/\beta\)用于控制网络解的有效复杂度。比率越大,网络响应越平滑。

正则化项本质上是一种先验信息,整个最优化问题从贝叶斯观点来看是一种贝叶斯最大后验估计,其中正则化项对应后验估计中的先验信息,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计的形式,如果你将这个贝叶斯最大后验估计的形式取对数,即进行极大似然估计,你就会发现问题立马变成了损失函数+正则化项的最优化问题形式。

3.贝叶斯正则化


David Mackey将神经网络的训练置于贝叶斯框架中,除了选取正则化参数外,它还对训练过程的很多方面有所帮助。

该贝叶斯分析有两层:

  • 对正则化性能指标进行统计学推导,理解参数的意义;
  • 第二层:估计参数。

\(I\)层贝叶斯框架

该贝叶斯框架假设神经网络的权值为随机变量。对于给定的数据集,我们选取能够最大化权值的条件概率的权值。贝叶斯法则用于计算如下概率函数:

\(P(x|D,\alpha,\beta,M) = \frac{P(D|x,\beta,M)P(x|\alpha,M)}{P(D|\alpha,\beta,M)}\)

其中,\(x\)是包含网络所有权值和偏置量;\(D\)表示训练数据集;\(\alpha\)\(\beta\)是与密度函数\(P(D|x,\beta,M)\)\(P(x|\alpha,M)\)相关的参数;\(M\)表示所选取的模型——所选定网络的结构(即网络有多少层以及每一层有多少神经元)。

接下来对每一项进行理解:

(1)\(P(D|x,\beta,M)\)表示对于给定权值集合\(x\)、参数以及网络模型的情况下,训练数据的概率密度。如果假设式(13.2)中的噪声是相对独立的且服从高斯分布,那么有:

\[P(D|x,\beta,M) = \frac{1}{Z_{D}(\beta)}\exp( - \beta E_{D})$$ (13.11) 其中 ,$\beta = \frac{1}{2\sigma_{\varepsilon}^{2}}$,$\sigma_{\varepsilon}^{2}$是$\varepsilon_{q}$中每个元素的方差,$E_{D}$是式13.3中定义的误差平方和,$Z_{D}(\beta) = (2\pi\sigma_{\varepsilon}^{2})^{N/2} = (\pi/\beta)^{N/2}$ 其中,$N$如式12.34一样取值$Q \times S^{M}$ 式13.11也叫做似然函数,它描述了对于特定的网路权值集合,给定数据集出现的可能性。它能最大化似然函数的权值。当似然函数是高斯函数时,相当于最小化误差平方和$E_{D}$。 (2)该项$P(x|\alpha,M)$称为先验密度,体系哪里在收集数据前我们对于网络权值的了解。贝叶斯统计使我们能够在先验密度中融合先验知识。例如,如果假设权值是以0为中心的较小值,则可以选择一个零均值的高斯先验密度: $$P(x|\alpha,M) = \frac{1}{Z_{W}(\beta)}\exp( - \alpha E_{W})\]

其中 ,\(\alpha = \frac{1}{2\sigma_{\omega}^{2}}\)\(\sigma_{\omega}^{2}\)是每个权值的方差,\(E_{W}\)是式13.4中定义的误差平方和,\(Z_{W}(\alpha) = (2\pi\sigma_{\omega}^{2})^{n/2} = (\pi/\alpha)^{n/2}\)

其中,是如式12.35所定义的网络中的权值的偏置量的数量。

(3)\(P(D|\alpha,\beta,M)\) 被称为证据,它是一个归一化项,不是\(x\)的函数。

(4)根据之前的所做的高斯假设,可以使用式13.10将后验密度重写为:

\[{P(x|D,\alpha,\beta,M) = \frac{\frac{1}{Z_{W}(\alpha)}\frac{1}{Z_{D}(\beta)}\exp( - (\beta E_{D} + \alpha E_{W}))}{归一化因子}}{\text{} = \frac{1}{Z_{F}(\alpha,\beta)}\exp( - F(x))} \]

其中,\(Z_{F}(\alpha,\beta)\)\(\alpha\)\(\beta\)的函数,\(F(x)\)是在式(13.4)中定义的正则化后的性能指标。为求权值最可能的取值,我们需要最大化\(P(x|D,\alpha,\beta,M)\)。这相当于最小化正则化性能指标\(F(x) = \beta E_{D} + \alpha E_{W}\)

该框架为参数提供了𝛼𝛼和𝛽𝛽物理意义:

\(\alpha\)\(\beta\)的物理意义:参数与测量误差的方差成反比。因此,如果噪声方差越大,那么值越小,且正则化比率的值越大。这将使得得到的网络权值变小,网络函数变得平滑。为了平衡噪声带来的影响,测量噪声越大,我们越要对网络函数进行平滑。

参数\(\alpha\)与网络权值先验分布的方差成反比。如果方差很大,说明方差很大,说明我们对于网络权值的取值很不确定,因此,它们有可能会非常大,那么参数\(\alpha\)将会很小,正则化比率也很小。这将允许网络权值变大,网络函数可以具有更多的变化。网络权值先验密度方差越大,网络函数可以有的变化就越多。

\(\text{II}\)层贝叶斯框架

要想使用贝叶斯分析来估计\(\alpha\)\(\beta\),我们需要概率密度\(P(\alpha,\beta|D,M)\)。使用贝叶斯法则,重写为:

\(P(\alpha,\beta|D,M) = \frac{P(D|\alpha,\beta,M)P(\alpha,\beta|M)}{P(D|M)}\)

注意到此时的似然函数就是式13.10中的归一化因子(证据)。由式13.10可得:

\[{P(D|\alpha,\beta,M) = \frac{P(D|x,\beta,M)P(x|\alpha,M)}{P(x|D,\alpha,\beta,M)}}\\{\text{} = \frac{\left\lbrack \frac{1}{Z_{D}(\beta)}\exp( - \beta E_{D}) \right\rbrack\left\lbrack \frac{1}{Z_{W}(\alpha)}\exp( - \alpha E_{w}) \right\rbrack}{\left\lbrack \frac{1}{Z_{F}(\alpha,\beta)}\exp( - F(x)) \right\rbrack}}\\{\text{} = \frac{Z_{F}(\alpha,\beta)}{Z_{D}(\beta)Z_{W}(\alpha)}\frac{\exp( - \beta E_{D} - \alpha E_{w})}{\exp( - F(x))}}\\{\text{} = \frac{Z_{F}(\alpha,\beta)}{Z_{D}(\beta)Z_{W}(\alpha)}}$$ (13.17) 对于未知项$Z_{F}(\alpha,\beta)$可以使用泰勒级数展开来对其估计。 由于目标函数在极小点附近区域具有二次形式,因此我们可以将$F(x)$在其极小点$x^{\text{MP}}$(即梯度为零的点)附近以二阶泰勒级数展开。 $$F(x) \approx F(x^{\text{MP}}) + \frac{1}{2}(x - x^{\text{MP}})^{T}H^{\text{MP}}(x - x^{\text{MP}})\]

其中, \(H = \beta\nabla^{2}E_{D} + \alpha\nabla^{2}E_{W}\)\(F(x)\)的Hessian矩阵,\(H^{\text{MP}}\)是Hessian矩阵在\(x^{\text{MP}}\)处的估计,将其代入式13.15有:

\[{P(x|D,\alpha,\beta,M) = \frac{1}{Z_{F}(\alpha,\beta)}\exp( - F(x))}\\{\text{}\\ \approx \frac{1}{Z_{F}(\alpha,\beta)}\exp\left\lbrack - F(x^{\text{MP}}) + \frac{1}{2}(x - x^{\text{MP}})^{T}H^{\text{MP}}(x - x^{\text{MP}}) \right\rbrack}\\{\text{}\\ \approx \left\lbrack \frac{1}{Z_{F}(\alpha,\beta)}\exp( - F(x^{\text{MP}})) \right\rbrack\exp\left\lbrack \frac{1}{2}(x - x^{\text{MP}})^{T}H^{\text{MP}}(x - x^{\text{MP}}) \right\rbrack}$$ (13.20) 而高斯密度的标准形式为: $P(x) = \frac{1}{\sqrt{(2\pi)^{n}\left| (H^{\text{MP}})^{- 1} \right|}}\exp\left\lbrack \frac{1}{2}(x - x^{\text{MP}})^{T}H^{\text{MP}}(x - x^{\text{MP}}) \right\rbrack$ (13.21) 联立式13.20和式13.21,可以求得: $$Z_{F}(\alpha,\beta) \approx (2\pi)^{\frac{n}{2}}(\det((H^{\text{MP}})^{- 1}))^{\frac{1}{2}}\exp( - F(x^{\text{MP}}))\]

将其代入式13.17有

\[P(D|\alpha,\beta,M) = \frac{Z_{F}(\alpha,\beta)}{(\pi/\beta)^{N/2}(\pi/\alpha)^{n/2}} \]

对其对数中的每一项求导,并使其导数为0,可以得到\(\alpha,\beta\)在极小点的最优值。

\[\alpha^{\text{MP}} = \frac{\gamma}{2E_{W}(x^{\text{MP}})},\beta^{\text{MP}} = \frac{N - \gamma}{2E_{D}(x^{\text{MP}})} \]

其中,\(\gamma = n - 2\alpha^{\text{MP}}tr(H^{\text{MP}})^{- 1}\)称为有效参数数量,\(n\)代表网络全部参数数量。\(\gamma\)项衡量了神经网络中多少参数被有效地用于减少误差函数,其取值范围为 \((0,n)\)

贝叶斯正则化算法步骤

① 初始化\(\alpha,\beta\)和权值。随机初始化权值并计算\(E_{D}\)\(E_{W}\)。令\(\gamma = n\),使用式13.23计算\(\alpha,\beta\)

② 执行一步Levenberg-Marquardt算法来最小化目标函数\(F(x) = \beta E_{D} + \alpha E_{W}\)

③ 计算有效参数数量\(\gamma = n - 2\alpha^{\text{MP}}tr(H^{\text{MP}})^{- 1}\),在Levenberg-Marquardt训练算法中使用高斯-牛顿法逼近Hessian矩阵是可行的,\(H = \nabla^{2}F(x) \approx 2\beta J^{T}J + 2\alpha I_{n}\),其中,\(J\)为训练集上的误差的Jocobian矩阵;

④ 计算正则化参数\(\alpha = \frac{\gamma}{2E_{W}(x^{\text{MP}})}\)\(\beta = \frac{N - \gamma}{2E_{D}(x^{\text{MP}})}\)新的估计值;

⑤ 迭代计算步骤①到③直至收敛。

请记住:当每一次重新估计正则化参数时,目标函数都将改变,因此,极小点是一直在变化的。如果在性能曲面上移下下一个极小点,那么正则化参数新的估计值将会更加精确。最终,精度足够高,使得目标函数在后续迭代中不会有明显改变。于是,网络收敛。

参考资料


马丁 T·哈根,章毅(译).神经网络设计.第二版.北京:机械出版社,2017.12

posted on 2019-11-19 18:14  云帆sc  阅读(1732)  评论(0编辑  收藏  举报

导航