CP-MDA(Conditional-probability based multi-source domain adaptation)
方法描述:已知源域和目标域,其中源域数据的特征和标签已知,目标域中数据特征已知,极少数数据标签已知(这里我觉得就算半个数据标签已知,就是semi-supervised)。现在将源域中数据分成若干子源域(我这里有个疑问是关于如何分堆,或者是说每两个子源域之间有没有共同的样本,或者说每个子源域之间有交集,但是从后面作者的叙述过程中,他声称CP-MDA中考虑到了各个子源域之间的相互关系,所以我这里倾向于是子源域之间是有交集的)。每个子源域通过训练都可以得到一个分类函数,把目标域中的每个无标签的数据输入到分类函数中,都能得到对应的标签。但是,考虑到源域和目标域的数据分布的不同,由子源域得到的目标域标签可能是错误的。因此,作者希望为每个子源域训练出的分类函数赋予一个权值,在把所有的分类函数线性组合起来,构成一个新的分类器。在得到新的分类函数后,将目标域中的无标签数据输入到分类函数的到无标签数据的标签,成为伪标签,最后利用目标域中的有标签数据和伪标签数据,训练最终目标域的模型。因此现在的关键任务就是求每个分类函数的权值。
思路分析:在求权值之前,作者首先通过直观的感受,认为当子源域与目标域相近时,应该被赋予较大的权值。这个近似程度就利用两个域之间的数据分布的来衡量。可以是条件分布,也可以是边缘分布,CP-MDA主要是利用的条件分布。首先给出目标域样本的预测模型。
这个模型一共四个部分,第一部分是目标域分类器在再生核希尔伯特空间中的复杂度表述,前面的系数是惩罚因子。第二部分是目标域分类器是对目标域中带标签数据的分类误差。nl是数据的个数。第三部分是组合分类器对目标域中不带标签的数据的分类误差。第四项是对目标域上样本数据分布的平滑性的约束。对于这个平滑性的理解,我们可以认为在目标域上,对于好的分类器,输入两个距离很近的样本数据,得到的标签越相近,分类器的性能也越优越。这个平滑度的作用是求最佳的权值时,作为一个限制条件。
我们这里先考虑第三项。
上式是目标域的分类函数,也是目标域中每个无标签样本的真标签。也可以表示为下式。
我们利用子源域得到的组合分类函数,也是目标域中每个无标签样本的伪标签。也可以表示为下式。
利用子源域组成的新的分类函数以及对应的权值,我们可以得到目标域中每个无标签样本的伪标签。
接下来,我们求权重。作者这里利用了平滑性,就是说好的分类函数在目标域中,对于两个距离很近的样本点,他们应该有着相同的分布(这里指条件分布),也就是说将两个样本的特征向量输入到分类函数中,应该得到相同的标签。
选择目标域中两个无标签的样本 i 和 j,w表示两个样本之间的关系的系数,可以由下式得到。
将优化权重的式子展开。
对于上式,可以利用MATLAB函数quadprog求解二次规划问题。得到最佳的权重。