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):
在已知道源数据的输入
X
S
X_S
XS和输出
Y
S
Y_S
YS以及目标数据的输入
X
T
X_T
XT的情况下,预测
X
T
X_T
XT对应的输出
Y
T
Y_T
YT,并且假设源数据和目标数据的边缘分布有很多差异,即
P
(
X
S
)
≠
Q
(
X
T
)
P(X_S) \neq Q(X_T)
P(XS)=Q(XT),但是条件分布一致,即
P
(
Y
S
∣
X
S
)
=
Q
(
Y
T
∣
X
T
)
P(Y_S|X_S) = Q(Y_T|X_T)
P(YS∣XS)=Q(YT∣XT)。
而在联合分布自适应(JDA)中,条件分布是可以不一致的,即在源数据和目标数据的边缘分布和条件分布差异都很大的情况下,预测目标数据的输出
Y
T
Y_T
YT,JDA原文中如此表述其要解决的问题:
(1) 对域的定义(Domain):域
D
D
D由一个m为空间
X
X
X和一个边缘分布
P
x
)
Px)
Px)组成,即
D
=
{
X
,
P
(
x
)
,
x
∈
X
}
D=\lbrace {X,P(x)},x \in X \rbrace
D={X,P(x),x∈X}。
(2) 任务的定义 (Task):给定域
D
D
D,任务
T
T
T由标签集合
Y
Y
Y和分类器
f
(
x
)
f(x)
f(x)组成,即
T
=
{
Y
,
f
(
x
)
}
T=\lbrace {Y,f(x)}\rbrace
T={Y,f(x)}。
(3) 问题:已知带标签的源数据
D
S
=
{
(
x
1
,
y
1
)
,
⋅
⋅
⋅
,
(
x
n
s
,
y
n
s
)
}
D_S=\lbrace(x_1,y_1),···,(x_{n_s},y_{n_s})\rbrace
DS={(x1,y1),⋅⋅⋅,(xns,yns)}和不带标签的目标域
D
T
=
{
x
n
s
+
1
,
⋅
⋅
⋅
,
x
n
s
+
n
t
}
D_T=\lbrace x_{n_s+1},···,x_{n_s+n_t} \rbrace
DT={xns+1,⋅⋅⋅,xns+nt},假设
X
S
=
X
T
,
Y
S
=
Y
T
,
P
(
X
S
)
≠
P
(
X
T
)
,
Q
(
Y
S
∣
X
S
)
≠
Q
(
Y
T
∣
Y
S
)
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希望最小化输入经过
T
T
T变换后和标签的联合期望:
m
i
n
T
∣
∣
E
p
(
x
s
,
y
s
)
(
T
(
x
s
)
,
y
s
)
−
E
p
(
x
t
,
y
t
)
(
T
(
x
t
)
,
y
t
)
∣
∣
≈
∣
∣
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
)
∣
∣
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
(
Y
S
∣
X
S
)
≈
Q
(
Y
T
∣
X
T
)
Q(Y_S|X_S)\approx Q(Y_T|X_T)
Q(YS∣XS)≈Q(YT∣XT)。显然伪标签是不够准确的,因此优化结果也是不准确的,JDA采样反复迭代的方法,逐渐提高伪标签的正确率。
特征变换
主成分分析(PCA)通过降维的方法学习变换特征表示,设
X
=
{
x
1
,
x
2
,
⋅
⋅
⋅
,
x
n
}
∈
R
m
×
n
,
n
=
n
s
+
n
t
X=\lbrace x_1,x_2,···,x_n\rbrace \in R^{m\times n},n = n_s+n_t
X={x1,x2,⋅⋅⋅,xn}∈Rm×n,n=ns+nt,
H
=
I
−
1
n
1
,
1
∈
R
n
×
n
H = I -\frac{1}{n}1,1\in R^{n\times n}
H=I−n11,1∈Rn×n是中心矩阵,
X
H
X
T
XHX^T
XHXT是协方差矩阵,PCA的目标是找到一个正交变换矩阵使得:
m
a
x
A
T
A
=
I
t
r
(
A
T
X
H
X
T
A
)
(
1
)
max_{A^TA=I}tr(A^TXHX^TA)\space\space\space(1)
maxATA=Itr(ATXHXTA) (1)
这个优化问题可以通过奇异值分解
X
H
X
T
A
ϕ
=
A
ϕ
XHX^TA\phi=A\phi
XHXTAϕ=Aϕ求解,
ϕ
=
d
i
a
g
(
ϕ
1
,
ϕ
2
,
⋅
⋅
⋅
,
ϕ
k
)
∈
R
k
×
k
\phi =diag(\phi _1,\phi _2,···,\phi _k) \in R^{k\times k}
ϕ=diag(ϕ1,ϕ2,⋅⋅⋅,ϕk)∈Rk×k,是k个最大的特征值最后找到最优的k为特征表示
Z
=
A
T
X
Z=A^TX
Z=ATX
边缘分布适配
PCA等降维方法可以学习输入变换的特征表示,但是这样的特征表示是在不同域进行的,学习到的是不同域独立的特征表示。JDA中采样TCA的方法,通过优化两个分布的MMD距离,最小化边缘分布的期望差异:
∣
∣
1
n
s
∑
i
=
1
n
s
A
T
x
i
−
1
n
s
+
n
t
∑
j
=
1
n
t
+
n
s
A
T
x
j
∣
∣
2
=
t
r
(
A
T
X
M
0
X
A
)
(
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)
∣∣ns1i=1∑nsATxi−ns+nt1j=1∑nt+nsATxj∣∣2=tr(ATXM0XA) (2)
A
A
A是变换矩阵
M
0
M_0
M0,是MMD矩阵,
M
0
=
{
1
n
s
n
s
,
x
i
,
x
j
∈
D
s
1
n
t
n
t
,
x
i
,
x
j
∈
D
T
−
1
n
s
n
t
,
o
t
h
e
r
s
(
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=⎩⎪⎨⎪⎧nsns1,ntnt1,−nsnt1,xi,xj∈Dsxi,xj∈DTothers (3)
通过使用JCA学习特征变换矩阵
A
A
A,得到新的特征表示
Z
=
A
T
X
Z=A^TX
Z=ATX
条件分布适配
条件分布适配就是要最小化
Q
(
Y
S
∣
X
S
)
Q(Y_S|X_S)
Q(YS∣XS)和
Q
(
Y
T
∣
X
T
)
Q(Y_T|X_T)
Q(YT∣XT)的距离,前面已经说到可以是源数据训练一个分类器,比如支持向量机,预测目标域的标签,称之为伪标签。但是有存在另一个问题是条件分布很难计算,但是类条件概率
Q
(
X
S
∣
Y
S
=
c
)
Q(X_S|Y_S=c)
Q(XS∣YS=c)和
Q
(
X
T
∣
Y
T
=
c
)
,
c
∈
{
1
,
2
⋅
⋅
⋅
,
n
}
Q(X_T|Y_T=c),c\in \lbrace 1,2···,n \rbrace
Q(XT∣YT=c),c∈{1,2⋅⋅⋅,n}是很容易统计的,如果两个分布的类条件概率的差异很小时,那么条件分布的差异也应该很小的,因此最小化类条件概率和最小化条件概率是相当一致的。JDA中依然使用MMD距离衡量两个分布的差异:
∣
∣
1
n
s
c
∑
x
i
∈
D
s
c
A
T
x
i
−
1
n
s
c
+
n
t
c
∑
x
j
∈
D
t
c
A
T
x
j
∣
∣
2
=
t
r
(
A
T
X
M
c
X
A
)
(
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)
∣∣nsc1xi∈Dsc∑ATxi−nsc+ntc1xj∈Dtc∑ATxj∣∣2=tr(ATXMcXA) (4)
M
=
{
1
n
s
c
,
x
i
,
x
j
∈
D
S
1
n
t
c
,
x
i
,
x
j
∈
D
T
−
1
n
s
n
c
,
{
x
i
∈
D
S
,
x
j
∈
D
T
x
i
∈
D
T
,
x
j
∈
D
S
0
,
o
t
h
e
r
s
(
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=⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧nsc1,ntc1,−nsnc1,{xi∈DS,xj∈DTxi∈DT,xj∈DS0,xi,xj∈DSxi,xj∈DTothers (5)
优化问题
把边缘分布和所有类条件分布的MMD距离加起来,就是要优化的问题:
m
a
x
A
T
X
H
X
T
A
=
I
∑
i
=
0
C
t
r
(
A
T
X
M
C
X
T
A
)
+
λ
∣
∣
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=Ii=0∑Ctr(ATXMCXTA)+λ∣∣A∣∣2 (6)
后一项是正则化项。
设
ϕ
=
d
i
a
g
(
ϕ
1
,
⋅
⋅
⋅
,
ϕ
k
)
\phi = diag(\phi_1,···,\phi_k)
ϕ=diag(ϕ1,⋅⋅⋅,ϕk)是拉格朗日乘子,上述优化问题的拉格朗日函数为:
L
=
t
r
(
A
T
(
X
∑
c
=
0
C
M
c
X
T
+
λ
I
)
A
)
+
t
r
(
(
I
−
A
T
X
H
X
T
A
)
ϕ
)
L = tr(A^T(X\sum_{c=0}^CM_cX^T+\lambda I)A)+tr((I-A^TXHXTA)\phi)
L=tr(AT(Xc=0∑CMcXT+λI)A)+tr((I−ATXHXTA)ϕ)
令
α
L
α
x
=
0
\frac{\alpha L}{\alpha x} = 0
αxαL=0,得
(
X
∑
c
=
0
C
M
c
X
T
+
λ
I
)
A
=
X
H
X
T
A
ϕ
(X\sum_{c=0}^{C}M_cX^T+\lambda I)A=XHX^TA\phi
(Xc=0∑CMcXT+λI)A=XHXTAϕ,变换矩阵
A
A
A就是前k个最小的特征值对应的特征向量。
另
Z
=
A
T
X
Z = A^TX
Z=ATX,
Z
Z
Z就是新的特征,可以理解为提取了源域和目标域的公共特征,这样源域的分类器就可以作为目标域的分类器。但是目标域用的标签是伪标签,因此需要重复上述过程,直至收敛。