学习
实践
活动
专区
工具
TVP
写文章

特征学习

Contents

1 关键词

2 为什么需要进行特征学习

3 无监督学习解决的问题

4 功能强大的特征学习

1. 关键词

自我学习/自学习 self-taught learning

无监督特征学习 unsupervised feature learning

自编码器 autoencoder

白化 whitening

激活量 activation

稀疏自编码器 sparse autoencoder

半监督学习 semi-supervised learning

2. 为什么需要进行特征学习

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

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

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

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

3. 无监督学习解决的问题

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

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

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

4. 功能强大的特征学习

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

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

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

假定有大小为 m[l] 的已标注训练集 {(x[^1][l],y[^1]),(x[^2][l],y[^2]),...,(x[^m][l],y[^m])} (下标 表 l 示“带类标”),我们可以为输入数据找到更好的特征描述。例如,可以将 x[^1][l] 输入到稀疏自编码器,得到隐藏单元激活量 a[^1][l]。接下来,可以直接使用 a[^1][l] 来代替原始数据 x[^1][l](“替代表示”,Replacement Representation)。

经过变换后,训练集就变成 {(a[^1][l],y[^1]),(a[^2][l],y[^2]),...,(a[^m][l],y[^m])} 或者是{((x[^1][l],a[^1][l]),y[^1]),((x[^2][l],a[^2][l]),y[^2]),...,((x[^m][l],a[^m][l]),y[^m])} 。在实践中,将 a[^1][l] 和 x[^1][l] 合并通常表现的更好。但是考虑到内存和计算的成本,也可以使用替换操作。

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

参考文献:http://cs229.stanford.edu

文章分享自微信公众号:
机器学习算法与Python学习

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:Fighting365
原始发表时间:2017-02-06
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 机器学习之特征工程-特征选择

    一个基本的数据挖掘场景如下: ? 数据挖掘.jpg 从上面的数据挖掘场景可知,当数据预处理完成后,我们需要选择有意义的特征,输入机器学习的算法模型进行训练。通常...

    用户1332428
  • 【机器学习】特征工程

    作者:JasonDing1354 引言 在之前学习机器学习技术中,很少关注特征工程(Feature Engineering),然而,单纯学习机器学习的算法流程,...

    陆勤_数据人网
  • 机器学习-特征选择

    1 介绍 在计算机视觉、模式识别、数据挖掘很多应用问题中,我们经常会遇到很高维度的数据,高维度的数据会造成很多问题,例如导致算法运行性能以及准确性的降低。特征选...

    机器学习AI算法工程
  • 图像学习-HOG特征

    好久没写东西了,由于楼主换了个城市工作,发现工作量蹭蹭的上来了,周末又喜欢出去觅食,导致没学习很久,今天准备水一篇来翻译一下如何理解HOG(Histogram ...

    用户1332428
  • 快速学习-机器学习(特征工程)

    cwl_java
  • 机器学习 | 特征工程(数据预处理、特征抽取)

    所谓特征工程即模型搭建之前进行的数据预处理和特征提取。有时人们常常好高骛远,数据都没处理好就开始折腾各种算法,从第一开始就有问题,那岂不是还没开始就已经结束了。...

    week
  • 机器学习特征提取 | 自动特征工程featuretools

    1、什么是Featuretools? 为了能使框架普适,就像pandas用于数据准备或scikit-learn用于机器学习。 链接:https://www.fe...

    深度学习思考者
  • 特征工程简介|机器学习

    (I)特征工程可以解决什么样的问题? 特征工程是一个非常重要的课题,是机器学习中不可缺少的一部分,但是它几乎很少出现于机器学习书本里面的某一章。在机器学习方面的...

    陆勤_数据人网
  • Burpsuite简单版特征学习

    乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任...

    乌鸦安全
  • DNN深度学习模型 机器学习模型 特征筛选 各个特征重要度排序

    在机器学习或者深度学习模型训练完成后,通常我们需要对输入特征进行重要度排序及筛选,好去找到一些重要度没这么高的特征,将其排除以提高模型收敛速度及准确率。

    大鹅
  • 机器学习 | 特征工程综述

    数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。特征工程指的是把原始数据转变为模型的训练数据的过程,它的目的就是获取更好的训练数据特征,使得机...

    week
  • 特征工程(七):图像特征提取和深度学习

    有趣的是,机器学习的情况是相反的。我们已经在文本分析应用方面取得了比图像或音频更多的进展。以搜索问题为例。人们在信息检索和文本检索方面已经取得了相当多年的成功,...

    机器学习AI算法工程
  • 机器学习-特征降维

    降维是指在某些限定条件下,降低随机变量(特征)个数,得到一组“不相关”主变量的过程

    后端码匠
  • 机器学习之特征工程

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    村雨遥
  • 机器学习-特征提取

    这个结果并不是想要看到的,所以加上参数,得到想要的结果,在这里把这个处理数据的技巧用专业的称呼"one-hot"编码。

    后端码匠
  • 汉字字符特征提取器 ,提取发音特征、字形特征用做深度学习的特征

    ([['m'], ['t']], [['ing'], ['ian']], [['2'], ['1']],

    机器学习AI算法工程
  • 机器学习-R-特征选择

    特征选择是实用机器学习的重要一步,一般数据集都带有太多的特征用于模型构建,如何找出有用特征是值得关注的内容。 1. Feature selection: All...

    小莹莹
  • 机器学习中的特征选择

    总第98篇 本篇讲解一些特征工程部分的特征选择(feature_selection),主要包括以下几方面: 特征选择是什么 为什么要做特征选择 特征选择的基本原...

    张俊红
  • 机器学习中的特征空间

    声明:这篇博文主要是对参考文献中的那个PPT的学习之后记下的一些笔记,整理出来与大家一起分享,若笔记中有任何错误还请不吝指出,文中可能会使用到原作者的一些图,若...

    felixzhao

作者介绍

昱良

百度研发工程师

百度 · 研发工程师 (已认证)

专栏

精选专题

活动推荐

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券