自编码器
自编码器是一种无监督学习技术,利用 反向传播算法 使得输出值(输入数据的高效表示)等于输入值的人工神经网络,它先将输入压缩成潜在空间表征,然后通过这种表征来重构输出。
自编码是一种数据压缩算法,其中压缩和解压功能是:1)数据特定的,2)有损的,3)从例子中自动学习而不是由人工设计。此外,在几乎所有使用术语“自动编码器”的情况下,压缩和解压缩功能都是由神经网络来实现的。
自编码器的结构如下图:
自编码器由编码器和解码器两部分组成。其中,编码器能将输入压缩成潜在空间表征,用编码函数h=f(x)表示;解码器能够重构来自潜在空间表征的输入,用加码函数r=g(h)来表示。所以,整个自编码器可以用函数g(f(x))=r来描述,其中输入r与原始输入x相近。
用处:
1) 可用来降维,通过设置合适的维度和稀疏约束,它可以学习到比PCA等更有意思的数据投影。原因:输入数据的这一高效表示成为编码,编码的维度一般远小于输入数据。限制h的维度使其小于输入x,这种情况下称作有损自编码器。通过训练有损表征,使得自编码器能学习到数据中最重要的特征。