- 监督学习的目的就是从训练集
Dtr={ (xtr1,ytr1),...,(xtrm,ytrm)}⊆X×Y
中寻找出一个合适的模型 f 使它适用于测试集
Dte={ (xte1,yte1),...,(xten,yten)}⊆X×Y
其中 ytei 是未知的。很多情况下训练集和测试集并不是同分布,例如 PtrXY≠PteXY ,因此需要引入域适应算法来解决此类问题。
以JDA为例,进行域适应
JDA | JDA+调整Y分布 |
---|---|
工况1-5 | 24.45 |
工况1-4 | 16.41 |
目录
[toc]
Why and how to correct for target/conditional shift?
Distribution shift correction by data transformation/reweighting
- Correction for target shift
- Location-scale generalized target shift
- Simulations
Why and how to correct for target/conditional shift?
why
假设在 PtrX∣Y≠PteX∣Y 和 Ptr(X)≠Pte(X) 情况下从X预测Yhow
针对上述问题,论文提出三种域适应方法- Target shift(TarS)
- Conditional Shift(ConS)
- Generalized target shift(GeTarS)
- Target shift(TarS)
PtrX∣Y=PteX∣Y 并且 Ptr(Y)≠Pte(Y) - Conditional Shift(ConS)
PtrX∣Y≠PteX∣Y 并且 Ptr(Y)=Pte(Y) - Generalized target shift(GeTarS)
PtrX∣Y≠PteX∣Y 并且 Ptr(Y)≠Pte(Y)
Distribution shift correction by data transformation/reweighting
为了从训练集 Dtr={xi,yi}mi=1 中寻找出回归、分类器 f(x) ,在测试集上可以精准预测。文中提出两种方法:
1. Importance reweighting
2.Sample transformation and reweighting
Importance reweighting
最小测试集上的化期望损失函数
- PteXY 被包含于 PtrXY
- PXY 分解为 PYPX∣Y 而不是 PXPY∣X
- θ 表示损失函数 l(x,y,θ) 的参数
- 令 β∗(y)=PteY/PtrY ,而且, γ∗=PteX∣Y/PtrX∣Y
最终需要使得经验损失最小:
Sample transformation and reweighting
在寻找一个转换器 Γ 使得:
并且使得 PnewX∣Y=PteX∣Y
测试集上的期望损失为:
Ytr
在转化函数
Γ
中是一个关键,不同的
Y
可能导致
最终需要使得经验损失最小:
Correction for target shift
目标是在 PtrX∣Y=PteX∣Y 和 PtrY≠PteY 的情况下,寻找 β∗(y)=PteY/PtrY ,并且有如下几个假设:
- 训练数据比测试数据丰富
-
Y
只存在一种可能的分布,与
Ptrx|y 影响 PteX - k,l 分别是 X,Y 的核,并且是特有的
kernel mean matching
PX 的核均值嵌入是在再生核希尔伯特空间(RKHS)中的一个点,可以通过下式计算得到:
其经验估计是:
PX∣Y
的可以认为是从
G
空间到
其中
CXY
表示互协方差,
CYY
为自协方差,并且可以得到
经验估计为:
为了使得 PnewY=β(y)PtrY ,需要在匹配 PnewX 和 PteX 的过程中计算得出 β(y)
根据经验估计值计算上式的平方:
令
问题可以等价为一个QP问题
s.t.
βi∈[0,B]
并且
|∑mi=1βi−m|≤mε
,
B
,
Location-scale generalized target shift
假设: PY 和 PX∣Y 都发生了改变,但是 PX∣Y 仅仅在位置和尺度上发生了变化。
例如: ∃ W(Ytr)=diag[w1(Ytr),...,wd(Ytr)] ,并且 B(Ytr)=[b1(Ytr),...,bd(Ytr)]T
Thanks for watching