稀疏自动编码器一点知识
1. 了解稀疏编码器的原理,以下是收获:
l 本身就是一种BP神经网络。它是一种无监督学习算法。
l 神经网络目标值等于输出值x,也就是模拟一个恒等函数。这样做的好处是,网络的隐含层能够很好的代替输入的特征,因为它能够比较准确的还原出那些输入特征值。
网络结构图如下所示:
自编码器要求输出尽可能等于输入,并且它的隐藏层必须满足一定的稀疏性,即隐藏层不能携带太多信息。所以隐藏层对输入进行了压缩,并在输出层中解压缩。
举个例子,如果我们输入一张10*10的图像,这样就有100个像素,所以输入层和输出层的节点数量就是100。而我们取隐藏层节点数量为25。注意,这样就会迫使隐藏层节点学习得到输入数据的压缩表示方法,逼得隐藏层要用25维数据重构出100维的数据。这样也就完成了学习过程。
这和我们学习的过程很像,假设一共有100个考点,但是只允许你用25个知识点概括所有这些考点,这就是学习的过程。
l 为了保证隐藏层的稀疏性,稀疏自编码神经网络的代价函数是BP神经网络的代价函数加上一个稀疏性惩罚项:
其中: