迁移学习的第一类方法:数据分布自适应(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

相关推荐
NAGNIP5 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab6 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab6 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP10 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年10 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼10 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS11 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区12 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈12 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang12 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx