Pirmin Lemberger, Ivan Panico, A Primer on Domain Adaptation
Theory and Applications, 2019.
概
机器学习分为训练和测试俩步骤, 且往往假设训练样本的分布和测试样本的分布是一致的, 但是这种情况在实际中并不一定成立. 作者就prior shift, covratie shift, concept shift, subspace mapping 四种情形给出相应的’解决方案".
主要内容
符号说明
x∈X⊂Rp: 数据
y∈Y={ω1,…,ωk}: 类别标签
S={(x1,y1),…(xm,ym)}: 训练样本
h∈H:X→Y: 拟合函数/分类器
y^=h(x):预测
ℓ:Y×Y→R: 损失函数
R[h]:=E(x,y)∼p[ℓ(y,h(x)]: risk
R^[h]:=m1∑i=1m[ℓ(yi,h(xi)]: 经验风险函数
pS: 训练数据对应的分布
pT: 目标数据对应的分布
p^:近似的分布
Prior shift
pS(x∣y)=pT(x∣y) 但
pS(y)=pT(y). (如, 训练的时候,对每一类, 我们往往选择相同数目的样本以求保证类别的均衡).

假设根据训练样本
S和算法
A,我们得到了一个近似后验分布
p^S(y∣x), 且近似的先验分布
p^S(y=ωk)=mk/∣S∣, 并同样假设
p^S(x∣y)=p^T(x∣y), 有
p^T(ωk∣x)=∑k′=1Kw^(ωk′)p^S(ωk′∣x)w^(ωk)p^S(ωk∣x),w^(ωk):=p^S(ωk)p^T(ωk).(9)
倘若我们知道
p^T(ωk),k=1,…,K, 那么我们就直接可以利用(9)式来针对目标数据集了, 而这里的真正的难点在于, 如果不知道, 应该怎么办.
假设, 我们的目标数据集的样本数据为
x1′,…,xm′, 则我们的目标是求出
p^T(ωk∣x′), 有
p^T(ωk)=i=1∑mp^T(ωk,xi′)=m1i=1∑mp^T(ωk∣xi′),(10)
其中在最后一个等号部分, 我们假设了
p(xi′)=m1, 这个假设并非空穴来风, 我们可以从EM算法角度去理解.
于是, 很自然地, 我们可以利用交替迭代求解
p^T(s)(ωk∣x′)=∑k′=1Kw^(ωk′)p^S(ωk′∣x′)w^(ωk)p^S(ωk∣x′),w^(ωk):=p^S(ωk)p^T(s)(ωk).p^T(s+1)(ωk)=m1i=1∑mp^T(s)(ωk∣xi′).(11)
注: 在实际中, 由于各种因素, 这么做反而画蛇添足, 起到反效果, 我们可以通过假设检验来判断是否接受.


其趋向于
χ(K−1)2对于足够多地样本.
Covariate shift
pS(y∣x)=pT(y∣x), 但是
pS(x)=pT(x).
A covariate shift typically occurs when the cost or the difficulty of picking an observation with given features x strongly impacts the probability of selecting an observation (x, y) thus making it practically impossible to replicate the target feature distribution
pT(x) in the training set.

我们所希望最小化,
RT[h]:=EpT[ℓ(h(x)),y)]=EpS[w(x)ℓ(h(x)),y)].(14,15)
在实际中, 若我们有
w(x)=pT(x)/pS(x)或者其一个估计
w^(x), 我们最小化经验风险
R^S,w[h]:=m1i=1∑mw(xi)ℓ(h(xi),yi).(16)
注: 以下情况不适合用(16):
-
pS(xi)=0 但是
pT(x)i=0;
-
pS,pT二者差距很大, 使得
w波动很大.
即
pS最好是选取范围和
pT近似, 这些是根据下面的理论结果的到的:

(17)有
1−δ的可信度.
w^
显然, 解决(16)的关键在于
w^:=p^T(x)/p^S(x), 有很多的概率密度估计方法(如核密度估计(KDE)), 但是在实际应用中, 这种估计可能会导致不可控的差的结果.
一个策略是直接估计
w^, 而非分别估计
p^T,p^S:
- 期望均方误差
EpS[(w^−pT/pS)2](怎么玩?);
- KL散度
KL(pT∥w^pS)(怎么玩?);
- 最大平均差异(maximum mean discrepancy, MMD).
KMM
选择kernel
K(x,y), 相当于将
x映入一个希尔伯特空间(RKHS),
x→Φx, 其内积为
⟨Φx,Φy⟩=K(x,y). 则MMD定义为:
(MMD[α,β])2:=∥Ex∼α[Φx]−Ex∼β[Φx]∥2=∥Ex∼α[Φx]∥2−2⟨Ex∼α[Φx],Ex∼β[Φx]⟩+∥Ex∼β[Φx]∥2.
则令
α=w^p^S,β=p^T 则

(MMD[p^T,w^p^S])2=mS21(21w^TKw^−kTw^)+const,(21)
其中
w^:=(w^(x1),…,w^(xmS))T,
Kij:=2K(xi,xk),
ki:=mT2mS∑j=1mTK(xi,xj).
在实际中, 求解下面的优化问题
minws.t.21w^TKw^−kTw^w^(xi)∈[0,B],∣mS1∑i=1mSw^(xi)−1∣≤ϵ.
第一个条件为了保证
p^S,p^T之间差距不大, 第二个条件是为了保证概率的积分为1的性质.
Concept shift
pS(y∣x)=pT(y∣x),
pS(x)=pT(x). 其往往是在时序系统下, 即分布
p与时间有关.
- 周期性地利用新数据重新训练模型;
- 保留部分旧数据, 结合新数据训练;
- 加入权重;
- 引入有效的迭代机制;
- 检测偏移, 并作出反应.

Subspace mapping
训练数据为
x, 而目标数据为
x′=T(x), 且
pT(T(x),y)=pS(x,y),且
T是未知的.
我们现在的目标是找到一个有关
Wasserstein distance
以离散情形为例, 介绍,
α:=i=1∑mαiδzi,
其中
δz表示狄拉克函数.
Tα:=i=1∑mαiδT(zi),
则, 自然地, 我们希望
argT,Tα=βminEz∼α[c(z,T(z))],
其中
c(⋅,⋅)是我们给定的一个损失函数, 这类问题被称为 Monge 问题.

但是呢, 这种方式找
T非常困难, 于是有了一种概率替代方案,
γ:=i,j∑γijδzi,zj′(30)
为以离散概率分布, 则
E(z,z′)∼γ[c(z,z′)]:=i,j∑γi,jc(zi,zj),(33)
Lc(α,β):=γ∈U(α,β)minE(z,z′)∼γ[c(z,z′)](34)
衡量了从分布
α变换到分布
β的难易程度, 其中
U(α,β):={γ:j=1∑sγij=αi,i=1∑rγij=βj},
注意这实际上是一个事实, 因为
α,β是其联合分布
γ的边缘分布.
而Wasserstein distance实际上就是
Wp(α,β):=[Ldp(α,β)]1/p,c(z,z′)=[d(z,z′)]p,p≥1.(35)
d为一距离.
应用于 subspace mapping
策略一:
α=p^
p
^
T
(
x
′
)
\alpha=\hat{p}_S(\mathbf{x}), \beta=\hat{p}_T(\mathbf{x}')
α=p^S(x),β=p^T(x′), 通过(34)可以找到一个
γ, 再利用
γ把训练数据
S映射到
p^T分布上, 再利用新的训练数据重新训练模型. (? 如何利用
γ变换呢?)
注:为了防止
(xi,yi),(xj,yj),yi=yj<