基于无监督学习的自编码器实现

目前许多有监督学习算法,如SVM,DNN或是boosting,决策树等,都在工业界分类或决策任务上取得了不错的成果。但是这些有监督学习需要大量带标签的数据,对数据进行上标签又是一个需耗费人力与时间的任务。有许多数据都是不带标签的,因此我们可利用无监督学习对其进行聚类或特征提取。利用无监督学习得到的特征结果也可应用到带标记数据较少的有监督学习任务中,提高其分类性能。

【基于无监督学习的自编码器实现】项目就将介绍基于无监督学习的一个简单应用—— 自编码器 ,一个可用于降维或者提取特征的神经网络。

理论简介:

无监督学习

无监督学习的目的是利用无标记数据推断出数据内部隐藏的结构特征。与有监督学习从有标记的数据中学到一个有正确答案的模型不同,由于无监督学习的数据是未经标记的,因此在学习过程中就没有所谓误差或者指导信号去评估一个可能的解决方案。
我们可以从下图中看出无监督学习与有监督学习的区别:

《基于无监督学习的自编码器实现》 supervised learning
《基于无监督学习的自编码器实现》 unsupervised learning

与有监督学习有明确的目标输出不同,无监督学习没有给定目标输出,而是去提取数据本身的静态结构特征,如在上图中,有监督学习的目的是可对输入的图形进行分类,区分这些图形是什么形状的,但是无监督学习开始训练前,对于机器来说这些图形没有什么区别,但在经过训练后,我们能够获得这些数据的结构特征,根据这些图形各自的特点,根据图形的相似点对其进行聚类。要注意的是,在无监督学习之后,我们也不知道这些图形分别属于什么几何形状,仅是根据物以类聚的概念,将其划分为几个不同的集群。

如上描述的,就是一个常见的无监督学习 —— 数据聚类。在人工神经网络中,自我组织映射和适应性共振理论 也是常用的无监督学习,也有许多网络是利用无监督学习对数据进行特征提取,如在图像识别的应用中,可用无监督学习提取图片中物体的边缘特征。

自编码器

《基于无监督学习的自编码器实现》 自编码器

神经网络实现手写字符识别系统这门课程中,我们已经介绍了如何运用有监督学习的人工神经网络。在该门课中我们介绍了,如何利用目标输出与网络实际输出的误差进行反向传播,调节每一层间的权值矩阵。自编码器是基于无监督学习为对数据进行更加有效的编码的应用, 自编码器将目标输出等同于输入,同样也是使用误差反向传播机制进行权值调整。自编码器是一个数据降维压缩算法,算法训练的结果是拟合一个恒等函数h​w,b​​(x)=x , 即通过自编码器的训练后,decoder(encoder(x))=x

目前自编码器主要有数据降噪和为数据可视化而降维两个方面的应用。这里我们设置的自编码器是具有一层隐藏节点的三层全连接神经网络,实现的是为数据可视化而降维这方面的应用,上图中展示的就是对数字图像 ‘3’ 降维后载重现的效果。

《基于无监督学习的自编码器实现》 自编码器网络

该项目,我们实现的是基于minist手写体数字数据库中的500张图片,每个数字 (0-9)都有其对应的50张手写体图片,图片的维度为28 * 28,在我们设置的网络中,手写体数字图片是作为网络的外部输入结点,内部输入节点设置为1个,隐藏层结点为32个,输出结点与外部输入节点个数一致。 即使通过我们的训练的自编码器,可将原始数据的维度从784 降维至 32。

在我们的自编码器的三层神经网络中,根据网络的输入前向计算网络中所有节点的值时,所用的激活函数为sigmoid函数:

《基于无监督学习的自编码器实现》 图片.png

​​
《基于无监督学习的自编码器实现》 sigmoid function

故在前向计算过程中,神经网络中隐藏层节点的值为:

《基于无监督学习的自编码器实现》 图片.png

输出层的节点值为:

《基于无监督学习的自编码器实现》 图片.png

自编码器网络计算实际输出与输入值之间的误差函数(Cost function)C为:

《基于无监督学习的自编码器实现》 图片.png

故在误差反向传播时,第ll层的δ值为:

《基于无监督学习的自编码器实现》 图片.png

这里所实现的自编码器并没有对编码层(隐藏层)作稀疏限制,若加上稀疏限制使编码层具有稀疏性,则在误差代价函数和误差反向传播就要做相应的修改。

稀疏性:只有很少的几个非零元素或只有很少的几个远大于零的元素

编码实现:

  • 部分函数的实现:

    • 这里介绍的自编码器作为一个简易的三层神经网络应用,在计算过程中也涉及到了前向计算及误差反向传播。将介绍如何利用Python实现这两个主要步骤。
  • 数据预处理;

  • 自编码器训练过程;

关于具体的开发详情以及代码详解,点击【基于无监督学习的自编码器实现】即可进行查看了~

    原文作者:实验楼
    原文地址: https://www.jianshu.com/p/a0e405dffa3a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞