Maximum Mean Discrepancy 最大化均值差异
天杀的mmd记录。
核心思想
mmd最早的提出便是为了衡量任意两个随机变量分布之间的差异,它是一种度量标准,可视作一种距离。
矩,moment,通常用来描述一个随机变量的分布。简单的例如一阶中心矩,期望;二阶中心矩,方差。但单单的期望和方差不足以描述一个高维的随机变量,这时便需要一个高维的矩来描述一个高维分布。
若两个分布任意阶的矩都一样的话,那么这两个分布便是一致的;若两个分布不一样,那么便用差值最大的矩来衡量这两个分布的差异。这便是mmd的核心思想。
定义
在 [1] 中,一个普适的mmd定义为
$$
MMD[\mathcal{F},p,q]:=\mathop{sup}\limits_{f\in\mathcal{F}}(E_p{[f(x)]}-E_q{[f(y)]})
$$
此式的含义是寻找一个映射函数$f$,这个映射函数能够将变量映射到高维空间,之后求两个分布的随机变量在映射后的期望的差,这个差值便是mean discrepancy,然后寻找这个mean discrepancy的上确界。这个最大值便是mmd。
现在有两个样本$X$和$Y$,其中$X\sim p,Y\sim q$,那么有
$$
MMD[\mathcal{F},p,q]:=\mathop{sup}\limits_{f\in\mathcal{F}}\left(\frac{1}{m}\sum_{i=1}^m{f(x_i)}-\frac{1}{n}\sum_{j=1}^n{f(y_j)}\right)
$$
RKHS下的定义
再生希尔伯特空间,reproducing kernel Hilbert space (RKHS),是一种有再生性质的希尔伯特空间。希尔伯特空间是一种内积空间,而再生希尔伯特空间拥有${\langle k(x,\cdot),k(y,\cdot)\rangle}_\mathcal{H}=k(x,y)$的性质。在迁移学习里的mmd一般用RKHS下定义的mmd,主要目的是为了后续计算中将内积计算转变为核函数。
在RKHS中$E_p{[f(x)]}$的计算可以转化为
$$
E_p{[f(x)]}=\int_\mathcal{X}p(dx)f(x)=\int_\mathcal{X}p(dx)\langle k(x,\cdot),f\rangle_\mathcal{H}=\langle \int_\mathcal{X}p(dx)k(x,\cdot),f\rangle_\mathcal{H}=\langle \mu_p,f\rangle_\mathcal{H}
$$
上述公式第一个等号就是普通的期望展开计算;第二个等号用了所谓的再生性,将映射函数变为了一个核函数和基底向量的内积;第三个等号是内积的性质;最后一个等号将内积括号中左侧部分定义成了$\mu_p$,这个东西叫 kernel meaning embeddings,具体的定义为
$$
\mu_p=\int_\mathcal{X}p(dx)k(x,\cdot)\mu_p=\int_\mathcal{X}p(dx)k(x,\cdot)
$$
[1]中给出了RKHS下的mmd计算方法:
$$ MMD^2[\mathcal{F},p,q]=\left\|\mu_p-\mu_q\right\|_\mathcal{H}^2 $$并给出了简短的证明:
$$ \begin{align} MMD^2[\mathcal{F},p,q] &= \left[\mathop{sup}\limits_{\left\|f\right\|_\mathcal{H}\leq1}(E_p{[f(x)]}-E_q{[f(y)]})\right]^2 \\ & =\left[\mathop{sup}\limits_{\left\|f\right\|_\mathcal{H}\leq1}\langle \mu_p-\mu_q,f\rangle_\mathcal{H}\right]^2 \\ & =\left\|\mu_p-\mu_q\right\|_\mathcal{H}^2 \end{align} $$其中第二个等号到最后一个等号利用的性质为$\langle a,b\rangle \leq \left\|a\right\| \left\|b\right\|$。
所以,RKHS下的mmd可以写为
$$ MMD^2[\mathcal{F},p,q]=\left\| \frac{1}{m}\sum_{i=1}^m{f(x_i)}-\frac{1}{n}\sum_{j=1}^n{f(y_j)} \right\|_\mathcal{H}^2 $$经过展开,可得
$$ MMD^2[\mathcal{F},p,q]=\left\| \frac{1}{m^2}\sum_{i=1,j=1}^m{k(x_i,x_j)}-\frac{2}{mn}\sum_{i=1,j=1}^{m,n}{k(x_i,y_j)}+\frac{1}{n^2}\sum_{i=1,j=1}^n{k(y_i,y_j)} \right\|_\mathcal{H}^2 $$Reference
A Hilbert Space Embedding for Distributions
Maximum Mean Discrepancy 最大化均值差异