在之前的博文中,我总结了神经网络的大致结构,以及算法的求解过程,其中我们提高神经网络主要分为监督型和非监督型,在这篇博文我总结下一种比较实用的非监督神经网络——稀疏自编码(Sparse Autoencoder)。
1.简介
上图是稀疏自编码的一般结构,最大的特点是输入层结点数(不包括bias结点)和输出层结点数相同,而隐藏层结点个数少于输入层和输出层结点的个数。该模型的目的是学习得到 的函数,然后得到原始数据的低维表示(也就是隐藏层结点)。模型能够得到原始数据较好的低维表示的前提是输入数据中存在一定的潜在结构,比如存在相关性,这样稀疏自动编码可以学习得到类似于主成分分析(PCA)的低维表示。如果输入数据的每一个特性都是相互独立的,最后学习得到的低维表示效果比较差。
在监督神经网络中,训练数据为(x(i),y(i)),我们希望模型能够准确的预测y,从而使得损失函数(具体实际需求建立不同的损失函数)的值最小,当然,为了避免过拟合,我们引入了惩罚项。在非监督网络中,训练数据是x(i),没有标注的样本值(即y值),但是为了构建损失函数,我们仍然需要y值,在稀疏自动编码中y(i) = x(i)。在我看来,稀疏自动编码就是一般神经网络的特例,只是要求输入值和输出值近似,另外使得隐藏层变的稀疏。