Domain Adaption 之 TCA等算法

看TCA算法 https://www.cse.ust.hk/~qyang/Docs/2009/TCA.pdf 涉及的一些推导做一些整理。 背景介绍见 https://zhuanlan.zhihu.com/p/26764147

  • 最大均值差异(MMD,maximum mean discrepancy), 令\(\bar x_s, \bar x_t \in \mathbb{R}^D\) 分别表示源域 和 目标域样本均值。表示成矩阵形式为

\[\begin{align} (\bar x_s - \bar x_t) &= \frac1{n_s}X_s 1_{n_s} -\frac1{n_t}X_t 1_{n_t} = [X_s, X_t] \left [\frac {1_{n_s}} {n_s} \atop -\frac {1_{n_t}} {n_t} \right] \\ (\bar x_s - \bar x_t) (\bar x_s - \bar x_t)^T &= [X_s, X_t] \left [\frac {1_{n_s}}{n_s} \atop -\frac {1_{n_t}} {n_t} \right] \Big[\frac {1_{n_s}^T} {n_s} , -\frac {1_{n_t}^T} {n_t} \Big] [X_s, X_t]^T \triangleq X M X^T \\ \end{align} \]

再注意, \(\|v\|_2^2 = v^T v = {\rm tr}( vv^T)\), 于是 MMD 目标函数转化为

\[\|\bar\phi(x_s) - \bar \phi(x_t)\|_2^2 = {\rm tr}\big( \phi(X) M \phi(X)^T \big) = {\rm tr}\big( \phi(X)^T \phi(X) M \big) \triangleq {\rm tr}\big( K M \big) \]

  • 注意 M 是秩-1的矩阵, 计算上或许有优化空间。如果是线性变换。

\[\|A^T(\bar x_s - \bar x_t)\|_2^2 = {\rm tr}\big(A^T (\bar x_s - \bar x_t) (\bar x_s - \bar x_t)^T A\big) = {\rm tr}\big(A^T XMX^T A\big) \]

TCA

最终的优化问题为

\[\begin{array}{c} \min _{W} \operatorname{tr}\left(W^{\top} W\right)+\mu \operatorname{tr}\left(W^{\top} K M K W\right) \\ \text { s.t. } W^{\top} K H K W=I \end{array} \]

这里 \(H = I - \frac1n ee^T\)为中心化矩阵, 约束条件相当于变换后的变量协方差矩阵为单位阵,是常见的做法,参考变种的线性判别方法LDA等算法。 简单可以理解为,用\(K\) 替换\(X\) 实现非线性转换,再加 \(W\)求线性变换。

GKF & MEDA

  • 进一步看GFK 以及 Visual Domain Adaptation with Manifold Embedded Distribution Alignment, 2018。 发现用

\[\|\bar f(z_s) - \bar f(z_t)\|_2^2 = {\rm tr}\big(\beta^T KMK^T \beta\big) \]

做为其中一个正则项。这里\(z = \sqrt{G} x\), \(G\)是根据GFK算法得到的kernel 矩阵。注意这里 kernel 矩阵\(K = K^T\) 基于 \(z\)重新构造。

其中核心的子步骤问题,可以转化为

\[\begin{array}{r} f=\underset{f \in \mathcal{H}_{K}}{\arg \min }\left\|\left(\mathbf{Y}-\boldsymbol{\beta}^{T} \mathbf{K}\right) \mathbf{A}\right\|_{F}^{2}+\eta \operatorname{tr}\left(\boldsymbol{\beta}^{T} \mathbf{K} \boldsymbol{\beta}\right) \\ +\operatorname{tr}\left(\boldsymbol{\beta}^{T} \mathbf{K}(\lambda \mathbf{M}+\rho \mathbf{L}) \mathbf{K} \boldsymbol{\beta}\right) \end{array} \]

这里 \(L\) 为laplacian矩阵。\(A = {\rm diag}([1_{n_s}; 0_{n_t}])\) 为样本指示矩阵。上面的\(M\)稍微再复杂一点, 具体见论文吧。


--- 她说, 她是仙,她不是神
原文地址:https://www.cnblogs.com/bregman/p/15630067.html