联合分布自适应


论文题目:Transfer Feature Learning with Joint Distribution Adaptation

论文作者:Mingsheng Long, Jianmin Wang, Guiguang Ding, Jiaguang Sun, and Philip S. Yu

会议期刊:ICCV 2013


简介

在迁移成分分析方法中, 只对不同域的边缘分布进行匹配. 然而在真实情况下, 边缘分布和条件分布可能都是不匹配的, 如图1所示. 本文首次在无监督领域自适应条件下(即目标域中没有带标签数据), 对不同域之间的边缘分布条件分布进行联合匹配.

图1. 不同域的边缘分布和条件分布都不匹配


问题定义

定义1 (领域, Domain)
一个领域 $\mathcal{D}$ 由 $m$ 维的特征空间 $\mathcal{X}$ 和边缘概率分布 $P(x)$ 组成. 即 $\mathcal{D} = \{\mathcal{X}, P(x)\}$.

定义2 (任务, Task)
给定领域 $\mathcal{D}$, 任务由 $C$ 类标签集 $\mathcal{Y}$ 和分类器 $f(x)$构成. 即 $\mathcal{T} = \{ \mathcal{Y}, f(x)\}$, 其中 $y \in \mathcal{Y}$ 且 $f(x) = Q(y|x)$ 可以解释为条件概率分布.

问题1 (联合分布自适应, Joint Distribution Adaptation)
给定带标签源域 $\mathcal{D}_s = \{ (\mathrm{x}_1, y_1), \cdots, (\mathrm{x}_{n_s}, y_{n_s})\}$ 和无标签目标域 $\mathcal{D}_t = \{ \mathrm{x}_{n_{s}+1}, \cdots, \mathrm{x}_{n_s + n_t}\}$, 并设定源域和目标域的特征空间及类别空间相同 $\mathcal{X}_s = \mathcal{X}_t$, $\mathcal{Y}_s = \mathcal{Y}_t$, 但边缘分布和条件分布都不相同 $P_s(\mathrm{x}_s) \ne P_t(\mathrm{x}_t)$, $Q_s(y_s|\mathrm{x}_s) \ne Q_t(y_t|\mathrm{x}_t)$, JDA希望学习到减少边缘分布 $P_s(\mathrm{x}_s)$, $P_t(\mathrm{x}_t)$ 及条件分布 $Q_s(y_s|\mathrm{x}_s)$, $Q_t(y_t|\mathrm{x}_t)$之间差异的特征表示.

方法

本文通过采用一个特征变换 $T$ 使得不同域之间的特征 $\mathcal{x}$ 和标签 $y$ 之间的联合概率期望相匹配.

特征变换

本文采用主成分分析作为特征变换的方法.

定义 $\mathbf{X}=\left[\mathbf{x}_{1}, \dots, \mathbf{x}_{n}\right] \in \mathbb{R}^{m \times n}$ 为输入数据, $\mathbf{H}$ 为中心矩阵. PCA的优化目标为寻找一个正交变换矩阵 $\mathbf{A} \in \mathbb{R}^{m \times k}$ 使得变换后数据的方差最大化:

该优化目标可以通过特征分解的方式高效地求解, 即 $\mathbf{A}$ 由协方差矩阵 $\mathbf{X} \mathbf{H} \mathbf{X}^{\mathrm{T}}$ 前 $k$ 大的特征值对应的特征向量构成.

边缘分布自适应

类似于迁移成分分析, JDA中边缘分布自适应的优化目标为:

其中,

条件分布自适应

由于目标域中的数据是无标签的, 从而无法估计目标域中的条件分布. 本文提出采用伪标签(pseudo label)的方式, 通过在带标签的源域数据中训练一个基分类器, 直接对目标域中的无标签数据进行预测. 由于存在分布差异, 基分类器的效果肯定是不好的, 因此只能得到一个大概的伪标签, 需要通过不断的迭代来调整.

此外, 文中提到直接估计后验分布 $Q_{s}\left(y_{s} | \mathrm{x}_{s}\right)$ 和 $Q_{t}\left(y_{t} | \mathrm{x}_{t}\right)$ 是十分困难的. 因此, 采用类条件分布 $Q_{s}\left(\mathrm{x}_{s} | y_{s}\right)$ 和 $Q_{t}\left(\mathrm{x}_{t} | y_{t}\right)$ 的充分统计量(sufficient statistics)替代.

定义 (充分统计量, sufficient statistics)
对于统计量 $t = T(X)$,若数据 $X$ 在已知 $t = T(X)$ 时的条件分布不依赖于参数 $\theta$,则称其是参数 $\theta$ 的充分统计量.

首先, 为什么可以用类条件分布来近似后验分布?

考虑使用贝叶斯公式 $Q(y|\mathrm{x}) = \frac{Q(\mathrm{x}|y)Q(y)}{Q(\mathrm{x})}$, 可以认为源域和目标域的边缘分布 $Q(\mathrm{x})$ 和类分布 $Q(y)$ 是相同的, 因此在衡量不同域间的后验分布差异时, 定值 $\frac{Q(y)}{Q(x)}$ 可以忽略, 从而可以直接用类条件分布来代替.

其次, 如何选择分布的充分统计量?

本文采用最大均值差异MMD准则来度量分布差异, 本质上是使用再生希尔伯特空间中高维数据的均值来作为充分统计量.

借助于类别伪标签和MMD准则, 从而可以衡量类条件分布 $Q_{s}\left(\mathbf{x}_{s} | y_{s}=c\right)$ 和 $Q_{t}\left(\mathbf{x}_{t} | y_{t}=c\right)$ 之间的差异.

其中, $\mathcal{D}_{s}^{(c)}=\left\{\mathbf{x}_{i} : \mathbf{x}_{i} \in \mathcal{D}_{s} \wedge y\left(\mathbf{x}_{i}\right)=c\right\}$ 是源域中属于类别 $c$ 的样本, $y\left(\mathbf{x}_{i}\right)$ 是样本 $\mathbf{x}_{i}$ 的标签, $n_{s}^{(c)}=\left|\mathcal{D}_{s}^{(c)}\right|$ 为源域的样本个数. 类似的, $\mathcal{D}_{t}^{(c)}=\left\{\mathbf{x}_{j} : \mathbf{x}_{j} \in \mathcal{D}_{t} \wedge \widehat{y}\left(\mathbf{x}_{j}\right)=c\right\}$ 为目标域中属于类别 $c$ 的数据, 其中 $\widehat{y}\left(\mathbf{x}_{j}\right)$ 是样本 $\mathbf{x}_{j}$ 的伪标签, $n_{t}^{(c)}=\left|\mathcal{D}_{t}^{(c)}\right|$ 为目标域的样本个数.

包含类标签的MMD矩阵 $\mathbf{M}_{c}$ 定义如下:

优化问题

JDA的优化目标有三个:

  • 最大化投影后数据的方差, 即 $\max$ 公式$(2)$
  • 最小化边缘分布, 即 $\min$ 公式$(3)$
  • 最小化条件分布, 即 $\min$ 公式$(5)$

根据广义瑞利商(generalized Rayleigh quotient), JDA的优化目标可写为:

核化(Kernelization): 对于非线性问题, 可以使用核函数映射 $\psi : \mathbf{x} \mapsto \psi(\mathbf{x})$, 或者 $\psi(\mathbf{X})=\left[\psi\left(\mathbf{x}_{1}\right), \ldots, \psi\left(\mathbf{x}_{n}\right)\right]$ 及核矩阵 $\mathbf{K}=\psi(\mathbf{X})^{\top}\psi(\mathbf{X})$, 从而得到kernel-JDA:

学习算法

根据拉格朗日乘子法, 公式$(7)$的拉格朗日函数为:

其中, $\mathbf{\Phi}=\operatorname{diag}\left(\phi_{1}, \dots, \phi_{k}\right) \in \mathbb{R}^{k \times k}$ 为拉格朗日乘子.

令 $\frac{\partial L}{\partial \mathbf{A}}=0$, 从而得到广义特征分解(generalized eigendecomposition)问题:

通过求解该广义特征分解问题, 可以得到变换矩阵 $A$ 的最优解.

联合分布自适应算法

联合分布自适应算法流程如下:

联合分布自适应算法

主要分为求解变换矩阵$A$, 训练分类器更新伪标签, 构造类MMD矩阵三部分. 注意算法需要不断迭代, 直到收敛.