UFLDL深度学习笔记 (三)无监督特征学习

1. 主题思路

“UFLDL 无监督特征学习”本节全称为自我学习与无监督特征学习,和前一节softmax回归很类似,所以本篇笔记会比较简化,主题思路和步骤如下:

  • 把有标签数据分为两份,先对一份原始数据做无监督的稀疏自编码训练,获得输入层到隐藏层的最优化权值参数\(W, b\);
  • 把另一份数据分成分成训练集与测试集,都送入该参数对应的第一层网络(去掉输出层的稀疏自编码网络);
  • 用训练集输出的特征作为输入,训练softmax分类器;
  • 再用此参数对测试集进行分类,计算出分类准确率。

后面两个步骤和前一节softmax回归相同,区别仅仅是输入变成了原始数据的稀疏自编码隐藏层激活值。

特征提取网络组合形态

2. 本节练习不需要公式推导

3. 代码实现

根据前面的步骤描述,我们要实现对有监督数据的特征提取,为了报出稀疏自编码模块sparseAutoencoderCost.m的独立性,单独写一个feedForwardAutoencoder.m模块来实现。代码是不是非常简单?

function [activation] = feedForwardAutoencoder(theta, hiddenSize, visibleSize, data)
W1 = reshape(theta(1:hiddenSize*visibleSize), hiddenSize, visibleSize);
b1 = theta(2*hiddenSize*visibleSize+1:2*hiddenSize*visibleSize+hiddenSize);
m = size(data,2);
activation = sigmoid(W1*data + repmat(b1,1,m));
end
function sigm = sigmoid(x)sigm = 1 ./ (1 + exp(-x));
end

从UFLDL原有代码中可以发现分类标签从0-9移动到了1-10,原因在于matlab的数组索引从1开始,最后做softmax判决时,找最大概率的分类的类别号得到的是1-10,所以才做移动的。

此外练习说明中将类别为6-10作为无监督学习的素材,1-5作为有监督softmax回归的素材,无非就是为了判决出类别号后,统计准确率时可以将softmaxPredict.m输出的类别号与测试集的真实label直接比较,不用考虑偏移的问题。

4.图示与结果

数据集仍然来自Yann Lecun的笔迹数据库,再瞜一眼原始MMIST数据集的笔迹。

设定与练习说明相同的参数,运行完整代码https://github.com/codgeek/deeplearning 可以看到预测准确率达到98.35%。达到了练习的标准结果。

回过来看一下,无监督学习到底学习到了什么呢?

类似稀疏自编码对边缘的学习,上图的特征其实还是稀疏自编码学习到的阿拉伯数字的笔迹基本特征,各种弧线样式。另外一点有点讲究的是对总数据集合拆分两组,也可以不按照1-5、6-10来拆,如果按照数据集的前一半后一段拆成两组。这样无监督训练数据就是所有0-9的数字笔迹,softmax判决的也是0-9的数字笔迹。代码见stlExercise.m% 拆分无监督学习和softmax监督学习方法二部分。

结果有些意外又可以解释:准确率为95.8%。 可以解释为稀疏自编码、softmax有监督学习对每个分类的数据量都减少了,在1E5量级上,数据量对结果好坏有明显的影响。

转载于:https://www.cnblogs.com/Deep-Learning/p/7083130.html

UFLDL深度学习笔记 (三)无监督特征学习相关推荐

  1. 无监督学习中的无监督特征学习、聚类和密度估计

    无监督学习概述 无监督学习(Unsupervised Learning)是指从无标签的数据中学习出一些有用的模式,无监督学习一般直接从原始数据进行学习,不借助人工标签和反馈等信息.典型的无监督学习问题 ...

  2. 无监督特征学习(半监督学习+自学习)

    综述 如果已经有一个足够强大的机器学习算法,为了获得更好的性能,最靠谱的方法之一是给这个算法以更多的数据.机器学习界甚至有个说法:"有时候胜出者并非有最好的算法,而是有更多的数据." ...

  3. 深度 | Nature论文:无监督表征学习,用电子健康病历增强临床决策

    参考地址选自 Nature 作者:Riccardo Miotto, Li Li, Brian A. Kidd & Joel T. Dudley 机器之心编译 参与:吴攀.亚洲.孙睿.微胖 引言 ...

  4. CLD: 通过挖掘实例与聚类间关系进行无监督特征学习

    Unsupervised Feature Learning by Cross-Level Instance-Group Discrimination 作者:Xudong Wang (加州大学伯克利分校 ...

  5. 2017上半年无监督特征学习研究成果汇总

    更多深度文章,请关注:https://yq.aliyun.com/cloud 特征学习在无监督学习方式下的趋势:回归到多元学习的随机目标,利用因果关系来表征视觉特征,以及在强化学习中,通过辅助控制任务 ...

  6. 【学习笔记】无监督行人重识别

    BUC <A Bottom-up Clustering Approach to Unsupervised Person Re-identification>2019 AAAI BUC是一种 ...

  7. 无监督特征学习——Unsupervised feature learning and deep learning

    无监督学习近年来很热,先后应用于computer vision, audio classification和 NLP等问题,通过机器进行无监督学习feature得到的结果,其accuracy大多明显优 ...

  8. 自学习 与 无监督特征学习

    2019独角兽企业重金招聘Python工程师标准>>> 基本内容 在之前课程的基础上,本章的内容很好理解. 比如要对手写数字进行识别,我们拥有大量未标注的和少量已标注的手写数字图片. ...

  9. HALCON 20.11:深度学习笔记(6)---有监督训练

    HALCON 20.11:深度学习笔记(6)---有监督训练 HALCON 20.11.0.0中,实现了深度学习方法.不同的DL方法有不同的结果.相应地,它们也使用不同的测量方法来确定网络的" ...

最新文章

  1. malloc、calloc、realloc的区别
  2. Oracle RAC CSS 超时计算 及 参数 misscount, Disktimeout 说明
  3. pytorch 笔记:gather 函数
  4. 阿里云搭建git mac客户端 2个git账号
  5. java数组类型转换_java数据类型转换和数组总结
  6. [转贴] 软件测试职业发展的 A 面和 B 面
  7. 嵌入式系统文件系统比较 jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs
  8. css垂直水平居中的整理
  9. Sql查找断号区间...
  10. sv_labs学习笔记——sv_lab5_上(System Verilog)
  11. FFmpeg总结(七)AV系列结构体之AVIOContext
  12. 线束测试仪新应用:针对于高铁级电动“新巴客”的线束测试
  13. 动量梯度下降(Momentum、指数加权平均)、逐参数适应学习率方法(Adagrad、RMSprop、Adam)、学习率退火、归一化/标准化
  14. Word怎么转PDF?看完这篇你就知道了
  15. 港股通接口获取香港交易所上市股票的基本信息
  16. Apriori(关联分析算法)
  17. 2018校园招聘笔经面经合集:算法,机器学习,大数据方向
  18. Unity3D 学习 代码
  19. python密码密文转换_浅论Python密文输入密码的方法
  20. 快递业大动作!京东已收购德邦快递?最新回应

热门文章

  1. 开课吧python小课值得么-材料学硕博士建议掌握的高效论文工具
  2. python装饰器类-python_类装饰器
  3. 精通python要多久-小白到精通python要多久
  4. python如何编程-编程零基础应当如何开始学习 Python?
  5. python导入xlsx文件-python怎么用pd导入xlsx
  6. python手机版下载苹果版-Pyto-Python3
  7. python处理excel字典-python从excel创建字典
  8. python画二维散点图-基于python 二维数组及画图的实例详解
  9. php和python写爬虫-为什么写爬虫都喜欢用python?
  10. python3菜鸟教程中文-Python3 日期和时间