首页 理论教育 探讨分类分析的高级技巧

探讨分类分析的高级技巧

时间:2023-06-24 理论教育 版权反馈
【摘要】:本节介绍一种训练多层神经网络的高维数据降维方法,是主成分分析[2]的非线性扩展,该方法使得深度自编码网络可以学习低维的编码,并且其效果优于PCA 。一个单层的二进制特征不是建模图像的最好的方法。第一层的特征检测子变成了两个限制性玻尔兹曼机的可视层节点。全局的微调阶段,把节点的随机激活值用确定性的实值概率来替代,并使用反向传播算法类微调用于优化重构的权重。

探讨分类分析的高级技巧

本节介绍一种训练多层神经网络的高维数据降维方法,是主成分分析(principal component analysis, PCA)[2]的非线性扩展,该方法使得深度自编码网络可以学习低维的编码,并且其效果优于PCA 。

该方法的基本思想是:用一个自适应多层的编码网络把高维输入数据转换为低维的编码,并使用一种相似的解码网络从低维编码来重构输入数据。首先,使用随机权重初始化这两个网络,它们可以利用输入数据和重构数据的误差来同时训练。通过链式法则和误差的反向传播(误差首先通过解码网络,再通过编码网络),可以获取训练所需要的梯度,这个系统被称为“自动编码器”。

在有多个隐藏层的非线性自动编码器网络中,权重的优化是很困难的。如果初始化权重取值偏大,自动编码器通常会找到目标函数的一个较差的局部最小值;如果初始化权重取值偏小,那么在前几层的梯度就会过小,使得训练多个隐藏层的自动编码器很困难。如果初始化权重接近一个较好的解,那么梯度下降法才会有效。

一个二进制向量的集合(例如图像)可以使用两层网络来建模,这种网络叫做限制性玻尔兹曼机(restricted Boltzmann machine,RBM)[7,8],通过使用对称权重,随机二进制像素连接随机二进制特征检测子(feature detectors)。这些像素点对应RBM的可视层节点(visible units),因为它们的状态是可观察的;特征检测子对应隐藏层节点(hidden units)。一个可视层节点和隐藏层节点联合的配置(v,h)具有的能量(energy)[9]可以用下面的公式表示:

vi和hj是像素i和特征j的状态,bi和bj分别是它们的偏置,wij是它们的连接权重。通过这个能量函数,网络给每张图像分配一个概率[3]。通过调整权重和偏移,提高一张训练图像的概率以降低这张图像的能量。给定一个训练图像,每个特征检测子j的二进制状态hj以概率设置为1,其中,σ(x)是logist函数1/[1+exp(—x)], bj是j的偏置,vi是像素i的状态,wij是i和j的权重。一旦隐藏层单元的二进制状态确定,一种“confabulation”就 产生了,每个vi的状态就以概设置为1,其中,bi是节点i的偏置,隐藏层节点的状态就会再次更新,所以它们表示这种“confabulation”的特征,权重的变化如下式所示:

(www.xing528.com)

其中,ε是学习率。

一个单层的二进制特征不是建模图像的最好的方法。在学习了一层的特征检测子后,把它们的激活值作为第二层神经网络的输入。第一层的特征检测子变成了两个限制性玻尔兹曼机的可视层节点。这种层对层的学习可以重复多次。只要特征检测子的数量没有减少,并且初始化正确,添加额外的层数可以提高模型对于训练数据的对数概率的下界。如果高层的特征检测子的数量减少,这个下界的性质就不成立了,但是,层对层的训练算法是一种预训练深层自动编码网络的有效方法。每层的特征都捕捉了下一层节点的激活值强而高阶的相关性。

在预训练完多层的特征检测子后,这个模型可以被“unfolded”(图5-17),来产生一个编码网络和解码网络,这两个网络使用相同的权重。全局的微调阶段,把节点的随机激活值用确定性的实值概率来替代,并使用反向传播算法类微调用于优化重构的权重。

图5-17 unfolded模型

对于连续值数据,第一层的RBM的隐藏层节点仍然是二进制的,但是可视层节点使用带有高斯噪声的线性单元来替代二进制单元。如果噪声具有单元方差,那么隐藏层节点的随机更新规则保持不变,可视层节点的采样则从单位协方差矩阵和均值为bi+Sj(hjwij)的高斯分布中得到。预训练和微调的细节、方法在实际数据集上的应用实验可以参考文献[6]的在线补充资料。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈