提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
论文
Long, M., Wang, J., et al. (2013). Transfer feature learning with joint distribution adaptation. In ICCV, pages 2200–2207.
一、问题提出
很多域适应的方法没有同时减小源域和目标域的边缘概率分布和条件概率分布的差异,比如TCA方法。
JDA目标:映射后数据的属性尽可能保留,缩小映射后源域和目标域的边缘条件概率分布和条件概率分布的差异。
二、算法目标以及求解
1.属性保留
和TCA相同,JDA通过最大化映射后数据的方差来保留数据的属性,该问题可以转化为PCA问题进行求解。源域和目标域数据组成矩阵X,H为中心化矩阵,则中心化输入样本的协方差矩阵为 X H X T XHX^T XHXT, A为映射矩阵,进一步问题可以转化为: m a x A T A = t r ( A T X H X T A ) max_{A^TA}=tr(A^TXHX^TA) maxATA=tr(ATXHXTA), 下一步的目标就是求解这个映射矩阵,由相关数学定理,映射矩阵A就是 X H X T XHX^T XHXT的最大的k个特征值对应的特征向量构成的,映射后的数据为Z,则 Z = A T X Z=A^TX Z=ATX.
2.减小边缘概率分布差异
使用MMD距离衡量源域和目标域边缘分布的差异,最小化便于分布的距离表示为:
最终能够表示为一个最优化问题,目标函数表示为:
其中
M
0
M_0
M0理解为核矩阵的系数:
3. 减小条件概率分布差异
首先使用源域的数据训练分类器f 给目标域的数据打上伪标签,然后利用伪标签计算每个类别的条件概率分布的差异。
实际上,条件概率分布 Q S ( y s ∣ x s ) 和 Q T ( y t ∣ x t ) Q_S(y_s|x_s)和Q_T(y_t|x_t) QS(ys∣xs)和QT(yt∣xt)很难计算,所以JDA提出可以使用 Q S ( x s ∣ y s ) 和 Q T ( x t ∣ y t ) Q_S(x_s|y_s)和Q_T(x_t|y_t) QS(xs∣ys)和QT(xt∣yt)分别来近似。之后再类别c上计算条件概率分布 Q S ( x s ∣ y s = c ) 和 Q T ( x t ∣ y t = c ) Q_S(x_s|y_s=c)和Q_T(x_t|y_t=c) QS(xs∣ys=c)和QT(xt∣yt=c)之间的MMD距离,进一步源域和目标域上每个类别的条件概率分布的距离可以表示为:
注意,上式只是针对类别c,所有类别上的条件概率差异之和表示为:
4. 目标函数构建及求解
构建目标函数
由上文总结最终目标是最大化方差
t
r
(
A
T
X
H
X
T
A
)
tr(A^TXHX^TA)
tr(ATXHXTA), 同时最小化边缘分布
t
r
(
A
T
X
M
0
X
T
A
)
tr(A^TXM_0X^TA)
tr(ATXM0XTA)和条件概率分布
∑
c
=
1
C
t
r
(
A
T
X
M
c
X
T
A
)
\sum_{c=1}^Ctr(A^TXM_cX^TA)
∑c=1Ctr(ATXMcXTA), 综合起来形成以下目标函数:
其中,正则化项中A是正交矩阵,所以A的F范数的平方为
t
r
(
A
T
A
)
tr(A^TA)
tr(ATA) ,c=0表示边缘概率分布,c=1到C表示条件概率分布,将最大化方差
t
r
(
A
T
X
H
X
T
A
)
tr(A^TXHX^TA)
tr(ATXHXTA) 转化为约束条件
A
T
X
H
X
T
A
=
I
A^TXHX^TA=I
ATXHXTA=I ,原因参考TCA。
引入核技巧
非线性问题一般引入核技巧,最终的目标函数表示为:
目标函数求解
拉格朗日乘子法,具体可参考TCA
https://blog.csdn.net/qq_39802199/article/details/116645014
伪代码
总结
JDA算法比较巧妙的地方就是引入伪标签来计算目标域上的条件概率分布,开始时伪标签的准确度相对较低,但通过多次迭代来更新映射矩阵A和伪标签,可以逐渐提高伪标签的准确度,从而慢慢提高算法的效果,这个思路域EM算法比较相似。