A Primer on Domain Adaptation Theory and Applications

Pirmin Lemberger, Ivan Panico, A Primer on Domain Adaptation
Theory and Applications, 2019.

機器學習分爲訓練和測試倆步驟, 且往往假設訓練樣本的分佈和測試樣本的分佈是一致的, 但是這種情況在實際中並不一定成立. 作者就prior shift, covratie shift, concept shift, subspace mapping 四種情形給出相應的’解決方案".

主要內容

符號說明

xXRp\mathbf{x} \in \mathcal{X} \subset \mathbb{R}^p: 數據
yY={ω1,,ωk}y \in \mathcal{Y}=\{\omega_1,\ldots, \omega_k\}: 類別標籤
S={(x1,y1),(xm,ym)}S=\{(\mathbf{x}_1,y_1), \ldots(\mathbf{x_m}, y_m)\}: 訓練樣本
hH:XYh \in \mathcal{H}:\mathcal{X} \rightarrow \mathcal{Y}: 擬合函數/分類器
y^=h(x)\hat{y}=h(\mathbf{x}):預測
:Y×YR\ell: \mathcal{Y} \times \mathcal{Y} \rightarrow \mathbb{R}: 損失函數
R[h]:=E(x,y)p[(y,h(x)]R[h]:= \mathbb{E}_{(\mathbf{x}, y) \sim p}[\ell(y, h(\mathbf{x})]: risk
R^[h]:=1mi=1m[(yi,h(xi)]\hat{R}[h]:= \frac{1}{m} \sum_{i=1}^m [\ell(y_i, h(\mathbf{x}_i)]: 經驗風險函數
pSp_S: 訓練數據對應的分佈
pTp_T: 目標數據對應的分佈
p^\hat{p}:近似的分佈

Prior shift

pS(xy)=pT(xy)p_S(\mathbf{x}|y)=p_T(\mathbf{x}|y)pS(y)pT(y)p_S(y) \not = p_T(y). (如, 訓練的時候,對每一類, 我們往往選擇相同數目的樣本以求保證類別的均衡).

在這裏插入圖片描述

假設根據訓練樣本SS和算法AA,我們得到了一個近似後驗分佈p^S(yx)\hat{p}_S(y|\mathbf{x}), 且近似的先驗分佈p^S(y=ωk)=mk/S\hat{p}_S(y=\omega_k)=m_k/|S|, 並同樣假設p^S(xy)=p^T(xy)\hat{p}_S(\mathbf{x}|y)=\hat{p}_T(\mathbf{x}|y), 有
p^T(ωkx)=w^(ωk)p^S(ωkx)k=1Kw^(ωk)p^S(ωkx),w^(ωk):=p^T(ωk)p^S(ωk).(9) \tag{9} \hat{p}_T(\omega_k|\mathbf{x})= \frac{\hat{w}(\omega_k)\hat{p}_S(\omega_k|\mathbf{x})}{\sum_{k'=1}^K\hat{w}(\omega_{k'})\hat{p}_S(\omega_{k'}|\mathbf{x})}, \hat{w}(\omega_k):=\frac{\hat{p}_T(\omega_k)}{\hat{p}_S(\omega_k)}.

倘若我們知道p^T(ωk),k=1,,K\hat{p}_T(\omega_k), k=1,\ldots, K, 那麼我們就直接可以利用(9)式來針對目標數據集了, 而這裏的真正的難點在於, 如果不知道, 應該怎麼辦.

假設, 我們的目標數據集的樣本數據爲x1,,xm\mathbf{x}_1', \ldots, \mathbf{x}_m', 則我們的目標是求出p^T(ωkx)\hat{p}_T(\omega_k|\mathbf{x}'), 有
p^T(ωk)=i=1mp^T(ωk,xi)=1mi=1mp^T(ωkxi),(10) \tag{10} \hat{p}_T(\omega_k)=\sum_{i=1}^m \hat{p}_T(\omega_k,\mathbf{x}_i')=\frac{1}{m} \sum_{i=1}^m \hat{p}_T(\omega_k|\mathbf{x}_i'),
其中在最後一個等號部分, 我們假設了p(xi)=1mp(\mathbf{x}_i')=\frac{1}{m}, 這個假設並非空穴來風, 我們可以從EM算法角度去理解.

於是, 很自然地, 我們可以利用交替迭代求解
p^T(s)(ωkx)=w^(ωk)p^S(ωkx)k=1Kw^(ωk)p^S(ωkx),w^(ωk):=p^T(s)(ωk)p^S(ωk).p^T(s+1)(ωk)=1mi=1mp^T(s)(ωkxi).(11) \tag{11} \hat{p}_T^{(s)}(\omega_k|\mathbf{x}')= \frac{\hat{w}(\omega_k)\hat{p}_S(\omega_k|\mathbf{x}')}{\sum_{k'=1}^K\hat{w}(\omega_{k'})\hat{p}_S(\omega_{k'}|\mathbf{x}')}, \hat{w}(\omega_k):=\frac{\hat{p}_T^{(s)}(\omega_k)}{\hat{p}_S(\omega_k)}. \\ \hat{p}_T^{(s+1)}(\omega_k)=\frac{1}{m} \sum_{i=1}^m \hat{p}_T^{(s)}(\omega_k|\mathbf{x}_i').

注: 在實際中, 由於各種因素, 這麼做反而畫蛇添足, 起到反效果, 我們可以通過假設檢驗來判斷是否接受.
在這裏插入圖片描述

在這裏插入圖片描述

其趨向於χ(K1)2\chi^2_{(K-1)}對於足夠多地樣本.

Covariate shift

pS(yx)=pT(yx)p_S(y|\mathbf{x})=p_T(y|\mathbf{x}), 但是pS(x)pT(x)p_S(\mathbf{x})\not = p_T(\mathbf{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)p_T(\mathbf{x}) in the training set.
在這裏插入圖片描述

我們所希望最小化,
RT[h]:=EpT[(h(x)),y)]=EpS[w(x)(h(x)),y)].(14,15) \tag{14,15} R_T[h]:= \mathbb{E}_{p_T}[\ell(h(\mathbf{x})),y)] =\mathbb{E}_{p_S}[w(\mathbf{x})\ell(h(\mathbf{x})),y)].
在實際中, 若我們有w(x)=pT(x)/pS(x)w(\mathbf{x})=p_T(\mathbf{x})/p_S(\mathbf{x})或者其一個估計w^(x)\hat{w}(\mathbf{x}), 我們最小化經驗風險
R^S,w[h]:=1mi=1mw(xi)(h(xi),yi).(16) \tag{16} \hat{R}_{S, w} [h]:= \frac{1}{m} \sum_{i=1}^m w(\mathbf{x}_i) \ell(h(\mathbf{x}_i),y_i).

注: 以下情況不適合用(16):

  1. pS(xi)=0p_S(\mathbf{x}_i)=0 但是pT(x)i0p_T(\mathbf{x})_i \not=0;
  2. pS,pTp_S, p_T二者差距很大, 使得ww波動很大.

pSp_S最好是選取範圍和pTp_T近似, 這些是根據下面的理論結果的到的:
在這裏插入圖片描述
(17)有1δ1-\delta的可信度.

w^\hat{w}

顯然, 解決(16)的關鍵在於w^:=p^T(x)/p^S(x)\hat{w}:=\hat{p}_T(\mathbf{x})/\hat{p}_S(\mathbf{x}), 有很多的概率密度估計方法(如核密度估計(KDE)), 但是在實際應用中, 這種估計可能會導致不可控的差的結果.

一個策略是直接估計w^\hat{w}, 而非分別估計p^T,p^S\hat{p}_T, \hat{p}_S:

  • 期望均方誤差EpS[(w^pT/pS)2]\mathbb{E}_{p_S}[(\hat{w}-p_T/p_S)^2](怎麼玩?);
  • KL散度KL(pTw^pS)\mathbf{KL}(p_T \| \hat{w}p_S)(怎麼玩?);
  • 最大平均差異(maximum mean discrepancy, MMD).
KMM

選擇kernel K(x,y)K(\mathbf{x}, \mathbf{y}), 相當於將x\mathbf{x}映入一個希爾伯特空間(RKHS), xΦx\mathbf{x} \rightarrow \Phi_{\mathbf{x}}, 其內積爲Φx,Φy=K(x,y)\langle \Phi_{\mathbf{x}}, \Phi_{\mathbf{y}} \rangle=K(\mathbf{x}, \mathbf{y}). 則MMD定義爲:
(MMD[α,β])2:=Exα[Φx]Exβ[Φx]2=Exα[Φx]22Exα[Φx],Exβ[Φx]+Exβ[Φx]2. (\mathrm{MMD}[\alpha, \beta])^2:=\|\mathbb{E}_{\mathbf{x} \sim \alpha} [\Phi_{\mathbf{x}}]-\mathbb{E}_{\mathbf{x} \sim \beta} [\Phi_{\mathbf{x}}]\|^2= \|\mathbb{E}_{\mathbf{x} \sim \alpha} [\Phi_{\mathbf{x}}]\|^2-2\langle \mathbb{E}_{\mathbf{x} \sim \alpha} [\Phi_{\mathbf{x}}],\mathbb{E}_{\mathbf{x} \sim \beta} [\Phi_{\mathbf{x}}] \rangle+ \|\mathbb{E}_{\mathbf{x} \sim \beta} [\Phi_{\mathbf{x}}]\|^2.

則令α=w^p^S,β=p^T\alpha=\hat{w}\hat{p}_S, \beta=\hat{p}_T
在這裏插入圖片描述
(MMD[p^T,w^p^S])2=1mS2(12w^TKw^kTw^)+const,(21) \tag{21} (\mathrm{MMD}[\hat{p}_T, \hat{w} \hat{p}_S])^2 = \frac{1}{m_S^2} (\frac{1}{2} \hat{w}^TK \hat{w} - k^T\hat{w}) +\mathrm{const},
其中w^:=(w^(x1),,w^(xmS))T\hat{w}:=(\hat{w}(\mathbf{x}_1),\ldots, \hat{w}(\mathbf{x}_{m_S}))^T, Kij:=2K(xi,xk)K_{ij}:=2K(\mathbf{x}_i,\mathbf{x}_k), ki:=2mSmTj=1mTK(xi,xj)k_i:=\frac{2m_S}{m_T} \sum_{j=1}^{m_T} K(\mathbf{x}_i,\mathbf{x}_j).

在實際中, 求解下面的優化問題
minw12w^TKw^kTw^s.t.w^(xi)[0,B],1mSi=1mSw^(xi)1ϵ. \begin{array}{rc} \min_w & \frac{1}{2} \hat{w}^T K\hat{w} - k^T\hat{w} \\ \mathrm{s.t.} & \hat{w}(\mathbf{x}_i) \in [0,B], \\ & |\frac{1}{m_S} \sum_{i=1}^{m_S} \hat{w}(\mathbf{x}_i) -1| \le \epsilon. \end{array}
第一個條件爲了保證p^S,p^T\hat{p}_S,\hat{p}_T之間差距不大, 第二個條件是爲了保證概率的積分爲1的性質.

Concept shift

pS(yx)pT(yx)p_S(y|\mathbf{x})\not= p_T(y|\mathbf{x})pS(x)=pT(x)p_S(\mathbf{x})=p_T(\mathbf{x}). 其往往是在時序系統下, 即分佈pp與時間有關.

  1. 週期性地利用新數據重新訓練模型;
  2. 保留部分舊數據, 結合新數據訓練;
  3. 加入權重;
  4. 引入有效的迭代機制;
  5. 檢測偏移, 並作出反應.

在這裏插入圖片描述

Subspace mapping

訓練數據爲x\mathbf{x}, 而目標數據爲x=T(x)\mathbf{x}'=T(\mathbf{x}), 且pT(T(x),y)=pS(x,y)p_T(T(\mathbf{x}), y) = p_S(\mathbf{x},y),且TT是未知的.

我們現在的目標是找到一個有關

Wasserstein distance

以離散情形爲例, 介紹,
α:=i=1mαiδzi, \alpha := \sum_{i=1}^m \alpha_i \delta_{\mathbf{z}_i},
其中δz\delta_{\mathbf{z}}表示狄拉克函數.
Tα:=i=1mαiδT(zi), T \alpha := \sum_{i=1}^m \alpha_i \delta_{T(\mathbf{z}_i)},
則, 自然地, 我們希望
argminT,Tα=βEzα[c(z,T(z))], \arg \min_{T, T\alpha = \beta} \mathbb{E}_{\mathbf{z} \sim \alpha} [c(\mathbf{z}, T(\mathbf{z}))],
其中c(,)c(\cdot, \cdot)是我們給定的一個損失函數, 這類問題被稱爲 Monge 問題.
在這裏插入圖片描述

但是呢, 這種方式找TT非常困難, 於是有了一種概率替代方案,
γ:=i,jγijδzi,zj(30) \tag{30} \gamma := \sum_{i,j} \gamma_{ij} \delta_{\mathbf{z}_i,\mathbf{z}_j'}
爲以離散概率分佈, 則
E(z,z)γ[c(z,z)]:=i,jγi,jc(zi,zj),(33) \tag{33} \mathbb{E}_{(\mathbf{z},\mathbf{z}') \sim \gamma}[c(\mathbf{z},\mathbf{z}')]:=\sum_{i,j} \gamma_{i,j}c(\mathbf{z}_i,\mathbf{z}_j),
Lc(α,β):=minγU(α,β)E(z,z)γ[c(z,z)](34) \tag{34} \mathcal{L}_c (\alpha, \beta) := \min_{\gamma \in U(\alpha, \beta)} \mathbb{E}_{(\mathbf{z}, \mathbf{z}') \sim \gamma}[c(\mathbf{z}, \mathbf{z}')]
衡量了從分佈α\alpha變換到分佈β\beta的難易程度, 其中
U(α,β):={γ:j=1sγij=αi,i=1rγij=βj}, U(\alpha, \beta):=\{ \gamma: \sum_{j=1}^s \gamma_{ij} =\alpha_i, \sum_{i=1}^r \gamma_{ij} = \beta_j\},
注意這實際上是一個事實, 因爲α,β\alpha, \beta是其聯合分佈γ\gamma的邊緣分佈.

而Wasserstein distance實際上就是
Wp(α,β):=[Ldp(α,β)]1/p,c(z,z)=[d(z,z)]p,p1.(35) \tag{35} W_p(\alpha,\beta) := [\mathcal{L}_{d^p} (\alpha, \beta)]^{1/p}, c(\mathbf{z},\mathbf{z}')=[d(\mathbf{z},\mathbf{z}')]^p, p\ge1.
dd爲一距離.

應用於 subspace mapping

策略一:
α=p^S(x),β=p^T(x)\alpha=\hat{p}_S(\mathbf{x}), \beta=\hat{p}_T(\mathbf{x}'), 通過(34)可以找到一個γ\gamma, 再利用γ\gamma把訓練數據SS映射到p^T\hat{p}_T分佈上, 再利用新的訓練數據重新訓練模型. (? 如何利用γ\gamma變換呢?)

注:爲了防止(xi,yi),(xj,yj),yiyj(\mathbf{x}_i,y_i),(\mathbf{x}_j,y_j), y_i \not =y_j變換到同一個新數據, 需要添加一個懲罰項.

策略二:
α=p^S(x,y),β=p^T(x,y)\alpha=\hat{p}_S(\mathbf{x},y), \beta=\hat{p}_T (\mathbf{x}',y'), 但是yy'我們是不知道的, 所以用h(x)h(\mathbf{x}')代替, 且
p^Th(x,y):=p^T(x)δy=h(x), \hat{p}_T^h(\mathbf{x}',y'):= \hat{p}_T(\mathbf{x}') \delta_{y'=h(\mathbf{x}')},
於是
hOT:=argminhHW1(p^S,p^Th),(37) \tag{37} h_{OT} := \arg \min_{h \in \mathcal{H}} W_1(\hat{p}_S, \hat{p}_T^h),


hOT=argminhHminγU(p^S,p^Th)i,jγijd((xi,yi),(xj,h(xj))).(38) \tag{38} h_{OT} = \arg \min_{h \in \mathcal{H}} \min_{\gamma \in U(\hat{p}_S, \hat{p}_T^h)} \sum_{i,j} \gamma_{ij} d((\mathbf{x}_i,y_i),(\mathbf{x}_j', h(\mathbf{x}_j'))).
其中
d((x,y),(x,y)):=λρ(x,x)+(y,y). d((\mathbf{x},y),(\mathbf{x}', y')) := \lambda \rho(\mathbf{x},\mathbf{x}') + \ell(y,y').
在實際使用中, 視實際情況而定, 加入懲罰項
hOT=argminhHminγU(p^S,p^Th)(i,jγij[λρ(xi,xj)+(yi,h(xj))]+ϵreg[h]).(39) \tag{39} h_{OT} = \arg \min_{h \in \mathcal{H}} \min_{\gamma \in U(\hat{p}_S, \hat{p}_T^h)} \big(\sum_{i,j} \gamma_{ij} [ \lambda \rho(\mathbf{x}_i,\mathbf{x}_j') + \ell(y_i,h(\mathbf{x}_j'))] + \epsilon \mathrm{reg}[h] \big).

Prior shift 的EM解釋

考慮聯合概率pθ(x1,,xm;z1,,zm)p_{\theta}(\mathbf{x}_1, \ldots, \mathbf{x}_m; \mathbf{z}_1,\ldots, \mathbf{z}_m), 其中zi,i=1,,m\mathbf{z}_i,i=1,\ldots, m爲隱變量, xi,i=1,,m\mathbf{x}_i, i=1,\ldots,m爲觀測變量,EM算法步驟如下:

  1. E步: Ez[logpθ(x1,,xm;z1,,zm)]\mathbb{E}_{\mathbf{z}}[\log p_{\theta}(\mathbf{x}_1, \ldots, \mathbf{x}_m; \mathbf{z}_1,\ldots, \mathbf{z}_m)](下面是離散情況)

在這裏插入圖片描述
2. M步:

在這裏插入圖片描述

Prior shift中, θ:=[pT(ω1),,pT(ωK)]T\theta:= [p_T(\omega_1), \ldots, p_T(\omega_K)]^{\mathrm{T}}, 隱變量zi:=(zi1,,ziK)\mathbf{z}_i:=(z_{i1},\ldots, z_{iK})yi{ω1,,ωK}y_i \in \{\omega_1,\ldots, \omega_K\}的one-hot-encodings. 則

在這裏插入圖片描述
其對數似然爲
在這裏插入圖片描述
條件概率爲
在這裏插入圖片描述
且易知
在這裏插入圖片描述
在這裏插入圖片描述
所以:
在這裏插入圖片描述
因爲θk\theta_k滿足kθk=1\sum_k \theta_k=1並不相互獨立, 所以利用拉格朗日乘子法
在這裏插入圖片描述
取得極值的必要條件爲
在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章