5.2 网络训练

来源:互联网 发布:tps跨境电商是网络传销 编辑:程序博客网 时间:2024/06/15 18:19

5.2 网络训练

1、误差函数

最简单的误差函数是平方和误差函数,即:

E(ω)=12n=1Ny(xn,ω)tn

而现在我们要从概率的角度考虑误差函数的选择。
⾸先考虑回归问题,只考虑⼀元⽬标变量 t 的情形,其中 t 可以取任何实数,我们假定 t 服从⾼斯分布,均值与 x 相关,由神经⽹络的输出确定,即:
p(tx,ω)=N(ty(x,ω),β1)

其中 β 是⾼斯噪声的精度(⽅差的倒数)。给定⼀个由 N 个独⽴同分布的观测组成的数据集 X={x1,x2...xn} ,以及对应的⽬标
t={t1,t2...tn} ,可以构造对应的似然函数:
p(tX,ω,β)=n=1Np(tnxn,ω,β)

取负对数,就得到了误差函数:
β2n=1N{y(xn,ω)tn}2N2lnβ+N2ln(2π)

在神经⽹络的⽂献中,通常考虑最⼩化误差函数⽽不是最⼤化(对数)似然函数,因此这⾥我们遵循这个惯例。⾸先考虑 ω 的确定。最⼤化似然函数等价于最⼩化平⽅和误差函数:
E(ω)=12n=1N{y(xn,ω)tn}2

通过最小化误差函数得到的 ω 记作 ωML,因为它对应着最大似然法。注意,由于神经网络中 y(x,ω) 的非线性常导致 E(ω) 不是凸函数,所以得到的结果可能是局部最优解。
得到 ωML后,β 可以通过最⼩化似然函数的负对数的⽅式求得,结果为:
1βML=1Nn=1N{y(xn,ωML)tn}2

现在考虑二分类问题,我们考虑⼀个具有单⼀输出的⽹络,它的激活函数是 logistic sigmoid 函数:

y=σ(a)=11+exp(a)

从而 0y1,可以用 y(x,ω) 表示 p(C1x),则 p(C2x) 表示为 1y(x,ω)。如果给定了输⼊,那么⽬标变量的条件概率分布是⼀个伯努利分布,形式为:
p(tx,ω)=y(x,ω)tn(1y(x,ω))1tn

考虑⼀个由独⽴的观测组成的训练集,那么由负对数似然函数给出的误差函数就是⼀个交叉熵( cross-entropy )误差函数,形式为:

E(ω)=n=1N{tnlnyn+(1tn)ln(1yn)}

扩展到K个二分类问题,可以使用K个输出的神经网络,每个二分类都关联一个二元目标变量 tk={0,1} ,则条件概率分布为:
p(tx,ω)=k=1Kyk(x,ω)tk(1yk(x,ω))1tk

误差函数为:
E(ω)=n=1Nk=1K{tnklnynk+(1tnk)ln(1ynk)}

最后考虑标准的多分类问题,每个输入被分到K个互斥的类别中,误差函数为:
E(ω)=n=1Nk=1Ktnklnynk

输出单元激活函数(对应于标准链接函数)是下⾯的 softmax 函数:
y(x,ω)=exp(ak(x,ω))jexp(aj(x,ω))

总⽽⾔之,根据解决的问题的类型,关于输出单元激活函数和对应的误差函数,都存在⼀个⾃然的选择。对于回归问题,我们使⽤线性输出和平⽅和误差函数,对于(多类独⽴的)⼆元分类问题,我们使⽤ logistic sigmoid 输出以及交叉熵误差函数,对于多类分类问题,我们使⽤ softmax 输出以及对应的多分类交叉熵错误函数。对于涉及到两类的分类问题,我们可以使⽤单⼀的 logistic sigmoid 输出,也可以使⽤神经⽹络,这个神经⽹络有两个输出,且输出激活函数为 softmax 函数。

2、参数最优化

下面考虑如何找到使 E(ω) 最小的权向量 ω,由于 E(ω) 是光滑连续函数,它的最小值一定在 E=0 处,但由于 E(ω) 不是凸函数,会有许多极小值点,并且由于权空间对称性,每个极小值点都存在 M!2M 个等价点,因此无法找到使误差函数最小的解析解。只有通过迭代的方法。
首先为权向量选择某个初始值 ω0 ,然后在权空间中进⾏⼀系列移动,形式为:

ω(γ+1)=ω(γ)+Δω(γ)

对于权向量更新 Δω(γ) 的选择,许多算法使用了梯度信息,为了了解梯度信息的重要性,有必要考虑误差函数基于泰勒展开的局部近似。

3、局部二次近似

考虑 E(ω) 在权空间内某点 ω 处的泰勒展开:

E(ω)E(ω)+(ωω)Tb+12(ωω)TH(ωω)

其中立方项和更高阶的项都被忽略,b被定义为 E(ω)ω 处的梯度:
b=E|ω=ω

Hessian矩阵 H=E 的值为:
Hij=Eωiωj|ω=ω

根据公式 Eak=yktk,得到梯度的近似为(真不知道怎么算出来的):
Eb+H(ωω)

考虑⼀个特殊情况:在误差函数最⼩值点 ω 附近的局部⼆次近似。在这种情况下没有线性项,因为在 ωE=0E(ω) 的泰勒展开变成了:

E(ω)E(ω)+12(ωω)TH(ωω)

这⾥ Hessian 矩阵在点 ω 处计算。为了⽤⼏何的形式表⽰这个结果,考虑 Hessian 矩阵的特征值⽅程:
Hui=λiui

其中特征向量 ui 构成了完备的单位正交集合,即:
uTiuj=δij

我们现在把 (ωω) 展开成特征值的线性组合的形式:
(ωω)=iαiui

这可以被看成坐标系的变换,坐标系的原点变为了 ω ,坐标轴旋转,与特征向量对齐(通过列为 ui 的正交矩阵)。
误差函数可以写为:
E(ω)=E(ω)+12iαiui


对于⼀维权空间,驻点 ω 满⾜下⾯条件时取得最⼩值:
2Eω2|ω>0

对应的 D 维的结论是,在 ω 处的 Hessian 矩阵是正定矩阵。

4、梯度下降最优化

最简单的使⽤梯度信息的⽅法是:

ω(γ+1)=ω(γ)+ηE(ω(γ))

在每⼀步,权值向量都会沿着误差函数下降速度最快的⽅向移动,因此这种⽅法被称为梯度下降法( gradient descent )或者最陡峭下降法( steepest descent )。虽然这种⽅法在直觉上看⽐较合理,但是实际上可以证明它是⼀个很差的算法原因如下:
1、标准梯度下降是在权值更新前对所有样例汇总误差
2、在标准梯度下降中,权值更新的每一步对多个样例求和,需要更多的计算。
3、由于使用真正的梯度,标准梯度下降对于每一次权值更新经常使用比较大的步长。
4、如果标准误差曲面有多个局部极小值,可能陷入这些局部极小值中。
目前有多种优化的梯度下降法,如共轭梯度法( conjugate gradient )、拟⽜顿法( quasi-Newton )。实际中应用最多的是随机梯度下降法,又称顺序梯度下降法,它是梯度下降法的在线版本,权向量的每次更新只依赖于一个数据点,这种更新在数据集上重复进行。
与批处理相比,在线梯度下降更加高效,同时避免了陷入局部最小值。

0 0
原创粉丝点击