06论文笔记《Reducing the Dimensionality of Data with Neural Networks》
通过神经网络实现降维
简介:
高维数据通过使用一个小中心层(神经元个数小于维数)的多层神经网络可以转换为低维数据,并可以通过此网络重建输入向量。梯度下降法可以用于在这个“自编码网络“ 调整参数,只是这种机理只在初始权值接近最优参数时有效 。
运用:
特征降维广泛应用于分类、可视化、通信和高维数据存储过程。
创新点:
运用神经网络进行降维;
概括介绍自编码器编码、解码过程:
→编码→
→解码→
将原有的高清图片压缩成信息量小,但又包含了图片所有特征的图片(提取最具代表性的信息),解压时再将特征图片还原成最初的图片;
特点:
将输入的数据x与输出的数据x’做对比,求出误差值,再通过反向传播训练神经网络;
只用到了输入数据x,并未用到输入x对应的数据标签,因此自编码也是一种非监督学习;
最中间提取的特征及为最终降维后的特征;
RBM(受限波尔兹曼机,《受限波兹曼机》——张春霞):
是一类具有两层结构,堆成连接且无自反馈的随机神经网络模型,层间全连接,层内无连接,是一种有效的特征提取的方法,结构如下图;
相邻层之间是相连的,但是同层之间的节点是不相连的;也就是说,不存在层内通信,这就是 RBM 中的限制所在。每一个节点都是处理输入数据的单元,每个节点通过随机决定是否传递输入。
每个输入单元以数据集样本中的低级特征作为输入。例如,对于一个由灰度图组成的数据集,每个输入节点都会接收图像中的一个像素值。若数据集有 784 个像素点,所以处理它们的神经网络必须有 784 个输入节点。
具体过程其实和常见的神经网络是一样,略;
重点是重构(Reconstruction):
RBM 如何以一种无监督的方式通过自身来重建数据,这使得在不涉及更深层网络的情况下,可见层和第一个隐藏层之间会存在数次前向和反向传播。
在重建阶段,第一个隐藏层的**状态变成了反向传递过程中的输入。它们与每个连接边相同的权重相乘,就像 x 在前向传递的过程中随着权重调节一样。这些乘积的和在每个可见节点处又与可见层的偏置项相加,这些运算的输出就是一次重建,也就是对原始输入的一个逼近。
因为 RBM 的权重是随机初始化的,所以,重建结果和原始输入的差距通常会比较大。将 r 和输入值之间的差值看做重建误差,然后这个误差会沿着 RBM 的权重反向传播,以一个迭代学习的过程不断反向传播,直到达到某个误差最小值。
在前向传递过程中,给定权重的情况下 RBM 会使用输入来预测节点的**值,或者输出的概率p(a|x; w)。
在反向传播的过程中,当**值作为输入并输出原始数据的预测时,RBM 尝试在给定**值 a 的情况下估计输入 x 的概率,它具有与前向传递过程中相同的权重参数。这第二个阶段可以被表达为 p(x|a; w)。
这两个概率估计将共同得到关于输入 x 和**值 a 的联合概率分布(给定 a 时 x 的概率以及给定 x 时 a 的概率,可以根据 RBM 两层之间的共享权重而确定)p(x, a)。
论文中体现为:
z为归一化函数;
能量函数:随机神经网络中,引入了能量函数。能量函数是描述整个系统状态的一种测度。系统概率分布越集中,系统的能量越小。反之,系统概率分布越趋于均匀分布,则系统的能量越大。能量函数的最小值,对应于系统的最稳定状态。
随机神经网络的核心思想就是在网络中加入概率因素,网络并不是确定的向能量函数减小的方向演化,而是以一个较大概率向这个方向演化,以保证正确的迭代方向,能量函数增大的概率也存在,以防止陷入局部极小值。
类比于普通神经网络中的BP算法,在反向传播,优化组合问题中,最常用的方法就是梯度下降法。一味追求网络误差或能量函数的降低,使得搜索只具有“下山”的能力,而不具备“爬山”的能力。所谓“爬山”的能力,就是当搜索陷入局部最优时,还能具备一定的“翻山越岭”的能力,能够从局部最优中逃出来,继续搜索全局最优。
玻尔兹曼机就是通过一定的概率保证搜索陷入局部最优时能够具有一定的“爬山”能力
重建跟普通网络做分类问题有所不同:
分类预测出离散的标签以应用在给定的输入样本上,而重建是在预测原始输入的概率分布。
分类学习将输入映射到标签上。而 RBM 的输入数据和重建结果是不同形状的正态曲线,它们只有部分重叠。
为了衡量输入数据的预测概率分布和真实分布之间的距离,RBM 使用 KL 散度来度量两个分布的相似性。KL 散度测量的是两条曲线的非重叠区域。下图是输入的概率分布p及重构的概率分布q。
迭代地根据它们产生的误差来调节权重,RBM 学会了逼近原始数据。学习过程就像两个概率分布在逐步重合。
从某种意义上而言,学习重建的过程就是学习在给定的图像集合下,哪些像素会倾向于同时出现。
模型举例:
首先是预处理包含了 学习 一个受限玻尔兹曼机栈(堆叠的RBM)。一层RBM学习过的数据作为下一层RBM的输入,然后使用BP算法调整参数。
得出的实验结果优于PCA;
实验结果:
1.编码器400-200-100-50-25-6和一个合成解码器
由六维深度自编码器重建,平均方差是 1.44,
使用Logistic PCA方法重建使用6个主元,平均方差是 7.64;
使用Logistic PCA方法重建使用18个主元,平均方差是 2.45.
标准PCA方法重建,平均方差 是5.90
2.使用784-1000-500-250-30 自编码器 提取所有的MINIST训练集的编码
由30维自编码器重建,平均方差 是3.00;
使用30维 Logistic PCA,平均方差 是8.01;
标准PCA方法重建,平均方差 是13.87;
3.使用 625-2000-1000-500-30自编码器 利用线性输入元为灰度图像块(Olivetti face data set) 产生30维编码。
由30维自编码器重建,均方差是126;
使用30维 PCA重建;均方差是135.
PCA主成分分析简介
用途:降维中的一种常用的手段
目标:提取最有价值的信息(基于方差)
问题:降维后的数据的意义?
目的:
→→→→→
原始的数据在一个维度上分布特别密集,PCA找出可降维的方向,将这些点扩散;基于方差找最大的方向;
优化目标:将一组N维向量降为K维,(K>0,K<N),目标是选择K个单位正交基,使原始数据变换到这组基上后,各字段两两间协方差为0,字段的方差尽可能大;