迁移学习自我学习

        最近在看Ng的深度学习教程,看到self-taught learning的时候,对一些概念感到很陌生。作为还清技术债的一个环节,用半个下午的时间简单搜了下几个名词,以后如果会用到的话再深入去看。

        监督学习在前一篇博客中讨论过了,这里主要介绍下迁移学习、自我学习。因为监督学习需要大量训练样本为前提,同时对训练样本的要求特别严格,要求训练样本与测试样本来自于同一分布。要是满足不了这要求咋办?那您看看下面几种学习方法能不能帮上忙吧。

  •  迁移学习 transfer learning

        有时候困扰大家的一个问题在于训练数据的标定。这将会耗费大量的人力与物力。另外,机器学习假设训练数据与测试数据服从相同的数据分布。然而许多情况下,这种同分布假设并不满足。通常可能发生的情况如训练数据过期,也就是好不容易标定的数据要被丢弃,而另外有一大堆新的数据要重新标定。迁移学习的目标是将从一个环境中学到的知识用来帮助新环境中的学习任务。讲白了,就是当前只有少量新的标记的数据,但是有大量旧的已标记的数据(甚至是其他类别的有效数据),这时通过挑选这些旧数据中的有效的数据,加入到当前的训练数据中,训练新的模型。用一句原话则是:

       Transfer learning is what happens when someone finds it much easier to learn to play chess having already learned to play checkers, or to recognize tables having already learned to recognize chairs; or to learn Spanish having already learned Italian。

       迁移学习的代表作是《Boosting for Transfer Learning》有关它的介绍可以看这里,我就不多说啥了,多的我也不懂。

  • 自我学习 self-taught learning 

        自我学习和半监督学习一样,当前手头上只有少量训练样本,但是周围手头上还有大量无标注样本。举一个经典的例子,分离大象和犀牛。对于监督学习来说,我们手头有大量大象的样本和犀牛的样本,接下来训练分类器,进行分类,大家都知道的。对于迁移学习,则是指我们手头上有大量羊的样本和马的样本(已标记),少量的大象和犀牛的样本,接下来就要从羊和马的样本中选出有效的样本分别加入到大象和犀牛的标记样本中,然后再用监督学习的方法训练分类器。而非监督学习,则是手上仅有少量大象和犀牛的已标记样本,另外有一堆大象和犀牛的没有标记的数据(注意它们中要么是大象要么是犀牛,没有其他物种)。半监督学习就是利用这些样本训练分类器,实现分类。而自我学习,同样是手上仅有少量大象和犀牛的已标记样本,另外有一大堆自然图像。所谓自然图像,就是有大象和犀牛的图片,还有各种其他物种的图片。自我学习比半监督学习更适合实际场景-----哪有一堆只有大象和犀牛的图片给你呢?而自然图像的来源更加广泛,可以从互联网上随便下载。

     

       自我学习实现的方法如下图所示。首先通过未标注的自然图像提取一组特征(如稀疏字典,sparse coding,很神奇的一个东西,以后还会再研究)。这样任何一个标注和未标注的图像都可以用这组特征表示出来。由于每一个标注后的样本都被表示成了这些特征------注意这些特征捕捉了图像的高层结构,将表示后的标注的样本训练一个分类器进行分类。

 
参考资料:
1.   Boosting for transfer learning
2.   Self-taught learning: transfer learning from unlabeled data
 
转载请注明出处:http://blog.csdn.net/jiang1st2010/article/details/8901261
 

转载于:https://www.cnblogs.com/jiang1st2010/archive/2013/05/08/3076333.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

堰流实验报告思考题_堰流流量系数测定实验

二、实验操作部分1.实验操作过程(可用图表示)2.实验数据、表格及数据处理3.结论1.实验步骤(1)放水之前,用活动测针测出堰前槽底高程▽低和堰顶高程▽堰顶,堰高P▽堰顶-▽底。(2)关闭首部的泄水阀,打开进水阀…

WCF全双工以及用户名密码验证

WCF是支持TCP双向连接的,支持Server和Client之间互发协议,通过 订阅-发布 的全双工形式实现,全双工的用户名密码验证需要X509证书加密,单工模式的用户名密码验证时,X509证书是可选的。 在全双工模式下,会有…

MTV: Django眼中的MVC

URLconfMTV:Django眼中的MVC MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:M 管理应用程序的状态(通常存储到数据库中),并约束改…

createbitmap导致的内存泄漏如何处理_C++ 如何避免内存泄漏,一篇就够

前言近年来,讨论 C 的人越来越少了,一方面是由于像 Python,Go 等优秀的语言的流行,另一方面,大家也越来越明白一个道理,并不是所有的场景都必须使用 C 进行开发。Python 可以应付大部分对性能要求不高的场景…

Visio绘制功能分解图

为什么要绘制功能分解图? 对于编程人员来说,具体分配任务的时候,必须知道自己要做什么,必须了解系统的大体框架。功能分解图可以帮助我们理清程序的框架,便于大局观的掌握。 用Visio2010创建功能分解图 1、选择模版 2、…

Heka:Go编写,来自Mozilla,高效、灵活的插件式数据挖掘工具(转)

转自:http://www.csdn.net/article/2013-05-02/2815116-introduce-from-mozilla-heka-go摘要:一直崇尚开源的Mozilla近日释放了Heka测试版——插件架构,Go编写。在支持使用Go扩展功能的同时,还通过允许“Sandboxed Filters”提供了…

cocos2d学习笔记2——学习资源

1. 视频 找了好几个视频,有一些讲得好的文件资源没有,后来终于找到一个讲得不错还有文件资源的,还有高清下载地址,虽然是2.2版本的,但是确实能学到不少东西,对用cocos2d做游戏有了基本的印象,对…

深究标准IO的缓存

前言 在最近看了APUE的标准IO部分之后感觉对标准IO的缓存太模糊,没有搞明白,APUE中关于缓存的部分一笔带过,没有深究缓存的实现原理,这样一本被吹上天的书为什么不讲透彻呢?今天早上爬起来赶紧找了几篇文章看看&#x…

环境变量_配置JAVA环境变量

本文标识 : J00001本文编辑 : YiKi编程工具 : IDEA阅读时长 : 3分钟什么是环境变量?环境变量是在操作系统中一个具有特定名字的对象, 它包含了一个或者多个应用程序所将使用到的信息。为什么要配置环境变量?为了方便在控制台编译和运行java程序,不…

GotFocus和PreviewLeftButtonDown事件

当TextBox获得焦点后,其中的文字会被全选。通过GotFocus和PreviewLeftButtonDown事件,就可以模拟上述行为。 如果用户只是用键盘操作,GotFocus事件就足够了。 如果使用鼠标操作,就要用到2个事件了。TextBox会将光标放在鼠标单击的…

模式主节点ORACLE DG介绍(物理无实例)

在本文中,我们主要介绍模式主节点的内容,自我感觉有个不错的建议和大家分享下 DG的三种模式: 硬件以及操纵系统需求: 每日一道理 流逝的日子像一片片凋零的枯叶与花瓣,渐去渐远的是青春的纯情与浪漫。不记得曾有多少雨飘在胸前风响在耳畔&…

分布式消息队列 Kafka

分布式消息队列 Kafka 2016-02-25 杜亦舒Kafka是一个高吞吐量的、分布式的消息系统,由Linkedin开发,开发语言为scala具有高吞吐、可扩展、分布式等特点 适用场景 活动数据统计活动数据包括页面访问量(Page View)、被查看内容方面的…

漫游飞行_手机“飞行模式”为何没被淘汰?内行人坦言:其实是你不会用!

随着科技的不断创新,目前市面上出现的手机款式多种多样,品牌也非常多,有华为、苹果、三星和小米等等。手机的屏幕也是五花八门,有刘海屏、水滴全面屏等,这些屏幕之间都各有不同。而且手机的更新换代速度很快&#xff0…

multiselect多选下拉框

具体实现 <input type"hidden" id"q_dueDay" name"q_dueDay" value"${baseQueryBean.q_dueDay}">//这个为隐藏域后台直接使用这个为参数 <select id"example" name"example" multiple"multiple&qu…

序列元素IT面试题——判断合法出栈序列

本文纯属个人见解&#xff0c;是对前面学习的总结&#xff0c;如有描述不正确的地方还请高手指正~ 在技巧笔试口试上&#xff0c;我们常常会碰到这样一类题型&#xff0c;如给你一个入栈序列&#xff0c;然后再让你判断几个序列是否有可能为它的出栈序列&#xff0c;如&#xf…

scikit-learn点滴

scikit-learn点滴 scikit-learn是非常漂亮的一个机器学习库,在某些时候,使用这些库能够大量的节省你的时间,至少,我们用Python,应该是很难写出速度快如斯的代码的. scikit-learn官方出了一些文档,但是个人觉得,它的文档很多东西都没有讲清楚,它说算法原理的时候,只是描述一下,除…

background image

http://www.ajaxblender.com/bgstretcher-2-jquery-stretch-background-plugin-updated.html http://blog.dvxj.com/pandola/jQuery_bgStretcher.html 转载于:https://www.cnblogs.com/eebb/p/4077231.html

怎样搭建Android开发平台(转)

Android是基于Linux内核的软件平台和操作系统&#xff0c;是Google在2007年11月5日公布的手机系统平台&#xff0c;早期由Google开发&#xff0c;后由开放手机联盟&#xff08;Open Handset Alliance&#xff09;开发。 它采用了软件堆层&#xff08;software stack&#xff0c…

mvn deploy 推送到私有仓库,注意当前日期

由于更改了本机系统时间到过去的一个时间&#xff0c;导致mvn deploy推送到私有仓库后&#xff0c;该更新的jar包时间戳比较旧&#xff0c;客户端不能更新得到新的jar包。转载于:https://www.cnblogs.com/silva/p/6264458.html

我的世界1.7.10java32位_我的世界1.7.10中文版

不知道怎么下载&#xff1f;点我游戏介绍《我的世界1.7.10》中整个世界由各种方块构成&#xff0c;玩家可以破坏它们&#xff0c;也可以用自己的方块随意建造东西。为了在游戏里生存和发展&#xff0c;玩家需要通过伐木、挖矿、捕猎等方式获取资源&#xff0c;并通过合成系统打…