《迁移学习简明手册》阅读笔记——数据分布自适应

文章目录

  • 概念
  • 边缘分布自适应
    • 基本思路
    • TCA解法
    • 总结
  • 条件分布自适应
    • STL思想
  • 联合分布自适应
    • 边缘分布适配
    • 条件分布适配
    • 结合
  • 动态分布自适应
    • 平衡分布自适应 BDA
    • 动态分布自适应
  • 总结

概念

数据分布自适应是一类最常用的迁移学习方法。这种方法 的基本思想是,由于源域和目标域的数据概率分布不同,那么最直接的方式就是通过一些变换,将不同的数据分布的距离拉近
《迁移学习简明手册》阅读笔记——数据分布自适应_第1张图片数据的边缘分布不同,就是数据整体不相似
数据的条件分布不同,就是数据整体相似,但是具体到每个类里,都不太相似

根据数据分布的性质,这类方法又可以分为边缘分布自适应、条件分布自适应、以及联 合分布自适应

边缘分布自适应

基本思路

目标是减小源域和目标域 的边缘概率分布的距离,从而完成迁移学习。从形式上来说,边缘分布自适应方法是用 P ( x s ) P (x_s ) P(xs) P ( x t ) P (x_t ) P(xt)之间的距离来近似两个领域之间的差异
D I S T A N C E ( D s , D t ) ≈ ∣ ∣ P ( x s ) − P ( x t ) ∣ ∣ DISTANCE(Ds,Dt) ≈ ||P(x_s) − P(x_t)|| DISTANCE(Ds,Dt)P(xs)P(xt)

直接减小二者之间的距离是不可行的。TCA 假设存在一个特征映射 φ,使得映射后数据的分布 P ( φ ( x s ) ) ≈ P ( φ ( x t ) ) P(φ(x_s)) ≈ P(φ(x_t)) P(φ(xs))P(φ(xt)), TCA 假设如果边缘分布接近,那么两个领域的条件分布也会接近, 即条件分布 P ( y s ∣ φ ( x s ) ) ) ≈ P ( y t ∣ φ ( x t ) ) ) P(y_s|φ(x_s))) ≈ P(y_t|φ(x_t))) P(ysφ(xs)))P(ytφ(xt)))。这就是 TCA 的全部思想。因此,我们现在的目标是,找到这个合适的 φ φ φ

TCA解法

TCA 利用了一个经典的也算是比 较“高端”的距离叫做最大均值差异 (MMD)。我们令 n1, n2 分别表示源域和目标域的样本个数,那么它们之间的 MMD 距离可以计算为:
在这里插入图片描述

可是,我们想求的 φ φ φ仍然没法求!!!

TCA 是怎么做的呢,这里就要感谢矩阵了!我们发现,上面这个 MMD 距离平方展开
后,有二次项乘积的部分!那么,联系在 SVM 中学过的核函数,把一个难求的映射以核函 数的形式来求,不就可以了?于是,TCA 引入了一个核矩阵 K
《迁移学习简明手册》阅读笔记——数据分布自适应_第2张图片
以及一个 MMD 矩阵 L,它的每个元素的计算方式为:
《迁移学习简明手册》阅读笔记——数据分布自适应_第3张图片
这样的好处是,直接把那个难求的距离,变换成了下面的形式:
t r ( K L ) − λ t r ( K ) tr(KL) − λtr(K) tr(KL)λtr(K)
它是一个数学中的半定规划的问题,解决起来非常耗费时间。 TCA用降维的方法去构造结果。用一个更低维度的矩阵 W
在这里插入图片描述
这里的 W 矩阵是比 K 更低维度的矩阵。最后的 W 就是问题的解答了。整理一下,TCA 最后的优化目标是:
《迁移学习简明手册》阅读笔记——数据分布自适应_第4张图片
这个式子下面的条件是什么意思呢?那个 min 的目标我们大概理解,就是要最小化源 域和目标域的距离,加上 W 的约束让它不能太复杂。那么下面的条件是什么呢?下面的条 件就是要实现第二个目标:维持各自的数据特征(散度)
对于一个矩阵 A,它的散度就是 A H A ⊤ AHA^⊤ AHA。这个 H 就是上面的中心矩阵
解决上面的优化问题时,作者又求了它的拉格朗日对偶。最后得出结论,W 的解就是 它的前 m 个特征值

总结

总结一下 TCA 方法的步骤。

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

《迁移学习简明手册》阅读笔记——数据分布自适应_第5张图片
在经过 TCA 处理后,概率分布更加接近。这说明了 TCA 在拉近数据分布距离上的优势。

条件分布自适应

减小源域和目标 域的条件概率分布的距离
D I S T A N C E ( D s , D t ) ≈ ∣ ∣ P ( y s ∣ x s ) − P ( y t ∣ x t ) ∣ ∣ DISTANCE(Ds,Dt) ≈ ||P(y_s|x_s) − P(y_t|x_t)|| DISTANCE(Ds,Dt)P(ysxs)P(ytxt)
STL 方法:
提出了类内迁移的思想。指出现有 的绝大多数方法都只是学习一个全局的特征变换 ,而忽略了类内的 相似性。类内迁移可以利用类内特征,实现更好的迁移效果

STL思想

首先利用大多数投票的思想,对无标定的位置行为 生成伪标签;然后在再生核希尔伯特空间中,利用类内相关性进行自适应地空间降维,使得 不同情境中的行为数据之间的相关性增大;最后,通过二次标定,实现对未知标定数据的精 准标定。
《迁移学习简明手册》阅读笔记——数据分布自适应_第6张图片
为了实现类内迁移,我们需要计算每一类别的 MMD 距离。由于目标域没有标记,作 者使用来自大多数投票结果中的伪标记。更加准确地说,用 c ∈ 1 , 2 , ⋅ ⋅ ⋅ , C c ∈ {1, 2, · · · , C } c1,2,,C来表示类别标 记,则类内迁移可以按如下方式计算:
《迁移学习简明手册》阅读笔记——数据分布自适应_第7张图片
接下来的步骤参照 STL 方法
STL 方法在大量行为识别数据中进行了跨位置行为识别的实验。实验结果表明,该方 法可以很好地实现跨领域的行为识别任务,取得了当前最好的效果

联合分布自适应

目标是减小源域和目标域的联 合概率分布的距离
从形式上来说,联合分布自适应方法是用 P ( x s ) 和 P ( x t ) P (x_s ) 和 P (x_t ) P(xs)P(xt) 之间的距离、以及 P ( y s ∣ x s ) 和 P ( y t ∣ x t ) P (y_s |x_s ) 和 P (y_t |x_t ) P(ysxs)P(ytxt) 之间的距离来近似两个领域之间的差异
在这里插入图片描述
联合分布适配的 JDA 方法
JDA 方法的目标就是,寻找一个变换 A,使得经过变换后的 P ( A ⊤ x s ) 和 P ( A ⊤ x t ) P (A^⊤ x_s ) 和 P (A^⊤ x_t ) P(Axs)P(Axt) 的距离能够尽可能地接近,同时, P ( y s ∣ A ⊤ x s ) 和 P ( y t ∣ A ⊤ x t ) P (y_s |A^⊤ x_s ) 和 P (y_t |A^⊤ x_t ) P(ysAxs)P(ytAxt) 的距离也要小

边缘分布适配

适配边缘分布,就是迁移成分分析 (TCA)
在这里插入图片描述
其中 A 就是变换矩阵,我们把它加黑加粗,X 是源域和目标域合并起来的数据。M0是一个 MMD 矩阵
《迁移学习简明手册》阅读笔记——数据分布自适应_第8张图片

条件分布适配

( x s , y s ) (x_s, y_s) (xs,ys) 来训练一个简单的分类器 (比如 knn、逻辑斯特回归),到 x t x_t xt 上直接进行预测。总能够得到一些伪标签 y ˆ t yˆ_t yˆt 。我们根据伪标签来计算,这个问题就可解了

类与类之间的 MMD 距离表示为
《迁移学习简明手册》阅读笔记——数据分布自适应_第9张图片
其中,nc, mc 分别标识源域和目标域中来自第 c 类的样本个数。同样地我们用核方法,得到了下面的式子
《迁移学习简明手册》阅读笔记——数据分布自适应_第10张图片

结合

现在我们把两个距离结合起来,得到了一个总的优化目标:
《迁移学习简明手册》阅读笔记——数据分布自适应_第11张图片
限制条件和 TCA 一样,变换前后数据的方差要维持不变
在这里插入图片描述
和原来的优化目标合并,优化目标统一为
《迁移学习简明手册》阅读笔记——数据分布自适应_第12张图片
因为 A 是可以进行拉伸而不改改变最终结果的,可变为
在这里插入图片描述用拉格朗日法,最后变成了
《迁移学习简明手册》阅读笔记——数据分布自适应_第13张图片
在 Matlab 里是可以直接解的 (用 eigs 函数即可)
伪标签肯定精度不高,怎么办?有个东西叫做迭代,一次不行, 我们再做一次。后一次做的时候,我们用上一轮得到的标签来作伪标签

动态分布自适应

《迁移学习简明手册》阅读笔记——数据分布自适应_第14张图片

平衡分布自适应 BDA

JDA 的不足:边缘分布自适应和条件分布自适应并不是同等重要
BDA 方法,能够根据特定的数据领域,自适应地调整分布适配过程中边缘分布和条件分布的重要性。准 确而言,BDA 通过采用一种平衡因子 μ 来动态调整两个分布之间的距离
在这里插入图片描述
当 μ → 0,这表示源域和目标域数据本身存在较大的差异性, 因此,边缘分布适配更重要;当 μ → 1 时,这表示源域和目标域数据集有较高的相似性,因 此,条件概率分布适配更加重要
特别地,当 μ = 0 时,方法退化为 TCA;当 μ = 0.5 时,方法退化为 JDA

动态分布自适应

BDA 方法是首次给出边缘分布和条件分布的定量估计。然而,其并未解决平衡因子 μ 的精确计算问题
DDA简单地将 μ 视为一个迁移过程中的参数,通过交叉验证 (cross-validation)来确定其最优的取值 μ o p t μ_{opt} μopt
然而

总结

  1. 精度比较:DDA > JDA > TCA > 条件分布自适应
  2. 将不同的概率分布自适应方法用于神经网络,是一个发展趋势。将概率分布适配加入深度网络中,往往会取得比非深度方法更好的结果

你可能感兴趣的:(迁移学习)