PRML读书笔记:5.2 网络训练


网络训练的目标是最小化平方和误差函数,或最大化(对数)似然函数,这两者是等价的。在神经网络的文献中通常考虑前者:

$$ E(\boldsymbol{w})=\frac{1}{2} \sum_{n=1}^{N}\left\|\boldsymbol{y}\left(\boldsymbol{x}_{n}, \boldsymbol{w}\right)-\boldsymbol{t}_{n}\right\|^{2} $$

其中$\boldsymbol{x} _ n$是训练集,$\boldsymbol{t}_ n$是目标集,$\boldsymbol{y}$是网络的输出函数。

回归问题(一元目标变量)

考虑一元目标变量$t$,假设它服从高斯分布,均值与$\boldsymbol{x}$相关(先考虑目标变量的分布,这很贝叶斯):

$$
p(t | \boldsymbol{x}, \boldsymbol{w})=\mathcal{N}\left(t | y(\boldsymbol{x}, \boldsymbol{w}), \beta^{-1}\right)
$$

其中$\beta$是高斯噪声的精度(方差的倒数)。

取输出单元激活函数为恒等函数,因为这样的网络足够近似任何从$\boldsymbol{x}$到$y$的连续函数。

给定观测数据集$\boldsymbol{X}$和目标值$\boldsymbol{t}$,可以推导误差函数如下:

$$ \begin{aligned} & p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}, \beta) \,\text{(似然函数)}\\ =& \prod_{n=1}^N p(t_n | \boldsymbol{x}_n, \boldsymbol{w}, \beta) \,\text{(展开为不同数据的乘积)} \\ =& \prod_{n=1}^N \mathcal{N}(t_n | y(\boldsymbol{x}_n, \boldsymbol{w}), \beta^{-1}) \,\text{(高斯分布假设)} \\ =& \prod_{n=1}^N \frac{\beta}{\sqrt{2\pi}} \exp{\left[-\frac{\beta}{2} (t_n - y(\boldsymbol{x}_n, \boldsymbol{w}))^2 \right]} \,\text{(展开高斯分布)} \end{aligned} $$ $$ \begin{aligned} & -\ln{p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}, \beta)} \,\text{(负对数似然)}\\ =& -\left[\sum_{n=1}^N -\frac{\beta}{2} (t_n - y(\boldsymbol{x}_n, \boldsymbol{w}))^2 + \ln{\beta} - \frac{1}{2} \ln{2\pi}\right] \\ =& \frac{\beta}{2} \sum_{n=1}^N (t_n - y(\boldsymbol{x}_n, \boldsymbol{w}))^2 - \frac{N}{2}\ln{\beta} + \frac{N}{2}\ln{2\pi} \end{aligned} $$

去掉常数,得到误差函数

$$
E(\boldsymbol{w}) = \frac{1}{2} \sum_{n=1}^N (t_n - y(\boldsymbol{x}_n, \boldsymbol{w}))^2
$$

最小化误差函数(等价于最大化似然函数)得到$\boldsymbol{w} _ {ML}$,然后可以求出$\beta _ {ML}$的值如下:

$$ \begin{aligned} -\ln{p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}, \beta)} &= \frac{\beta}{2} \sum_{n=1}^N (t_n - y(\boldsymbol{x}_n, \boldsymbol{w}_{ML}))^2 - \frac{N}{2}\ln{\beta} + \frac{N}{2}\ln{2\pi} \\ \frac{d(-\ln{p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}, \beta)})}{d\beta} &= \frac{1}{2} \sum_{n=1}^N (t_n - y(\boldsymbol{x}_n, \boldsymbol{w}_{ML}))^2 - \frac{N}{2\beta} = 0 \\ \frac{1}{\beta_{ML}} &= \frac{1}{N} \sum_{n=1}^N (t_n - y(\boldsymbol{x}_n, \boldsymbol{w}_{ML}))^2 \end{aligned} $$

在$\boldsymbol{t}$为多元变量(维数为$K$)的情况下,可以推导误差函数如下:

$$ \begin{aligned} & p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}, \beta) \,\text{(似然函数)} \\ =& \prod_{n=1}^N p(\boldsymbol{t}_n | \boldsymbol{x}_n, \boldsymbol{w}, \beta) \,\text{(展开为不同数据的乘积)} \\ =& \prod_{n=1}^N \mathcal{N}(\boldsymbol{t}_n | y(\boldsymbol{x}_n, \boldsymbol{w}), \beta^{-1}I) \,\text{(多元高斯分布假设)} \\ =& \prod_{n=1}^N \frac{1}{(2\pi)^{K/2} |\beta^{-1}I|^{1/2}} \exp{\left[-\frac{1}{2} (\boldsymbol{t}_n - y(\boldsymbol{x}_n, \boldsymbol{w}))^T \beta I (\boldsymbol{t}_n - y(\boldsymbol{x}_n, \boldsymbol{w})) \right]} \,\text{(展开高斯分布)} \\ =& \prod_{n=1}^N \frac{\beta^{K/2}}{(2\pi)^{K/2}} \exp{\left[-\frac{\beta}{2} \left\|\boldsymbol{t}_n - y(\boldsymbol{x}_n, \boldsymbol{w})\right\|^2\right]} \end{aligned} $$ $$ \begin{aligned} & -\ln{p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}, \beta)} \,\text{(负对数似然)}\\ =& \sum_{n=1}^N \left[ \frac{\beta}{2} \left\|t_n - y(\boldsymbol{x}_n, \boldsymbol{w})\right\|^2 - \frac{K}{2}\ln{\beta} + \frac{K}{2} \ln{2\pi} \right] \\ =& \frac{\beta}{2} \sum_{n=1}^N \left\|t_n - y(\boldsymbol{x}_n, \boldsymbol{w})\right\|^2 - \frac{NK}{2}\ln{\beta} + \frac{NK}{2}\ln{2\pi} \end{aligned} $$

此时可求出$\beta_{ML}$的值如下:

$$ \begin{aligned} -\ln{p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}, \beta)} &= \frac{\beta}{2} \sum_{n=1}^N \left\|t_n - y(\boldsymbol{x}_n, \boldsymbol{w})\right\|^2 - \frac{NK}{2}\ln{\beta} + \frac{NK}{2}\ln{2\pi} \\ \frac{d(-\ln{p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}, \beta)})}{d\beta} &= \frac{1}{2} \sum_{n=1}^N \left\|t_n - y(\boldsymbol{x}_n, \boldsymbol{w})\right\|^2 - \frac{NK}{2\beta} = 0 \\ \frac{1}{\beta_{ML}} &= \frac{1}{NK} \sum_{n=1}^N \left\|t_n - y(\boldsymbol{x}_n, \boldsymbol{w}_{ML})\right\|^2 \end{aligned} $$

二分类问题(单一目标变量)

令$t=1$表示类别$\mathcal{C}_1$,$t=0$表示类别$\mathcal{C}_2$。

令网络的输出激活函数为logistic sigmoid函数$y = \sigma(a) \equiv \frac{1}{1 + \exp{(-a)}}$,则$0 \le y(\boldsymbol{x}, \boldsymbol{w}) \le 1$。

用$y(\boldsymbol{x}, \boldsymbol{w})$表示条件概率$p(\mathcal{C}_1 | \boldsymbol{x})$,$1 - y(\boldsymbol{x}, \boldsymbol{w})$表示条件概率$p(\mathcal{C}_2 | \boldsymbol{x})$,则目标变量$t$的条件概率分布是一个伯努利分布,形式为

$$
p(t | \boldsymbol{x}, \boldsymbol{w})=y(\boldsymbol{x}, \boldsymbol{w})^{t}[1-y(\boldsymbol{x}, \boldsymbol{w})]^{1-t}
$$

给定观测训练集$\boldsymbol{X}$和目标值$\boldsymbol{t}$,可以推导出误差函数:

$$ \begin{aligned} & p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}) \,\text{(似然函数)} \\ =& \prod_{n=1}^N p(t_n | \boldsymbol{x}_n, \boldsymbol{w}) \,\text{(展开似然函数)} \\ =& \prod_{n=1}^N y(\boldsymbol{x}_n, \boldsymbol{w})^{t_n}[1-y(\boldsymbol{x}_n, \boldsymbol{w})]^{1-t_n} \end{aligned} $$ $$ \begin{aligned} E(\boldsymbol{w}) &= -\ln{p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w})} \,\text{(负对数似然函数)}\\ &= -\sum_{n=1}^N \left[t_n \ln{y(\boldsymbol{x}_n, \boldsymbol{w})} + (1-t_n)\ln{(1 - y(\boldsymbol{x}_n, \boldsymbol{w}))} \right] \\ &= -\sum_{n=1}^{N}\left[t_{n} \ln y_{n}+\left(1-t_{n}\right) \ln \left(1-y_{n}\right)\right] \end{aligned} $$

其中$y_n = y(\boldsymbol{x}_n, \boldsymbol{w})$。

K个二分类问题

此时可以使用具有$K$个输出的神经网络,每个输出的激活函数都是logistic sigmoid函数,每个输出是一个二元类别标签$t_k \in \left{0, 1\right}$,其中$k = 1, ..., K$。此时目标变量$\boldsymbol{t}$的条件概率分布是$K$个伯努利分布的乘积:

$$
p(\boldsymbol{t} | \boldsymbol{x}, \boldsymbol{w}) = \prod_{k=1}^K y_k(\boldsymbol{x}, \boldsymbol{w})^{t_k}[1-y_k(\boldsymbol{x}, \boldsymbol{w})]^{1-t_k}
$$

取似然函数的负对数,可以推导出误差函数:

$$ \begin{aligned} & p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}) \,\text{(似然函数)} \\ =& \prod_{n=1}^N p(\boldsymbol{t}_n | \boldsymbol{x}_n, \boldsymbol{w}) \,\text{(展开似然函数)} \\ =& \prod_{n=1}^N \prod_{k=1}^K y_k(\boldsymbol{x}_n, \boldsymbol{w})^{t_n}[1-y_k(\boldsymbol{x}_n, \boldsymbol{w})]^{1-t_n} \end{aligned} $$ $$ \begin{aligned} E(\boldsymbol{w}) &= -\ln{p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w})} \,\text{(负对数似然函数)}\\ &= -\sum_{n=1}^N \sum_{k=1}^K \left[t_n \ln{y_k(\boldsymbol{x}_n, \boldsymbol{w})} + (1-t_n)\ln{(1 - y_k(\boldsymbol{x}_n, \boldsymbol{w}))} \right] \\ &= -\sum_{n=1}^{N} \sum_{k=1}^K \left[t_{n} \ln y_{nk}+\left(1-t_{n}\right) \ln \left(1-y_{nk}\right)\right] \end{aligned} $$

其中$y_{nk} = y_k(\boldsymbol{x}_n, \boldsymbol{w})$。

多分类问题

令二元目标变量$t_k \in \left{0, 1\right}$用$K$维one-hot向量方式表示类别,输出单元激活函数为

$$
y_{k}(\boldsymbol{x}, \boldsymbol{w})=\frac{\exp \left(a_{k}(\boldsymbol{x}, \boldsymbol{w})\right)}{\sum_{j} \exp \left(a_{j}(\boldsymbol{x}, \boldsymbol{w})\right)}
$$

则网络输出可以表达为$y_k(\boldsymbol{x}, \boldsymbol{w})=p(t_k=1|\boldsymbol{x})$,即

$$
p(t_k|\boldsymbol{x}, \boldsymbol{w})=y_k(\boldsymbol{x}, \boldsymbol{w})^{t_{nk}}
$$

可以计算出误差函数为

$$ \begin{aligned} & p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w}) \,\text{(似然函数)} \\ =& \prod_{n=1}^N p(\boldsymbol{t}_n | \boldsymbol{x}_n, \boldsymbol{w}) \,\text{(展开似然函数)} \\ =& \prod_{n=1}^N \prod_{k=1}^K p(t_{nk} | \boldsymbol{x}_n, \boldsymbol{w}) \\ =& \prod_{n=1}^N \prod_{k=1}^K y_k(\boldsymbol{x}_n, \boldsymbol{w})^{t_{nk}} \end{aligned} $$ $$ \begin{aligned} E(\boldsymbol{w}) &= -\ln{p(\boldsymbol{t} | \boldsymbol{X}, \boldsymbol{w})} \,\text{(负对数似然函数)}\\ &= -\sum_{n=1}^N \sum_{k=1}^K t_{nk} \ln{y_k(\boldsymbol{x}_n, \boldsymbol{w})} \end{aligned} $$

误差函数关于激活的导数

对于回归问题,由于误差函数$E(\boldsymbol{w}) = \frac{1}{2} \sum_{n=1}^N (t_n - y(\boldsymbol{x}_n, \boldsymbol{w}))^2$,输出$y_k = a_k$,因此有

$$
\frac{\partial E(\boldsymbol{w})}{\partial a_k} = \frac{\partial E(\boldsymbol{w})}{\partial y_k} = y_k - t_k
$$

对于二分类问题,由于误差函数$E(\boldsymbol{w}) = -\sum_{n=1}^{N}\left[t_{n} \ln y_{n}+\left(1-t_{n}\right) \ln \left(1-y_{n}\right)\right]$,输出$y_k = \frac{1}{1+\exp{(-a_k)}}$,因此有

$$ \begin{aligned} & \frac{\partial E(\boldsymbol{w})}{\partial a_k} \\ =& \frac{\partial E(\boldsymbol{w})}{\partial y_k} \frac{\partial y_k}{\partial a_k} \\ =& \left(-\frac{t_k}{y_k} + \frac{1-t_k}{1-y_k}\right)\left(y_k(1-y_k)\right) \\ =& y_k - t_k \end{aligned} $$

对于K个二分类问题,与二分类问题类似,有$\frac{\partial E(\boldsymbol{w})}{\partial a_k} = y_k - t_k$。

对于多分类问题,由于误差函数$E(\boldsymbol{w}) = -\sum_{n=1}^N \sum_ {k=1}^K t_{nk} \ln{y_ k(\boldsymbol{x}_ n, \boldsymbol{w})}$,输出$y_ {k}(\boldsymbol{x}, \boldsymbol{w})=\frac{\exp \left(a_ {k}(\boldsymbol{x}, \boldsymbol{w})\right)}{\sum_{j} \exp \left(a_{j}(\boldsymbol{x}, \boldsymbol{w})\right)}$,因此有

$$ \begin{aligned} & \frac{\partial E(\boldsymbol{w})}{\partial a_{nk}} \\ =& \frac{\partial E(\boldsymbol{w})}{\partial y_{nk}} \frac{\partial y_{nk}}{\partial a_{nk}} \\ =& \left(-\frac{t_k}{y_k}\right)\left(y_{nk} - y_{nk}^2\right) \\ =& y_{nk} - t_{nk} \end{aligned} $$

可以看出,这些误差函数均具有性质$\frac{\partial E(\boldsymbol{w})}{\partial a_k} = y_k - t_k$,这一性质将会在误差反向传播中用到。

5.2.1 参数最优化

下面考虑寻找使得误差函数$E(\boldsymbol{w})$达到最小值的权重$\boldsymbol{w}$。

由于误差函数$E(\boldsymbol{w})$是$\boldsymbol{w}$的光滑函数,因此它的最小值点出现在误差函数梯度等于0的位置上,即

$$
\nabla E(\boldsymbol{w})=0
$$

但是梯度为0的点显然不都是最小值点。这些点被称为驻点(stationary point),可以被进一步分成极小值点(minima)、极大值点(maxima)和鞍点(saddle point)。

误差函数通常有多个不等价的极小值点,其中最小的被称为全局最小值点(global minimum);其余称为局部极小值点(local minimum)。在神经网络训练中,通常找到几个局部极小值点即可。

求解方程$\nabla E(\boldsymbol{w})=0$通常使用迭代的数值方法。大多数算法首先选择初始值$\boldsymbol{w}_0$,然后根据梯度信息迭代更新$\boldsymbol{w}$:

$$
\boldsymbol{w}^{(\tau+1)}=\boldsymbol{w}^{(\tau)}+\Delta w^{(\tau)}
$$

为了理解梯度信息的重要性,下一节将考虑误差函数基于泰勒展开的局部近似。

5.2.2 局部二次近似

考虑$E(\boldsymbol{w})$在点$\hat{\boldsymbol{w}}$处的泰勒展开(省略高次项):

$$
E(\boldsymbol{w}) \simeq E(\widehat{\boldsymbol{w}})+(\boldsymbol{w}-\widehat{\boldsymbol{w}})^{T} \boldsymbol{b}+\frac{1}{2}(\boldsymbol{w}-\widehat{\boldsymbol{w}})^{T} \boldsymbol{H}(\boldsymbol{w}-\widehat{\boldsymbol{w}})
$$

其中$\boldsymbol{b}$是$E$的梯度在$\hat{\boldsymbol{w}}$处的值,$\boldsymbol{H} = \nabla \nabla E$是Hessian矩阵,$\left.(\boldsymbol{H})_ {i j} \equiv \frac{\partial E}{\partial w _{i} \partial w _ {j}}\right| _ {\boldsymbol{w}=\widehat{\boldsymbol{w}}}$。

将上式在$\boldsymbol{w}$处取梯度,得到

$$
\nabla E \simeq \boldsymbol{b}+\boldsymbol{H}(\boldsymbol{w}-\widehat{\boldsymbol{w}})
$$

这是对距离点$\hat{\boldsymbol{w}}$充分近的$\boldsymbol{w}$的梯度的一个好的近似。

下面考虑在误差函数最小值点$\boldsymbol{w}^*$附近的局部二次近似。此时梯度为0,可以得到

$$ E(\boldsymbol{w}) \simeq E\left(\boldsymbol{w}^{*}\right)+\frac{1}{2}\left(\boldsymbol{w}-\boldsymbol{w}^{*}\right)^{T} \boldsymbol{H}\left(\boldsymbol{w}-\boldsymbol{w}^{*}\right) $$

这里Hessian矩阵在点$\boldsymbol{w}^*$处计算。

考虑Hessian矩阵的特征方程

$$ \boldsymbol{H} \boldsymbol{u}_{i}=\lambda_{i} \boldsymbol{u}_{i} $$

其中特征向量$\boldsymbol{u}_ {i}$构成了完备的单位正交集合(即$i\neq j$时$\boldsymbol{u}_ {i}^T \boldsymbol{u}_ {j} = 0$,且$\boldsymbol{u}_ {i}^T \boldsymbol{u}_{i} = 1$)。

下面对坐标系进行变换,使得坐标系原点变为$\boldsymbol{w}^ *$,坐标轴与特征向量对齐。将$\boldsymbol{w} - \boldsymbol{w}^ *$展开为特征值的线性组合

$$
\boldsymbol{w}-\boldsymbol{w}^{*}=\sum_{i} \alpha_{i} \boldsymbol{u}_{i}
$$

代入到误差函数中

$$ \begin{aligned} E(\boldsymbol{w}) & \simeq E\left(\boldsymbol{w}^{*}\right)+\frac{1}{2}\left(\boldsymbol{w}-\boldsymbol{w}^{*}\right)^{T} \boldsymbol{H}\left(\boldsymbol{w}-\boldsymbol{w}^{*}\right) \\ &= E\left(\boldsymbol{w}^{*}\right) + \frac{1}{2} \left(\sum_{i} \alpha_{i} \boldsymbol{u}_{i}\right)^T \boldsymbol{H} \left(\sum_{j} \alpha_{j} \boldsymbol{u}_{j}\right) \\ &= E\left(\boldsymbol{w}^{*}\right) + \frac{1}{2} \left(\sum_{i} \alpha_{i} \boldsymbol{u}_{i}\right)^T \left(\sum_{j} \alpha_{j} \boldsymbol{H} \boldsymbol{u}_{j}\right) \\ &= E\left(\boldsymbol{w}^{*}\right) + \frac{1}{2} \left(\sum_{i} \alpha_{i} \boldsymbol{u}_{i}\right)^T \left(\sum_{j} \alpha_{j} \lambda_j \boldsymbol{u}_{j}\right) \\ &= E\left(\boldsymbol{w}^{*}\right) + \frac{1}{2} \sum_{i} \sum_{j} \lambda_j \alpha_{i} \alpha_{j} \boldsymbol{u}_{i}^T \boldsymbol{u}_{j} \\ &= E\left(\boldsymbol{w}^{*}\right) + \frac{1}{2} \sum_{i} \lambda_i \alpha_{i}^2 \end{aligned} $$

误差函数等高线

如上图所示,$\alpha_i$即变换后的坐标系中的坐标,误差函数为常数的等高线在变换后的坐标系中为圆,在原坐标系中为椭圆,它的轴由$\boldsymbol{H}$的特征向量$\boldsymbol{u}_i$给出,长度与对应的特征值$\lambda_i$的平方根成反比。

下面证明$\boldsymbol{w}^*$处的Hessian矩阵$\boldsymbol{H}$是正定的(positive definite)。$\boldsymbol{H}$正定当且仅当

$$
\boldsymbol{v}^{T} \boldsymbol{H} \boldsymbol{v}>0 \quad \text{对所有的} \boldsymbol{v} \neq 0 \text{都成立}
$$

将向量$\boldsymbol{v}$写成Hessian矩阵特征向量的线性组合

$$
\boldsymbol{v}=\sum_{i} c_{i} \boldsymbol{u}_{i}
$$

代入得到

$$
\boldsymbol{v}^{T} \boldsymbol{H} \boldsymbol{v}=\sum_{i} c_{i}^{2} \lambda_{i}
$$

因此$\boldsymbol{H}$是正定的当且仅当它的所有特征值均严格为正。

由于驻点$\boldsymbol{w}^*$是最小值,因此$\boldsymbol{H}$是正定矩阵,它的所有特征值均严格为正。(逻辑是这样的吗?)

5.2.3 使用梯度信息

下面论述使用梯度信息可以加快找到极小值点的速度。

在误差函数的二次近似中

$$
E(\boldsymbol{w}) \simeq E(\widehat{\boldsymbol{w}})+(\boldsymbol{w}-\widehat{\boldsymbol{w}})^{T} \boldsymbol{b}+\frac{1}{2}(\boldsymbol{w}-\widehat{\boldsymbol{w}})^{T} \boldsymbol{H}(\boldsymbol{w}-\widehat{\boldsymbol{w}})
$$

误差曲面由$\boldsymbol{b}$和$\boldsymbol{H}$确定,它们总共包含$O(W^2)$个元素,其中$W$是$\boldsymbol{w}$的维度,因此这个极小值点的位置依赖于$O(W^2)$个参数。为了找到极小值,至少需要进行$O(W^2)$次函数求值, 每次求值都需要$O(W)$个步骤,因此求最小值需要的计算复杂度是$O(W^3)$。

如果使用梯度信息,每次计算$\nabla E$都会带来$W$条信息,因此找到函数的极小值只需要计算$O(W)$次梯度,通过误差反向传播算法,每次计算只需要$O(W)$步,因此这种方法可以在$O(W^2)$个步骤内找到最小值。

5.2.4 梯度下降最优化

最简单的梯度学习方法是,每次权值更新时都向负梯度方向移动一小步:

$$
\boldsymbol{w}^{(\tau+1)}=\boldsymbol{w}^{(\tau)}-\eta \nabla E\left(\boldsymbol{w}^{(\tau)}\right)
$$

其中$\eta > 0$被称为学习率。

上述算法每一步都需要处理整个数据集,在每一步,$\boldsymbol{w}$都会沿着误差函数下降最快的方向移动,因此这种方法被称为梯度下降法(gradient descent)。这种方法实际上是很差的。

共轭梯度法(conjugate gradient)和拟牛顿法(quasi-Newton)更加高效,它们具有这样的性质:误差函数在每次迭代时都是减小的,除非$\boldsymbol{w}$到达了局部或者全局最小值。

梯度下降法的在线版本更适用于实际应用中用大规模数据集训练神经网络,这种方法称为随机梯度下降(stochastic gradient descent)。此时误差函数由一组数据点的似然函数组成:

$$
E(\boldsymbol{w})=\sum_{n=1}^{N} E_{n}(\boldsymbol{w})
$$

$\boldsymbol{w}$的更新可以每次只依赖于一个(或一小部分)数据点:

$$
\boldsymbol{w}^{(\tau+1)}=\boldsymbol{w}^{(\tau)}-\eta \nabla E_{n}\left(\boldsymbol{w}^{(\tau)}\right)
$$

这种方法的优点是:

  1. 可以顺序处理数据,也可以随机有重复选择数据
  2. 可以高效处理数据中的冗余性
  3. 可以逃离局部极小值点,因为整个数据集的关于误差函数的驻点通常不是各个数据点自己的驻点

 评论