自编码器原理以及相关算法 Basic Auto-Encoder,Regularized Auto-Encoder,Denoising Auto-Encoder
Posted 晴堂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自编码器原理以及相关算法 Basic Auto-Encoder,Regularized Auto-Encoder,Denoising Auto-Encoder相关的知识,希望对你有一定的参考价值。
在机器学习中,自编码器的使用十分广泛,掌握其原理很重要。网上有很多资料对其讲解,
我这里把自己的理解记录下来,但求直观简单明确。
Auto-Encoder这里我简称AE,我们可以简单的将其认为是一个三层的网络,分别为输入层(x),
中间隐含层(h),输出层(y)。其结构如下图所示:
图1
其中输入层x有n个,中间隐含层有m层,输出层同样有n层。W为x到h的映射矩阵,是m乘n阶矩阵,
W(带波浪号)为h到y的映射矩阵,是W的逆矩阵,也就是n乘m阶矩阵。
AE的结构其实很简单,首先简单说一下:中间隐含层h的数据低于输入层和输出层,也就是x>h<y,x=y,
这里的xhy表示各层数据个数。根据输入层x到隐含层h的矩阵W求出h,再根据隐含层h到输出层y的映射矩阵求出y。
对于一个AE来说,重点就是求出矩阵W,一个好的W是应该保证x完全等于y,可实际上是很难的,尤其
是我们输入层x数据量可能有几百个,这个时候x和y的差别就可以说明W的好坏程度。我们要做的就是求出矩阵W,
并保证xy的差别尽可能小。也可以用下图表示:
图2
其中吃code就是隐含层,reconstruction就是输出层,Error就是输入层和输出层的差别。encoder和decoder就是编码和解码过程。
以上是关于自编码器原理以及相关算法 Basic Auto-Encoder,Regularized Auto-Encoder,Denoising Auto-Encoder的主要内容,如果未能解决你的问题,请参考以下文章
[自编码器] [稀疏自编码器] Auto Encoder原理详解