【UFLDL】Ex2-Vectorization 矢量化编程

UFLDL系列教程是Andrew Ng教授在网站开设的深度学习课程,主要介绍了无监督特征学习和深度学习的一些相关知识,并且还配有相关的习题可以练习,是非常好的深度学习入门教程。该课程主要的内容有以下几大内容:

  • 稀疏自编码器
  • 矢量化编程实现
  • 预处理:主成分分析与白化
  • Softmax回归
  • 自我学习与无监督特征学习
  • 建立分类用深度网络
  • 自编码线性解码器
  • 处理大型图像

这里将介绍第二部分内容矢量化编程(Vectorization)。

在第一部分的稀疏自编码器编程过程中就已经采用了矢量化编程的方法,这一部分采用了不同的训练样本MNIST Dataset 。这个数据集包括60000张手写的数字黑白图片以及对应的数字label,部分手写数字如下图所示:
MNIST Dataset

每张图片的大小为28*28,因此设置不同的输入层和隐藏层参数:

visibleSize = 28*28;
hiddenSize = 196;

同样采用前面的sparseAutoencoderCost函数和minFunc中的L-BFGS方法来对整个模型参数进行优化,在迭代400次后,得到的结果如下:

weights结果

猜你喜欢

转载自blog.csdn.net/zzj__/article/details/78461950