- 监督学习的目的就是从训练集
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