数据分布矫正


  • 监督学习的目的就是从训练集
    Dtr={ (xtr1,ytr1),...,(xtrm,ytrm)}X×Y

    中寻找出一个合适的模型 f 使它适用于测试集
    Dte={ (xte1,yte1),...,(xten,yten)}X×Y

    其中 ytei 是未知的。很多情况下训练集和测试集并不是同分布,例如 PtrXYPteXY ,因此需要引入域适应算法来解决此类问题。

85% 85%

5工况标签分布图                       5工况数据分布图

以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
    假设在 PtrXYPteXY Ptr(X)Pte(X) 情况下从X预测Y

  • how
    针对上述问题,论文提出三种域适应方法

    • Target shift(TarS)
    • Conditional Shift(ConS)
    • Generalized target shift(GeTarS)
  • Target shift(TarS)
    PtrXY=PteXY 并且 Ptr(Y)Pte(Y)
  • Conditional Shift(ConS)
    PtrXYPteXY 并且 Ptr(Y)=Pte(Y)
  • Generalized target shift(GeTarS)
    PtrXYPteXY 并且 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

最小测试集上的化期望损失函数

R[Pte,θ,l(x,y,θ)]=E(x,y)PteXY[l(x,y,θ)]=
E(x,y)PtrXYPteY/PtrYPteXY/PtrXYl(x,y,θ)dxdy
  • PteXY 被包含于 PtrXY
  • PXY 分解为 PYPXY 而不是 PXPYX
  • θ 表示损失函数 l(x,y,θ) 的参数
  • β(y)=PteY/PtrY ,而且, γ=PteXY/PtrXY

最终需要使得经验损失最小:

R^=i=1mβ(ytri)γ(xtri,ytri)l(xi,yi,θ)

Sample transformation and reweighting

在寻找一个转换器 Γ 使得:

Xnew=Γ(Xtr,Ytr)

并且使得 PnewXY=PteXY

测试集上的期望损失为:

R[Pte,θ,l(x,y,θ)]=EPteXY[l(x,y,θ)]=PtrYβ(ytri)l(x,y,θ)dxdy=E(x,y)PtrYPnewxy[β(y)l(x,y,θ)]

Ytr 在转化函数 Γ 中是一个关键,不同的 Y 可能导致 Γ 的不同

最终需要使得经验损失最小:

R^=i=1mβ(ytri)l(xnewi,ytri,θ)

Correction for target shift

目标是在 PtrXY=PteXY PtrYPteY 的情况下,寻找 β(y)=PteY/PtrY ,并且有如下几个假设:

  • 训练数据比测试数据丰富
  • Y 只存在一种可能的分布,与 Ptrx|y 影响 PteX
  • k,l 分别是 X,Y 的核,并且是特有的

kernel mean matching

PX 的核均值嵌入是在再生核希尔伯特空间(RKHS)中的一个点,可以通过下式计算得到:

μ[Px]=ExPX[ψ(X)]

其经验估计是:

μ[Px]=1mi=1mψ(xi)

120%

核均值嵌入

PXY 的可以认为是从 G 空间到 F 空间的映射定义为:

U[PX]=CXYC1YY

其中 CXY 表示互协方差, CYY 为自协方差,并且可以得到

μ[PX]=U[PXY]μ[PY]

经验估计为:

U^XY=Ψ(L+λI)1ΦT

为了使得 PnewY=β(y)PtrY ,需要在匹配 PnewX PteX 的过程中计算得出 β(y)

β=argmin||μ[Pnew(X)]μ[Pte(X)]||

=U[Ptr(XY)]EYPtr(Y)[β(y)ϕ(y)]μ[Pte(X)]||

根据经验估计值计算上式的平方:

||U^XY1mi=1mβiϕ(yi)tr1nψ(xtei)||2

=1m2βTL(L+λmI)1K(L+λmI)1Lβ

2mn1TKc(L+λmI)1Lβ+const


βTL(L+λmI)1K(L+λmI)1L=J

1TKc(L+λmI)1L=M

问题可以等价为一个QP问题

min.12βTJβmnMβ

  s.t.      βi[0,B] 并且 |mi=1βim|mε B , ε 是参数

Location-scale generalized target shift

假设: PY PXY 都发生了改变,但是 PXY 仅仅在位置和尺度上发生了变化。

例如:     W(Ytr)=diag[w1(Ytr),...,wd(Ytr)] ,并且 B(Ytr)=[b1(Ytr),...,bd(Ytr)]T


Thanks for watching

你可能感兴趣的:(机器学习)