迁移学习的第一类方法:数据分布自适应(1)——边缘分布自适应

**Hi,大家好,我是半亩花海。**在上节说明了迁移学习领域的基本方法(基于样本、特征、模型、关系的迁移)之后,本文主要将介绍迁移学习的第一类方法------数据分布自适应,重点阐述了边缘分布自适应的原理与应用。该方法通过缩小源域和目标域边缘概率分布的距离实现迁移,核心思想是利用特征映射使两域数据分布接近。文章详细讲解了迁移成分分析(TCA)方法,包括其基于最大均值差异(MMD)的距离度量、核矩阵变换以及优化目标,并通过可视化对比展示了TCA在数据分布对齐上的优势。该方法为处理不同分布数据提供了有效解决方案。


目录

一、基本思路

二、核心方法

三、方法小结

四、参考资料


数据分布自适应 (Distribution Adaptation) 是一类最常用的迁移学习方法。这种方法的基本思想是,由于源域和目标域的数据概率分布不同,那么最直接的方式就是通过一些变换,将不同的数据分布的距离拉近。 下图形象地表示了几种数据分布的情况。简单来说,数据的边缘分布不同,就是数据整体不相似。数据的条件分布不同,就是数据整体相似,但是具体到每个类里,都不太相似。
不同数据分布的目标域数据

根据数据分布的性质,这类方法又可以分为边缘分布自适应、条件分布自适应、以及联合分布自适应。下面我们分别介绍每类方法的基本原理和代表性研究工作。介绍每类研究工作时,我们首先给出基本思路,然后介绍该类方法的核心,最后结合最近的相关工作介绍该类方法的扩展。

本文首先具体阐述边缘分布自适应的相关知识内容。


一、基本思路

边缘分布自适应方法 (Marginal Distribution Adaptation) 的目标是减小源域和目标域的边缘概率分布的距离,从而完成迁移学习。从形式上来说,边缘分布自适应方法是用 P(xs) 和 P(xt) 之间的距离来近似两个领域之间的差异。即:

边缘分布自适应对应于上图中由图(a)迁移到图(b)的情形。


二、核心方法

边缘分布自适应的方法最早由香港科技大学杨强教授团队提出 [Pan et al., 2011],方法名称为迁移成分分析 (TCA , Transfer Component Analysis)。由于 ,因此,直接减小二者之间的距离是不可行的。TCA 假设存在一个特征映射 ,使得映射后数据的分布 。TCA 假设若边缘分布接近,则两个领域的条件分布也会接近, 即条件分布 。这就是 TCA 的全部思想。因此,我们现在的目标是,找到这个合适的 ϕ。

回到迁移学习的本质上来:最小化源域和目标域的距离。好了,我们能不能先假设这个 是已知的,然后去求距离,看看能推出什么呢?

更进一步,这个距离怎么算?机器学习中有很多种形式的距离,从欧氏距离到马氏距离,从曼哈顿距离到余弦相似度,我们需要什么距离呢?TCA 利用了一个经典的也算是比较"高端"的距离叫做最大均值差异 (MMD,maximum mean discrepancy)。我们令 n1, n2 分别表示源域和目标域的样本个数,那么它们之间的 MMD 距离可以计算为:

MMD 是做了一件什么事呢?简单,就是求映射后源域和目标域的均值之差。 事情到这里似乎也没什么进展:我们想求的 仍然没法求。 TCA 是怎么做的呢,这里就要感谢矩阵了!我们发现,上面这个 MMD 距离平方展开后,有二次项乘积的部分!那么,联系在 SVM 中学过的核函数,把一个难求的映射以核函数的形式来求,不就可以了?于是,TCA 引入了一个核矩阵

以及一个 MMD 矩阵 ,它的每个元素的计算方式为:

这样的好处是,直接把那个难求的距离,变换成了下面的形式:

其中, 操作表示求矩阵的迹,用人话来说就是一个矩阵对角线元素的和。这样是不是感觉离目标又进了一步呢?

其实这个问题到这里就已经是可解的了,也就是说,属于计算机的部分已经做完了。只不过它是一个数学中的半定规划 (SDP,semi-definite programming) 的问题,解决起来非常耗费时间。由于 TCA 的第一作者 Sinno Jialin Pan 以前是中山大学的数学硕士,他想用更简单的方法来解决。他是怎么做的呢?

他想出了用降维的方法去构造结果。用一个更低维度的矩阵

这里的 W 矩阵是比 K 更低维度的矩阵。最后的 W 就是问题的解答了!

好了,问题到这里,整理一下,TCA 最后的优化目标是:

这里的 是一个中心矩阵,

这个式子下面的条件是什么意思呢?那个 min 的目标我们大概理解,就是要最小化源 域和目标域的距离,加上 W 的约束让它不能太复杂。那么下面的条件是什么呢?下面的条 件就是要实现第二个目标:维持各自的数据特征。

TCA 要维持的是什么特征呢?文章中说是 variance,但是实际是 scatter matrix,就是 数据的散度。就是说,一个矩阵散度怎么计算?对于一个矩阵 ,它的 scatter matrix 就是 。这个 就是上面的中心矩阵啦。


三、方法小结

好了,我们现在总结一下 TCA 方法的步骤。输入是两个特征矩阵,我们首先计算 矩阵,然后选择一些常用的核函数进行映射 (比如线性核、高斯核) 计算 ,接着求 的前 m 个特征值。仅此而已。然后,得到的就是源域和目标域的降维 后的数据,我们就可以在上面用传统机器学习方法了。

为了形象地展示 TCA 方法的优势,我们借用 [Pan et al., 2011] 中提供的可视化效果, 在图中展示了对于源域和目标域数据 (红色和蓝色),分别由 PCA(主成分分析) 和 TCA 得到的分布结果。从图 20中可以很明显地看出,对于概率分布不同的两部分数据,在经过 TCA 处理后,概率分布更加接近。这说明了 TCA 在拉近数据分布距离上的优势。
TCA 和 PCA 的效果对比


四、参考资料

1. 王晋东《迁移学习简明手册》(PDF版) https://www.labxing.com/files/lab_publications/615-1533737180-LiEa0mQe.pdf#page=82&zoom=100,120,392

2. 《迁移学习简明手册》发布啦! https://zhuanlan.zhihu.com/p/35352154

相关推荐
小北方城市网3 小时前
鸿蒙6.0:生态质变与全场景智慧体验的全面跃升
人工智能·ai·鸿蒙6.0
呆萌很3 小时前
Canny 边缘检测
人工智能
视界先声3 小时前
2025年GEO自动化闭环构建实践:监测工具选型与多平台反馈机制工程分享
大数据·人工智能·自动化
陈天伟教授3 小时前
人工智能训练师认证教程(3)Pandas数据世界的军刀
人工智能·数据分析·pandas
another heaven3 小时前
【深度学习 YOLO官方模型全解析】
人工智能·深度学习·yolo
HyperAI超神经3 小时前
【Triton 教程】triton_language.load
人工智能·学习·大语言模型·cpu·gpu·编程语言·triton
科士威传动4 小时前
丝杆支撑座同轴度如何安装?
人工智能·科技·机器学习·自动化
2401_841495644 小时前
【自然语言处理】中文 n-gram 词模型
人工智能·python·算法·自然语言处理·n-gram·中文文本生成模型·kneser-ney平滑
百***24374 小时前
GPT5.1 vs Claude-Opus-4.5 全维度对比及快速接入实战
大数据·人工智能·gpt