综述

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

人们总是可以尝试获取更多的已标注数据,但是这样做成本往往很高。例如研究人员已经花了相当的精力在使用类似 AMT(Amazon Mechanical Turk) 这样的工具上,以期获取更大的训练数据集。相比大量研究人员通过手工方式构建特征,用众包的方式让多人手工标数据是一个进步,但是我们可以做得更好。具体的说,如果算法能够从未标注数据中学习,那么我们就可以轻易地获取大量无标注数据,并从中学习。自学习和无监督特征学习就是这种的算法。尽管一个单一的未标注样本蕴含的信息比一个已标注的样本要少,但是如果能获取大量无标注数据(比如从互联网上下载随机的、无标注的图像、音频剪辑或者是文本),并且算法能够有效的利用它们,那么相比大规模的手工构建特征和标数据,算法将会取得更好的性能。

在自学习和无监督特征学习问题上,可以给算法以大量的未标注数据,学习出较好的特征描述。在尝试解决一个具体的分类问题时,可以基于这些学习出的特征描述和任意的(可能比较少的)已标注数据,使用有监督学习方法完成分类。

在一些拥有大量未标注数据和少量的已标注数据的场景中,上述思想可能是最有效的。即使在只有已标注数据的情况下(这时我们通常忽略训练数据的类标号进行特征学习),以上想法也能得到很好的结果。

特征学习

我们已经了解到如何使用一个自编码器(autoencoder)从无标注数据中学习特征。具体来说,假定有一个无标注的训练数据集 (下标 代表“不带类标”)。现在用它们训练一个稀疏自编码器(可能需要首先对这些数据做白化或其它适当的预处理)。

利用训练得到的模型参数 ,给定任意的输入数据 ,可以计算隐藏单元的激活量(activations) 。如前所述,相比原始输入 来说, 可能是一个更好的特征描述。下图的神经网络描述了特征(激活量 )的计算。

这实际上就是之前得到的稀疏自编码器,在这里去掉了最后一层。

假定有大小为 的已标注训练集 (下标 表示“带类标”),我们可以为输入数据找到更好的特征描述。例如,可以将 输入到稀疏自编码器,得到隐藏单元激活量 。接下来,可以直接使用 来代替原始数据 “替代表示”,Replacement Representation)。也可以合二为一,使用新的向量 来代替原始数据 “级联表示”,Concatenation Representation)。

经过变换后,训练集就变成 或者是(取决于使用 替换 还是将二者合并)。在实践中,将 合并通常表现的更好。但是考虑到内存和计算的成本,也可以使用替换操作。

最终,可以训练出一个有监督学习算法(例如 svm, logistic regression 等),得到一个判别函数对 值进行预测。预测过程如下:给定一个测试样本 ,重复之前的过程,将其送入稀疏自编码器,得到 。然后将 (或者 )送入分类器中,得到预测值。

数据预处理

在特征学习阶段,我们从未标注训练集 中学习,这一过程中可能计算了各种数据预处理参数。例如计算数据均值并且对数据做均值标准化(mean normalization);或者对原始数据做主成分分析(PCA),然后将原始数据表示为 (又或者使用 PCA 白化或 ZCA 白化)。这样的话,有必要将这些参数保存起来,并且在后面的训练和测试阶段使用同样的参数,以保证数据进入稀疏自编码神经网络之前经过了同样的变换。例如,如果对未标注数据集进行PCA预处理,就必须将得到的矩阵 保存起来,并且应用到有标注训练集和测试集上;而不能使用有标注训练集重新估计出一个不同的矩阵 (也不能重新计算均值并做均值标准化),否则的话可能得到一个完全不一致的数据预处理操作,导致进入自编码器的数据分布迥异于训练自编码器时的数据分布。

无监督特征学习的术语

有两种常见的无监督特征学习方式,区别在于你有什么样的未标注数据。自学习(self-taught learning) 是其中更为一般的、更强大的学习方式,它不要求未标注数据 和已标注数据 来自同样的分布。另外一种带限制性的方式也被称为半监督学习,它要求 服从同样的分布。下面通过例子解释二者的区别。

假定有一个计算机视觉方面的任务,目标是区分汽车和摩托车图像;也即训练样本里面要么是汽车的图像,要么是摩托车的图像。哪里可以获取大量的未标注数据呢?最简单的方式可能是从互联网上下载一些随机的图像数据集,在这些数据上训练出一个稀疏自编码器,从中得到有用的特征。这个例子里,未标注数据完全来自于一个和已标注数据不同的分布(未标注数据集中,或许其中一些图像包含汽车或者摩托车,但是不是所有的图像都如此)。这种情形被称为自学习。

相反,如果有大量的未标注图像数据,要么是汽车图像,要么是摩托车图像,仅仅是缺失了类标号(没有标注每张图片到底是汽车还是摩托车)。也可以用这些未标注数据来学习特征。这种方式,即要求未标注样本和带标注样本服从相同的分布,有时候被称为半监督学习。在实践中,常常无法找到满足这种要求的未标注数据(到哪里找到一个每张图像不是汽车就是摩托车,只是丢失了类标号的图像数据库?)因此,自学习在无标注数据集的特征学习中应用更广。

无监督特征学习(半监督学习+自学习)相关推荐

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

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

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

    UFLDL深度学习笔记 (三)无监督特征学习 1. 主题思路 "UFLDL 无监督特征学习"本节全称为自我学习与无监督特征学习,和前一节softmax回归很类似,所以本篇笔记会比较 ...

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

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

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

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

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

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

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

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

  7. 用于光流估计的无监督深度学习DSTFlow

    用于光流估计的无监督深度学习DSTFlow 原文链接 摘要 ​ 最近的工作表明,光流估计可以被表述为一个监督学习问题. 此外,卷积网络已成功应用于此任务. 然而,监督流学习由于缺乏标记的训练数据而变得 ...

  8. CVPR2020:三维点云无监督表示学习的全局局部双向推理

    CVPR2020:三维点云无监督表示学习的全局局部双向推理 Global-Local Bidirectional Reasoning for Unsupervised Representation L ...

  9. BigBiGAN问世,“GAN父”都说酷的无监督表示学习模型有多优秀?

    作者 | Jeff Donahue.Karen Simonyan 译者 | Lucy.一一 出品 | AI开发者大本营(ID:rgznai100) 众所周知,对抗训练生成模型(GAN)在图像生成领域获 ...

最新文章

  1. latex箭头表示符号
  2. java组件代码_[java]常用组件
  3. 安装Discuz论坛
  4. 190306每日一句
  5. 单片机 自动更改日期_自动螺丝机不可或缺之功能
  6. spring-boot集成elastic-job 并实现http类型作业
  7. [项目管理]-第十章:配置管理
  8. timestamp 与 nonce 防止重放攻击
  9. Python 爬取拉钩网工作岗位
  10. Eureka入口之DiscoveryClient
  11. 计算机教学拼音打字教案,三年级下册信息技术课用拼音写汉字教案
  12. php00截断原理,burpsuite上传截断及截断原理介绍
  13. 【小程序页面设计模板】小程序设计模板平台分享
  14. UVA10859 放置街灯 Placing Lampposts(树状DP)
  15. 虚拟机KALI2022.2下安装GVM
  16. UmiJS4非Umi Max开启Dva及其他插件的方法
  17. C++简单程序典型案例
  18. 人脸识别 | Hi 你说,彭于晏是猫咪还是人,还是?
  19. python例子高考志愿填报系统_Python 助你填写高考志愿
  20. matlab 变调器,个人改动后的语音变速变调的程序

热门文章

  1. 小程序上传视频及预览(含后台)
  2. python ccf题解 201903-1 小中大
  3. 基础算法(二):迭代、递归与分治
  4. 科研小白之SCI论文、EI论文和IEEE论文有什么区别?国内分区与SCI等的联系
  5. 最新!有道文档翻译免费获取方法,有道翻译文档复制方法,解决有道文档翻译不能复制问题
  6. linux 进程间通信 数据库,什么是进程间通信
  7. 关于汇编语言中cmp指令的小笔记
  8. wp10手机不能连接微软服务器,Lumia920手机更新10166版WP10后,无法用Microsoft账户登录,也无法添加Microsoft账 - Microsoft Community...
  9. MPPT电源控制器设计
  10. java不足位数补0