自编码器原理以及相关算法 Basic Auto-Encoder,Regularized Auto-Encoder,Denoising Auto-Encoder

来源:互联网 发布:mac使用windows软件 编辑:程序博客网 时间:2024/06/05 09:03

        在机器学习中,自编码器的使用十分广泛,掌握其原理很重要。网上有很多资料对其讲解,

我这里把自己的理解记录下来,但求直观简单明确。

        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就是编码和解码过程。



     


0 0
原创粉丝点击