迁移学习(transfer learning)

原文出处:http://www.zhizhihu.com/html/y2011/2902.html


今天实在没有心情和兴致去弄G的AW了,索性搞了篇文章看了看。是小牛上海交大的Wenyuan Dai在2007年的ICML上发表的一篇文章《Boosting for Transfer Learning》。


Boosting for transfer learning

Full Text: Pdf
Authors: Wenyuan Dai Shanghai Jiao Tong University, China

Qiang Yang Hong Kong University of Science and Technology, Hong Kong

Gui-Rong Xue Shanghai Jiao Tong University, China

Yong Yu Shanghai Jiao Tong University, China


先介绍一下作者,Wenyuan Dai,上海交大ACM班的,2005年ACM的世界决赛的冠军,在本科貌似就开始做研究,在上交Yu Yong教授的APEX实验室里做了一些关于Transfer Learning的研究和应用,ICML、NIPS等上面都有文章发表。硕士毕业被百度以高薪(相当高啊)聘请。


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。


今天看的这篇文章构思相对简单,就是对AdaBoost的扩展,called TrAdaBoost,因为AdaBoost的一个鲜明特点就是能够对训练集的不同instance进行weight,显然,weight高的那些instance其实数据属性和test集的数据属性(可以理解为分布)更相似。利用这个特点,可以做一下对于数据的迁移。


Transfer Learning,简单的理解就是由于标记的有效样本很少很少,所以可以将一些过时的或者其他类别的有效数据引进来进行模型的训练。就拿文章中的例子吧,对于web上的一些新闻等,现在训练处一个模型,那么等过一段时间,这个模型以及训练集可能已经过时了,对于最新的数据预测就不好。那么我们都知道标记新的数据是非常耗费精力和人力的,怎么利用使旧的数据也能够发挥作用呢?Adaboost迭代收敛之后那些weight大的旧数据就可以起作用了。


TrAdaBoost的实验效果还真是不错,和不能做迁移的SVM相比当然效果提高很大,但是当训练集中的本类数据达到20%的时候,其实就变成了监督学习,那么就和SVM等学习效果差不多了。但是当本类数据的比例小于10%的时候,Transfer 的效果就很明显了。


关于TrAdaBoost的收敛性以及泛化能力的证明其实都是扩展自AdaBoost了,不多说了。

这篇文章有C语言的代码,可以点击这里下载。

Transfer Learning的价值和热度还是很高的?为什么呢?因为他有用,有用啊

你可能感兴趣的:(machine,learning)