无监督特征学习(半监督学习+自学习)
综述
如果已经有一个足够强大的机器学习算法,为了获得更好的性能,最靠谱的方法之一是给这个算法以更多的数据。机器学习界甚至有个说法:“有时候胜出者并非有最好的算法,而是有更多的数据。”
人们总是可以尝试获取更多的已标注数据,但是这样做成本往往很高。例如研究人员已经花了相当的精力在使用类似 AMT(Amazon Mechanical Turk) 这样的工具上,以期获取更大的训练数据集。相比大量研究人员通过手工方式构建特征,用众包的方式让多人手工标数据是一个进步,但是我们可以做得更好。具体的说,如果算法能够从未标注数据中学习,那么我们就可以轻易地获取大量无标注数据,并从中学习。自学习和无监督特征学习就是这种的算法。尽管一个单一的未标注样本蕴含的信息比一个已标注的样本要少,但是如果能获取大量无标注数据(比如从互联网上下载随机的、无标注的图像、音频剪辑或者是文本),并且算法能够有效的利用它们,那么相比大规模的手工构建特征和标数据,算法将会取得更好的性能。
在自学习和无监督特征学习问题上,可以给算法以大量的未标注数据,学习出较好的特征描述。在尝试解决一个具体的分类问题时,可以基于这些学习出的特征描述和任意的(可能比较少的)已标注数据,使用有监督学习方法完成分类。
在一些拥有大量未标注数据和少量的已标注数据的场景中,上述思想可能是最有效的。即使在只有已标注数据的情况下(这时我们通常忽略训练数据的类标号进行特征学习),以上想法也能得到很好的结果。
特征学习
我们已经了解到如何使用一个自编码器(autoencoder)从无标注数据中学习特征。具体来说,假定有一个无标注的训练数据集 (下标 代表“不带类标”)。现在用它们训练一个稀疏自编码器(可能需要首先对这些数据做白化或其它适当的预处理)。
利用训练得到的模型参数 ,给定任意的输入数据 ,可以计算隐藏单元的激活量(activations) 。如前所述,相比原始输入 来说, 可能是一个更好的特征描述。下图的神经网络描述了特征(激活量 )的计算。
这实际上就是之前得到的稀疏自编码器,在这里去掉了最后一层。
假定有大小为 的已标注训练集 (下标 表示“带类标”),我们可以为输入数据找到更好的特征描述。例如,可以将 输入到稀疏自编码器,得到隐藏单元激活量 。接下来,可以直接使用 来代替原始数据 (“替代表示”,Replacement Representation)。也可以合二为一,使用新的向量 来代替原始数据 (“级联表示”,Concatenation Representation)。
经过变换后,训练集就变成 或者是(取决于使用 替换 还是将二者合并)。在实践中,将 和 合并通常表现的更好。但是考虑到内存和计算的成本,也可以使用替换操作。
最终,可以训练出一个有监督学习算法(例如 svm, logistic regression 等),得到一个判别函数对 值进行预测。预测过程如下:给定一个测试样本 ,重复之前的过程,将其送入稀疏自编码器,得到 。然后将 (或者 )送入分类器中,得到预测值。
数据预处理
在特征学习阶段,我们从未标注训练集 中学习,这一过程中可能计算了各种数据预处理参数。例如计算数据均值并且对数据做均值标准化(mean normalization);或者对原始数据做主成分分析(PCA),然后将原始数据表示为 (又或者使用 PCA 白化或 ZCA 白化)。这样的话,有必要将这些参数保存起来,并且在后面的训练和测试阶段使用同样的参数,以保证数据进入稀疏自编码神经网络之前经过了同样的变换。例如,如果对未标注数据集进行PCA预处理,就必须将得到的矩阵 保存起来,并且应用到有标注训练集和测试集上;而不能使用有标注训练集重新估计出一个不同的矩阵 (也不能重新计算均值并做均值标准化),否则的话可能得到一个完全不一致的数据预处理操作,导致进入自编码器的数据分布迥异于训练自编码器时的数据分布。
无监督特征学习的术语
有两种常见的无监督特征学习方式,区别在于你有什么样的未标注数据。自学习(self-taught learning) 是其中更为一般的、更强大的学习方式,它不要求未标注数据 和已标注数据 来自同样的分布。另外一种带限制性的方式也被称为半监督学习,它要求 和 服从同样的分布。下面通过例子解释二者的区别。
假定有一个计算机视觉方面的任务,目标是区分汽车和摩托车图像;也即训练样本里面要么是汽车的图像,要么是摩托车的图像。哪里可以获取大量的未标注数据呢?最简单的方式可能是从互联网上下载一些随机的图像数据集,在这些数据上训练出一个稀疏自编码器,从中得到有用的特征。这个例子里,未标注数据完全来自于一个和已标注数据不同的分布(未标注数据集中,或许其中一些图像包含汽车或者摩托车,但是不是所有的图像都如此)。这种情形被称为自学习。
相反,如果有大量的未标注图像数据,要么是汽车图像,要么是摩托车图像,仅仅是缺失了类标号(没有标注每张图片到底是汽车还是摩托车)。也可以用这些未标注数据来学习特征。这种方式,即要求未标注样本和带标注样本服从相同的分布,有时候被称为半监督学习。在实践中,常常无法找到满足这种要求的未标注数据(到哪里找到一个每张图像不是汽车就是摩托车,只是丢失了类标号的图像数据库?)因此,自学习在无标注数据集的特征学习中应用更广。
无监督特征学习(半监督学习+自学习)相关推荐
- 无监督学习中的无监督特征学习、聚类和密度估计
无监督学习概述 无监督学习(Unsupervised Learning)是指从无标签的数据中学习出一些有用的模式,无监督学习一般直接从原始数据进行学习,不借助人工标签和反馈等信息.典型的无监督学习问题 ...
- UFLDL深度学习笔记 (三)无监督特征学习
UFLDL深度学习笔记 (三)无监督特征学习 1. 主题思路 "UFLDL 无监督特征学习"本节全称为自我学习与无监督特征学习,和前一节softmax回归很类似,所以本篇笔记会比较 ...
- CLD: 通过挖掘实例与聚类间关系进行无监督特征学习
Unsupervised Feature Learning by Cross-Level Instance-Group Discrimination 作者:Xudong Wang (加州大学伯克利分校 ...
- 2017上半年无监督特征学习研究成果汇总
更多深度文章,请关注:https://yq.aliyun.com/cloud 特征学习在无监督学习方式下的趋势:回归到多元学习的随机目标,利用因果关系来表征视觉特征,以及在强化学习中,通过辅助控制任务 ...
- 自学习 与 无监督特征学习
2019独角兽企业重金招聘Python工程师标准>>> 基本内容 在之前课程的基础上,本章的内容很好理解. 比如要对手写数字进行识别,我们拥有大量未标注的和少量已标注的手写数字图片. ...
- 无监督特征学习——Unsupervised feature learning and deep learning
无监督学习近年来很热,先后应用于computer vision, audio classification和 NLP等问题,通过机器进行无监督学习feature得到的结果,其accuracy大多明显优 ...
- 用于光流估计的无监督深度学习DSTFlow
用于光流估计的无监督深度学习DSTFlow 原文链接 摘要 最近的工作表明,光流估计可以被表述为一个监督学习问题. 此外,卷积网络已成功应用于此任务. 然而,监督流学习由于缺乏标记的训练数据而变得 ...
- CVPR2020:三维点云无监督表示学习的全局局部双向推理
CVPR2020:三维点云无监督表示学习的全局局部双向推理 Global-Local Bidirectional Reasoning for Unsupervised Representation L ...
- BigBiGAN问世,“GAN父”都说酷的无监督表示学习模型有多优秀?
作者 | Jeff Donahue.Karen Simonyan 译者 | Lucy.一一 出品 | AI开发者大本营(ID:rgznai100) 众所周知,对抗训练生成模型(GAN)在图像生成领域获 ...
最新文章
- latex箭头表示符号
- java组件代码_[java]常用组件
- 安装Discuz论坛
- 190306每日一句
- 单片机 自动更改日期_自动螺丝机不可或缺之功能
- spring-boot集成elastic-job 并实现http类型作业
- [项目管理]-第十章:配置管理
- timestamp 与 nonce 防止重放攻击
- Python 爬取拉钩网工作岗位
- Eureka入口之DiscoveryClient
- 计算机教学拼音打字教案,三年级下册信息技术课用拼音写汉字教案
- php00截断原理,burpsuite上传截断及截断原理介绍
- 【小程序页面设计模板】小程序设计模板平台分享
- UVA10859 放置街灯 Placing Lampposts(树状DP)
- 虚拟机KALI2022.2下安装GVM
- UmiJS4非Umi Max开启Dva及其他插件的方法
- C++简单程序典型案例
- 人脸识别 | Hi 你说,彭于晏是猫咪还是人,还是?
- python例子高考志愿填报系统_Python 助你填写高考志愿
- matlab 变调器,个人改动后的语音变速变调的程序
热门文章
- 小程序上传视频及预览(含后台)
- python ccf题解 201903-1 小中大
- 基础算法(二):迭代、递归与分治
- 科研小白之SCI论文、EI论文和IEEE论文有什么区别?国内分区与SCI等的联系
- 最新!有道文档翻译免费获取方法,有道翻译文档复制方法,解决有道文档翻译不能复制问题
- linux 进程间通信 数据库,什么是进程间通信
- 关于汇编语言中cmp指令的小笔记
- wp10手机不能连接微软服务器,Lumia920手机更新10166版WP10后,无法用Microsoft账户登录,也无法添加Microsoft账 - Microsoft Community...
- MPPT电源控制器设计
- java不足位数补0