Auto Encoder
Last updated
Last updated
自编码(Autoencoder)-深度学习 AUtoEncoder相当于reconstruction,需注意并不是重建所有的样本,只是重建符合数据分布的X。 隐藏层的节点比输入层少,相当于做了压缩,如果激活函数不是sigmoid函数,而是线性的话,则等价于PCA。
稀疏AUtoEncoder是对模型加了L1范数,导致隐藏层很多节点为0 ,注意是隐藏层的输出为0。
优化目标函数:
这里是对h做L1范数 x为样本数据,h为一个用于表示样本数据的稀疏特征集,W为一个将特征集从特征空间转换到样本数据空间的基向量。
有了以上两种技巧,稀疏编码算法修改如下: 1. 随机初始化A 2. 重复以下步骤直至收敛 1. 随机选取一个有2000个patches的迷你块 2. 如上所述,初始化s 3. 根据上一步给定的A,求解能够最小化J(A,s)的s 4. 根据上一步得到的s,求解能够最小化J(A,s)的A 通过上述方法,可以相对快速的得到局部最优解。
稀疏编码获取的完备的基向量不一定线性无关。
就是多个隐藏层,逐层贪婪的学习。