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 Kernel Two-Sample Test

A Hilbert Space Embedding for Distributions

统计知识(一)MMD Maximum Mean Discrepancy 最大均值差异

迁移学习简明手册

Maximum Mean Discrepancy 最大化均值差异

http://xnsi.github.io/2021/04/30/mmd/

Author

s.x.

Posted on

2021-04-30

Updated on

2021-05-14

Licensed under

Comments