概
本文介绍了一种衡量不同数据分布之间一致性的统计量.
主要内容
在统计中, 我们常常需要讨论两组数据是否采样自同一个分布. 一个最常见的问题或许就是, 训练数据和测试数据的偏移, 本文的重点是提出MMD作为一个衡量二者是否采样自同一个数据的指标, 后续的KMM则是其用于处理这种偏移的一种方法.
定义
假设(mathcal{F})是一类(f:mathcal{X} ightarrow mathbb{R})的函数, 而(p, q)分别是两个博雷尔概率分布,即概率空间为((mathbb{R}^d, mathscr{B}(mathbb{R})^d, p|q)) . 并令(X=(x_1, x_2,ldots, x_m), Y=(y_1, y_2,ldots, y_n))分别独立采样自(p, q). 则MMD与经验MMD按照如下方式定义:
首先, 倘若(p=q), 那么显然(mathrm{MMD}[mathcal{F}, p, q]=0), 但是当(p ot= q)的时候, 我们总能找到一些(f)令MMD为正. 不过这一性质对于经验MMD就有所不同了, 由于采样个数有限, (X, Y)总会有一些不同, 所以这一指标往往永远不为0.
若是要估计上面的式子, 这是非常困难的, 而且某种程度上是没有意义的, 因为一旦找到一个(f)使得MMD非零, 我们可以去(f':=alpha cdot f)使得MMD任意大. 所以第一步便是要限制(mathcal{F}), 很自然的方式是限制其在范数球上(|f| le 1), 但这并没有改变困难的本质. 要知道(p=q)的一个充分必要条件是
而所有的连续函数都能由 universal RKHS (reproducing kernel Hilbert space)中的函数来逼近, 故我们完全可以将(mathcal{F})限制在这样一个空间之上.
MMD for kernel function classes
接下来我们在 universal RKHS (mathcal{H})上讨论, 该空间通过给定核(k(cdot, cdot))来确定, 此时(phi_x=k(x, cdot)) . 当然你也可以说是先有的(phi), 然后(k(x, y)=langle phi_x, phi_y angle)也是可以的. 此时, 是假设对于任意的(x in mathcal{X})存在(phi_x: f ightarrow f(x)), 且(phi_x)是一个有界线性算子, 根据Riesz表示引理, (phi_x(f)=f(x) = langle f, phi_x' angle_{mathcal{H}}), 其中(phi'_x in mathcal{H}).
回到由(k(cdot, cdot))定义的(mathcal{H})中来, 此时的MMD可以便成了
其中(mu_p=mathbb{E}_p [phi_x], mu_q = mathbb{E}_q [phi_x]).
(mathrm{MMD}^2) 一个无偏统计量
定义
容易证明(mathrm{MMD}^2[mathcal{H}, X, Y])是(MMD^2[mathcal{H}, p, q])的一个无偏统计量.
当(m=n)的时候, 进一步有
其中
MMD test
通过上述推论便可知我们应该如何检验, 并且具体算法如下.
注: (mathrm{Pr}(z > z_{alpha}) = alpha Rightarrow mathrm{Pr}(-z_{alpha}<z <z_{alpha})=1-alpha), 又(mathrm{erf}(x) = Phi(sqrt{2}x) - Phi(-sqrt{2}x)), 所以(mathrm{erfinv}(1-2alpha) = frac{1}{sqrt{2}} z_{alpha}), 这是算法里那个式子的由来.