联合分布适配(JDA)

Galatea ·
更新时间:2024-09-21
· 889 次阅读

Long M, Wang J, Ding G, et al. Transfer feature learning with joint distribution adaptation[C]//Proceedings of the IEEE International Conference on Computer Vision. 2013: 2200-2207.
zhuanlan.zhihu.com/p/27336930

问题描述

先看迁移成分分析(TCA)对问题的描述(https://blog.csdn.net/weixin_44390521/article/details/104336224):
在已知道源数据的输入XSX_SXS​和输出YSY_SYS​以及目标数据的输入XTX_TXT​的情况下,预测XTX_TXT​对应的输出YTY_TYT​,并且假设源数据和目标数据的边缘分布有很多差异,即P(XS)≠Q(XT)P(X_S) \neq Q(X_T)P(XS​)​=Q(XT​),但是条件分布一致,即P(YS∣XS)=Q(YT∣XT)P(Y_S|X_S) = Q(Y_T|X_T)P(YS​∣XS​)=Q(YT​∣XT​)。
而在联合分布自适应(JDA)中,条件分布是可以不一致的,即在源数据和目标数据的边缘分布和条件分布差异都很大的情况下,预测目标数据的输出YTY_TYT​,JDA原文中如此表述其要解决的问题:
(1) 对域的定义(Domain):域DDD由一个m为空间XXX和一个边缘分布Px)Px)Px)组成,即D={X,P(x),x∈X}D=\lbrace {X,P(x)},x \in X \rbraceD={X,P(x),x∈X}。
(2) 任务的定义 (Task):给定域DDD,任务TTT由标签集合YYY和分类器f(x)f(x)f(x)组成,即T={Y,f(x)}T=\lbrace {Y,f(x)}\rbraceT={Y,f(x)}。
(3) 问题:已知带标签的源数据DS={(x1,y1),⋅⋅⋅,(xns,yns)}D_S=\lbrace(x_1,y_1),···,(x_{n_s},y_{n_s})\rbraceDS​={(x1​,y1​),⋅⋅⋅,(xns​​,yns​​)}和不带标签的目标域DT={xns+1,⋅⋅⋅,xns+nt}D_T=\lbrace x_{n_s+1},···,x_{n_s+n_t} \rbraceDT​={xns​+1​,⋅⋅⋅,xns​+nt​​},假设XS=XT,YS=YT,P(XS)≠P(XT),Q(YS∣XS)≠Q(YT∣YS)X_S=X_T,Y_S=Y_T,P(X_S)\neq P(X_T),Q(Y_S|X_S)\neq Q(Y_T|Y_S)XS​=XT​,YS​=YT​,P(XS​)​=P(XT​),Q(YS​∣XS​)​=Q(YT​∣YS​),希望能够学习到一种特征表示,能够显著减少源域和目标域的边缘分布和条件分布差异。

优化目标

JDA希望最小化输入经过TTT变换后和标签的联合期望:
minT∣∣Ep(xs,ys)(T(xs),ys)−Ep(xt,yt)(T(xt),yt)∣∣≈∣∣Eps(xs)−Ept(xt)∣∣+∣∣EQ(ys∣xs)(ys∣T(xs)−EQ(yt∣xt)(yt∣xt)∣∣min_T ||E_{p(x_s,y_s)}(T(x_s),y_s)-E_{p(x_t,y_t)}(T(x_t),y_t)||\approx ||E_{p_s}(x_s)-E_{p_t}(x_t)||+||E_{Q(y_s|x_s)}(y_s|T(x_s)-E_{Q(y_t|x_t)}(y_t|x_t)||minT​∣∣Ep(xs​,ys​)​(T(xs​),ys​)−Ep(xt​,yt​)​(T(xt​),yt​)∣∣≈∣∣Eps​​(xs​)−Ept​​(xt​)∣∣+∣∣EQ(ys​∣xs​)​(ys​∣T(xs​)−EQ(yt​∣xt​)​(yt​∣xt​)∣∣
这个问题是无解的,因为并不知道目标域的标签,JDA使用伪标签的策略,使用源数据训练的分类器预测目标源的标签,即假设Q(YS∣XS)≈Q(YT∣XT)Q(Y_S|X_S)\approx Q(Y_T|X_T)Q(YS​∣XS​)≈Q(YT​∣XT​)。显然伪标签是不够准确的,因此优化结果也是不准确的,JDA采样反复迭代的方法,逐渐提高伪标签的正确率。

特征变换

主成分分析(PCA)通过降维的方法学习变换特征表示,设X={x1,x2,⋅⋅⋅,xn}∈Rm×n,n=ns+ntX=\lbrace x_1,x_2,···,x_n\rbrace \in R^{m\times n},n = n_s+n_tX={x1​,x2​,⋅⋅⋅,xn​}∈Rm×n,n=ns​+nt​,H=I−1n1,1∈Rn×nH = I -\frac{1}{n}1,1\in R^{n\times n}H=I−n1​1,1∈Rn×n是中心矩阵,XHXTXHX^TXHXT是协方差矩阵,PCA的目标是找到一个正交变换矩阵使得:
maxATA=Itr(ATXHXTA)   (1)max_{A^TA=I}tr(A^TXHX^TA)\space\space\space(1)maxATA=I​tr(ATXHXTA)   (1)
这个优化问题可以通过奇异值分解XHXTAϕ=AϕXHX^TA\phi=A\phiXHXTAϕ=Aϕ求解,ϕ=diag(ϕ1,ϕ2,⋅⋅⋅,ϕk)∈Rk×k\phi =diag(\phi _1,\phi _2,···,\phi _k) \in R^{k\times k}ϕ=diag(ϕ1​,ϕ2​,⋅⋅⋅,ϕk​)∈Rk×k,是k个最大的特征值最后找到最优的k为特征表示Z=ATXZ=A^TXZ=ATX

边缘分布适配

PCA等降维方法可以学习输入变换的特征表示,但是这样的特征表示是在不同域进行的,学习到的是不同域独立的特征表示。JDA中采样TCA的方法,通过优化两个分布的MMD距离,最小化边缘分布的期望差异:
∣∣1ns∑i=1nsATxi−1ns+nt∑j=1nt+nsATxj∣∣2=tr(ATXM0XA)   (2)||\frac{1}{n_s}\sum_{i=1}^{n_s}A^Tx^i-\frac{1}{n_s+nt}\sum_{j=1}^{n_t+n_s}A^Tx^j||^2=tr(A^TXM_0XA)\space\space\space(2)∣∣ns​1​i=1∑ns​​ATxi−ns​+nt1​j=1∑nt​+ns​​ATxj∣∣2=tr(ATXM0​XA)   (2)
AAA是变换矩阵
M0M_0M0​,是MMD矩阵,M0={1nsns,xi,xj∈Ds1ntnt,xi,xj∈DT−1nsnt,others   (3)M_0=\begin{cases}\frac{1}{n_sn_s},&\text x_i,x_j \in D_s \\ \frac{1}{n_tn_t},&\text xi,x_j\in D_T \\ -\frac{1}{n_sn_t},&\text others \end{cases}\space\space\space(3)M0​=⎩⎪⎨⎪⎧​ns​ns​1​,nt​nt​1​,−ns​nt​1​,​xi​,xj​∈Ds​xi,xj​∈DT​others​   (3)
通过使用JCA学习特征变换矩阵AAA,得到新的特征表示Z=ATXZ=A^TXZ=ATX

条件分布适配

条件分布适配就是要最小化Q(YS∣XS)Q(Y_S|X_S)Q(YS​∣XS​)和Q(YT∣XT)Q(Y_T|X_T)Q(YT​∣XT​)的距离,前面已经说到可以是源数据训练一个分类器,比如支持向量机,预测目标域的标签,称之为伪标签。但是有存在另一个问题是条件分布很难计算,但是类条件概率Q(XS∣YS=c)Q(X_S|Y_S=c)Q(XS​∣YS​=c)和Q(XT∣YT=c),c∈{1,2⋅⋅⋅,n}Q(X_T|Y_T=c),c\in \lbrace 1,2···,n \rbraceQ(XT​∣YT​=c),c∈{1,2⋅⋅⋅,n}是很容易统计的,如果两个分布的类条件概率的差异很小时,那么条件分布的差异也应该很小的,因此最小化类条件概率和最小化条件概率是相当一致的。JDA中依然使用MMD距离衡量两个分布的差异:
∣∣1nsc∑xi∈DscATxi−1nsc+ntc∑xj∈DtcATxj∣∣2=tr(ATXMcXA)   (4)||\frac{1}{n_s^c}\sum_{x_i\in D_s^c}A^Tx^i-\frac{1}{n_s^c+n_t^c}\sum_{x_j\in D_t^c}A^Tx^j||^2=tr(A^TXM_cXA)\space\space\space(4)∣∣nsc​1​xi​∈Dsc​∑​ATxi−nsc​+ntc​1​xj​∈Dtc​∑​ATxj∣∣2=tr(ATXMc​XA)   (4)
M={1nsc,xi,xj∈DS1ntc,xi,xj∈DT−1nsnc,{xi∈DS,xj∈DTxi∈DT,xj∈DS0,others   (5)M = \begin {cases} \frac{1}{n_s^c} ,&\text x_i,x_j\in D_S \\ \frac{1}{n_t^c},&\text x_i,x_j\in D_T \\ -\frac{1}{n_sn_c},\begin{cases}x_i\in D_S,x_j\in D_T \\ xi\in D_T,x_j\in D_S\end{cases} \\ 0,&\text others \end {cases}\space\space\space(5)M=⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧​nsc​1​,ntc​1​,−ns​nc​1​,{xi​∈DS​,xj​∈DT​xi∈DT​,xj​∈DS​​0,​xi​,xj​∈DS​xi​,xj​∈DT​others​   (5)

优化问题

把边缘分布和所有类条件分布的MMD距离加起来,就是要优化的问题:
maxATXHXTA=I∑i=0Ctr(ATXMCXTA)+λ∣∣A∣∣2   (6)max_{A^TXHX^TA=I}\sum^C_{i=0}tr(A^TXM_CX^TA)+\lambda ||A||^2\space\space\space(6)maxATXHXTA=I​i=0∑C​tr(ATXMC​XTA)+λ∣∣A∣∣2   (6)
后一项是正则化项。
设ϕ=diag(ϕ1,⋅⋅⋅,ϕk)\phi = diag(\phi_1,···,\phi_k)ϕ=diag(ϕ1​,⋅⋅⋅,ϕk​)是拉格朗日乘子,上述优化问题的拉格朗日函数为:
L=tr(AT(X∑c=0CMcXT+λI)A)+tr((I−ATXHXTA)ϕ)L = tr(A^T(X\sum_{c=0}^CM_cX^T+\lambda I)A)+tr((I-A^TXHXTA)\phi)L=tr(AT(Xc=0∑C​Mc​XT+λI)A)+tr((I−ATXHXTA)ϕ)
令αLαx=0\frac{\alpha L}{\alpha x} = 0αxαL​=0,得
(X∑c=0CMcXT+λI)A=XHXTAϕ(X\sum_{c=0}^{C}M_cX^T+\lambda I)A=XHX^TA\phi(Xc=0∑C​Mc​XT+λI)A=XHXTAϕ,变换矩阵AAA就是前k个最小的特征值对应的特征向量。
另Z=ATXZ = A^TXZ=ATX,ZZZ就是新的特征,可以理解为提取了源域和目标域的公共特征,这样源域的分类器就可以作为目标域的分类器。但是目标域用的标签是伪标签,因此需要重复上述过程,直至收敛。


作者:Lenlend



联合分布 分布

需要 登录 后方可回复, 如果你还没有账号请 注册新账号