自动编码机是一种出入层节点数等于输出层节点数的三层神经网络,只有中间一层隐藏层。
与http://blog.youkuaiyun.com/scarecrow398966925/article/details/24178931文章中描述的三层网络类似,关于神经网络的前向传到及反向传播训练可以在上述连接的文章中有详细的讲解。自动编码机与之前描述的神经网络不同的是自动编码机要求网络的输出尽量等于输入。即zi尽量等于xi,这样在隐藏层的yi就可以看成是一种输入xi的另一种表现形式,因为yi可以通过一层变换得到近似于xi的zi,所以可以把yi看成是xi的编码。这就是自动编码机的名字的由来。可以通过BP算法训练这个网络,得到输入的一种编码形式。但是有时候我们需要加入一些其他的限制来得到我们需要的更好的结果,比如权重衰减和稀疏限制。
权重衰减的意思是对每条边的权重加上一些约束,防止权重变化过大,产生过拟合。
单个样本的代价函数如下: