迁移学习算法之TrAdaBoost ——本质上是在用不同分布的训练数据,训练出一个分类器
迁移学习算法之TrAdaBoost
from: https://blog.csdn.net/Augster/article/details/53039489
TradaBoost算法由来已久,具体算法可以参考作者的原始文章,Boosting For Transfer Learning。
1.问题定义
传统的机器学习的模型都是建立在训练数据和测试数据服从相同的数据分布的基础上。典型的比如有监督学习,我们可以在训练数据上面训练得到一个分类器,用于测试数据。但是在许多的情况下,这种同分布的假设并不满足,有时候我们的训练数据会过期,而重新去标注新的数据又是十分昂贵的。这个时候如果丢弃训练数据又是十分可惜的,所以我们就想利用这些不同分布的训练数据,训练出一个分类器,在我们的测试数据上可以取得不错的分类效果。
定义问题模型如下:设为源样例空间,
为辅助样例空间。源样例空间也就是我们的目标空间,就是想要去分类的样例空间。设Y={0,1}为类别空间,这里简化了多分类问题为二分类问题讨论,这样我们的训练数据也就是
测试数据:
其中测试数据是未标注的,我们可以将训练数据划分为两个数据集:
其中代表样本数据x的真实所属的类别,
和
的区别在于
和测试数据S是同分布的,
和测试数据是不同分布的,现在的任务就是给定很少的源数据
和大量的辅助数据
训练出一个分类器在测试数据S上的分类误差最小。这里假设利用已有的数据
不足以训练出一个泛化能力很强的分类器。
2.TrAdaBoost算法
我们利用AdaBoost算法的思想原理来解决这个问题,起初给训练数据T中的每一个样例都赋予一个权重,当一个源域中的样本被错误的分类之后,我们认为这个样本是很难分类的,于是乎可以加大这个样本的权重,这样在下一次的训练中这个样本所占的比重就更大了,这一点和基本的AdaBoost算法的思想是一样的。如果辅助数据集中的一个样本被错误的分类了,我们认为这个样本对于目标数据是很不同的,我们就降低这个数据在样本中所占的权重,降低这个样本在分类器中所占的比重,下面给出TradaBoost算法的具体流程:
可以看到,在每一轮的迭代中,如果一个辅助训练数据被误分类,那么这个数据可能和源训练数据是矛盾的,那么我们就可以降低这个数据的权重。具体来说,就是给数据乘上一个,其中
的值在0到1之间,所以在下一轮的迭代中,被误分类的样本就会比上一轮少影响分类模型一些,在若干次以后,辅助数据中符合源数据的那些数据会拥有更高的权重,而那些不符合源数据的权重会降低。极端的一个情况就是,辅助数据被全部忽略,训练数据就是源数据Tb,这样这时候的算法就成了AdaBoost算法了。在计算错误率的时候,当计算得到的错误率大于0.5的话,需要将其重置为0.5。
可以看到,TrAdaBoost算法在源数据和辅助数据具有很多的相似性的时候可以取得很好效果,但是算法也有不足,当开始的时候辅助数据中的样本如果噪声比较多,迭代次数控制的不好,这样都会加大训练分类器的难度。
迁移学习算法之TrAdaBoost ——本质上是在用不同分布的训练数据,训练出一个分类器的更多相关文章
- PCA算法详解——本质上就是投影后使得数据尽可能分散(方差最大),PCA可以被定义为数据在低维线性空间上的正交投影,这个线性空间被称为主⼦空间(principal subspace),使得投影数据的⽅差被最⼤化(Hotelling, 1933),即最大方差理论。
PCA PCA(Principal Component Analysis,主成分分析)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量 ...
- 使用深度学习检测TOR流量——本质上是在利用报文的时序信息、传输速率建模
from:https://www.jiqizhixin.com/articles/2018-08-11-11 可以通过分析流量包来检测TOR流量.这项分析可以在TOR 节点上进行,也可以在客户端和入口 ...
- 《A Survey on Transfer Learning》迁移学习研究综述 翻译
迁移学习研究综述 Sinno Jialin Pan and Qiang Yang,Fellow, IEEE 摘要: 在许多机器学习和数据挖掘算法中,一个重要的假设就是目前的训练数据和将来的训练数据 ...
- 迁移学习( Transfer Learning )
在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型:然后利用这个学习到的模型来对测试文档进行分类与预测.然而,我们看到机器学习算法在当前的Web挖掘研究中存在着一个关 ...
- 迁移学习(Transfer Learning)(转载)
原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型 ...
- [DeeplearningAI笔记]ML strategy_2_3迁移学习/多任务学习
机器学习策略-多任务学习 Learninig from multiple tasks 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 迁移学习 Transfer Learninig 神 ...
- 迁移学习(Transfer Learning)
原文地址:http://blog.csdn.net/miscclp/article/details/6339456 在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型 ...
- 【转载】 第四范式首席科学家杨强:AlphaGo的弱点及迁移学习的应对(附视频)
原文地址: https://www.jiqizhixin.com/articles/2017-06-02-2 ============================================= ...
- AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清
摘要:诸多关于人工智能的流行词汇萦绕在我们耳边,比如深度学习 (Deep Learning).强化学习 (Reinforcement Learning).迁移学习 (Transfer Learning ...
随机推荐
- OAuth 2.0 in Web API #Reprinted
http://www.codebetter.com/howarddierking/2011/10/11/oauth-2-0-in-web-api/
- 品质与合身 无须昂贵 | Tailorwoods在线男装定制
品质与合身 无须昂贵 | Tailorwoods在线男装定制 北京市朝阳区姚家园北一路八月照相馆2F
- 提交IOS开发效率的几个插件(Xcode神器推荐贴)
Code Pilot 2 Xcode上的Command-T,讓你快速跳轉到某個文件或某個符號 XVim 讓Xcode使用Vim的鍵綁定,Vim党必備 Injection for Xcode 調試利器, ...
- HashMap 和 Hashtable 的同和不同
综述 可以直接根据 hashcode 值判断两个对象是否相等吗?肯定是不可以的,因为不同的对象可能会生成相同的 hashcode 值.虽然不能根据 hashcode 值判断两个对象是否相等,但是可以直 ...
- PriorityQueue ,ArrayList , 数组排序
static class E implements Comparable<E>{ int x ; int y ; int state ; int money ; public E(int ...
- 无向图的点双连通分量(tarjan模板)
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #i ...
- Optimizer统计信息管理介绍
1. 前言 在我们的日常维护中受理一些一直以来运行得非常好的系统,突然有一天用户反馈没有做不论什么操作,系统的某个功能模块或者是某个报表曾经仅仅须要几秒.但如今须要几分钟或更长的时间都没有返回结 ...
- android 5.2
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc2VyZ2V5Y2Fv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- ionic 修改应用名称 、启动页出现黑白屏 及 修改百度离线地图 点聚合 图标
1.ionic 修改应用名称 2.启动页打开后会在图片消失会出现一小段黑屏的时间 解决方法: 首先,启动页的图片消失时间默认是在config.xml配置的 <preference name=&q ...
- 【学习笔记】C#中HashTable和快速排序的用法,从单词频率统计小程序写起
先瞎扯点别的.进入这个神圣的地方总需要些鞭策,阿西巴,我是被鞭策进来摆摊的程序猿.软件工程老师说,写程序,发博客,就来博客园.这是个号召力很强的口号.最近看网络营销 搜索引擎优化的书多一些,只能说王老 ...