Transfer Component Analysis

迁移成分分析

Posted by Jianfei on April 4, 2018

引子

这篇文章诞生于2009年的IJCAI,也是Transfer Learning中公认的经典之作。迁移学习解决的问题是在数据不足导致Model的泛化能力不足时,应当如何通过unlabeled data提高模型的泛化能力。

具体问题

TCA想要解决的问题是迁移学习中的一个有趣问题,叫做Domain Adaptation。 说有两个domain,分别是已知类标的Source Domain 和未知类标的Target Domain ,sample数量分别是。那么输入数据的边缘分布是不同的,那么TCA的目的就是用labelled source data去预测unlabelled target data。

基本假设

正文

要想在两个domain的数据上使用传统机器学习方法,需要让他们的数据分布满足。既然他们本身是不相等的,那么是否可以寻找一个nonlinear transformation ,使得,映射后的分布就满足大多数分类回归方法的条件了!

那么上述的假设就变成了:

而如何将两个分布拉到一起呢,这可以等同于一个优化问题,最小化两个分布的距离。用什么距离呢,这里用的是Maximum Mean Discrepancy (MMD),这里不使用很多其他衡量方法例如KL散度,因为这些方法往往都是参数化的,很难处理。MMD是NIPS2006的一篇文章提出的,文章使用了引理“在选定函数为continuous bounded functions时,two sample test中的分布是充要条件”提出了使用reproducing kernel Hilbert space (RKHS)中的核函数,并证明了他们的estimate是相当成功的。

那么衡量两个新的domain在kernel下的分布距离度量可以写成:

在做这个优化问题的时候,之前的工作Maximum Mean Discrepancy Embedding (MMDE)使用了SDP半正定规划去学习一个kernel matrix,但是相当复杂。为了避免显式地计算映射,作者将其转化为一个kernel learning problem,应用kernel trick ,MMD距离可以被写成新的形式:

其中

而L就是用来凑系数的矩阵。

基本思路已经明白了,但是这时便是作者展现数学功底的时候了,只见他三下五除二,先用一个降维后的矩阵使得

代入原问题,于是问题转化成了更简单的形式:

这里我就要问了,H是啥玩意?莫名其妙就说是一个center matrix,这个条件就是TCA的第二个目的,在保持各自数据特征的前提下做domain拉近,而保持的散度特征正是,这里和PCA有点类似,降维后保持数据特性不变。

下面解这个问题的时候,因为条件非凸,需要先做一个转化,再求它的dual problem就可以解了,解的答案简单明了,W就是求的前个特征向量,而W的维度正是$(n_1+n_2) \times m$,相当于把所有数据都在分布拉近的同时,降维到了维度上,后面就可以很简单的使用各种方法进行分类和回归了。

后记

不得不说,很有趣的问题转化,思路也清楚明白,就是要让我解这个优化问题,那真是老费劲了。科科。