概
本文介绍了一种衡量不同数据分布之间一致性的统计量.
主要内容
在统计中, 我们常常需要讨论两组数据是否采样自同一个分布. 一个最常见的问题或许就是, 训练数据和测试数据的偏移, 本文的重点是提出MMD作为一个衡量二者是否采样自同一个数据的指标, 后续的KMM则是其用于处理这种偏移的一种方法.
定义
假设F \mathcal{F}F是一类f : X → R f:\mathcal{X} \rightarrow \mathbb{R}f:X→R的函数, 而p , q p, qp,q分别是两个博雷尔概率分布,即概率空间为( R d , B ( R ) d , p ∣ q ) (\mathbb{R}^d, \mathscr{B}(\mathbb{R})^d, p|q)(Rd,B(R)d,p∣q) . 并令X = ( x 1 , x 2 , … , x m ) , Y = ( y 1 , y 2 , … , y n ) X=(x_1, x_2,\ldots, x_m), Y=(y_1, y_2,\ldots, y_n)X=(x1,x2,…,xm),Y=(y1,y2,…,yn)分别独立采样自p , q p, qp,q. 则MMD与经验MMD按照如下方式定义:
M M D [ F , p , q ] : = sup f ∈ F ( E p [ f ( x ) ] − E q [ f ( y ) ] ) M M D [ F , p , q ] : = sup f ∈ F ( 1 m ∑ x ∈ X f ( x ) − 1 n ∑ y ∈ Y f ( y ) ) . \mathrm{MMD}[\mathcal{F},p,q] := \sup_{f \in \mathcal{F}} (\mathbb{E}_p [f(x)] - \mathbb{E}_q[f(y)]) \\ \mathrm{MMD}[\mathcal{F},p,q] := \sup_{f \in \mathcal{F}} (\frac{1}{m} \sum_{x \in X} f(x) - \frac{1}{n} \sum_{y\in Y} f(y)). \\MMD[F,p,q]:=f∈Fsup(Ep[f(x)]−Eq[f(y)])MMD[F,p,q]:=f∈Fsup(m1x∈X∑f(x)−n1y∈Y∑f(y)).
首先, 倘若p = q p=qp=q, 那么显然M M D [ F , p , q ] = 0 \mathrm{MMD}[\mathcal{F}, p, q]=0MMD[F,p,q]=0, 但是当p ≠ q p \not= qp=q的时候, 我们总能找到一些f ff令MMD为正. 不过这一性质对于经验MMD就有所不同了, 由于采样个数有限, X , Y X, YX,Y总会有一些不同, 所以这一指标往往永远不为0.
若是要估计上面的式子, 这是非常困难的, 而且某种程度上是没有意义的, 因为一旦找到一个f ff使得MMD非零, 我们可以去f ′ : = α ⋅ f f':=\alpha \cdot ff′:=α⋅f使得MMD任意大. 所以第一步便是要限制F \mathcal{F}F, 很自然的方式是限制其在范数球上∥ f ∥ ≤ 1 \|f\| \le 1∥f∥≤1, 但这并没有改变困难的本质. 要知道p = q p=qp=q的一个充分必要条件是
∫ f d p = ∫ f d q , ∀ f ∈ C . \int f \mathrm{d} p = \int f \mathrm{d} q , \forall f \in C.∫fdp=∫fdq,∀f∈C.
而所有的连续函数都能由 universal RKHS (reproducing kernel Hilbert space)中的函数来逼近, 故我们完全可以将F \mathcal{F}F限制在这样一个空间之上.
MMD for kernel function classes
接下来我们在 universal RKHS H \mathcal{H}H上讨论, 该空间通过给定核k ( ⋅ , ⋅ ) k(\cdot, \cdot)k(⋅,⋅)来确定, 此时ϕ x = k ( x , ⋅ ) \phi_x=k(x, \cdot)ϕx=k(x,⋅) . 当然你也可以说是先有的ϕ \phiϕ, 然后k ( x , y ) = ⟨ ϕ x , ϕ y ⟩ k(x, y)=\langle \phi_x, \phi_y \ranglek(x,y)=⟨ϕx,ϕy⟩也是可以的. 此时, 是假设对于任意的x ∈ X x \in \mathcal{X}x∈X存在L x : f → f ( x ) L_x: f \rightarrow f(x)Lx:f→f(x), 且L x L_xLx是一个有界线性算子, 根据Riesz表示引理, L x ( f ) = f ( x ) = ⟨ f , ϕ x ⟩ H L_x(f)=f(x) = \langle f, \phi_x \rangle_{\mathcal{H}}Lx(f)=f(x)=⟨f,ϕx⟩H, 其中ϕ x ∈ H \phi_x \in \mathcal{H}ϕx∈H.
回到由k ( ⋅ , ⋅ ) k(\cdot, \cdot)k(⋅,⋅)定义的H \mathcal{H}H中来, 此时的MMD可以便成了
M M D [ H , p , q ] = sup ∥ f ∥ H ≤ 1 E p [ f ( x ) ] − E q [ f ( x ) ] = sup ∥ f ∥ H ≤ 1 E p [ ⟨ ϕ x , f ⟩ H ] − E q [ ⟨ ϕ x , f ⟩ H ] = ∥ μ p − μ q ∥ H , \mathrm{MMD}[\mathcal{H}, p, q] = \sup_{\|f\|_{\mathcal{H}} \le 1} \mathbb{E}_p [f(x)] - \mathbb{E}_q [f(x)] = \sup_{\|f\|_{\mathcal{H}} \le 1} \mathbb{E}_p [\langle \phi_x, f\rangle_{\mathcal{H}}] - \mathbb{E}_q [\langle \phi_x, f\rangle_{\mathcal{H}}] = \|\mu_p-\mu_q\|_{\mathcal{H}},MMD[H,p,q]=∥f∥H≤1supEp[f(x)]−Eq[f(x)]=∥f∥H≤1supEp[⟨ϕx,f⟩H]−Eq[⟨ϕx,f⟩H]=∥μp−μq∥H,
其中μ p = E p [ ϕ x ] , μ q = E q [ ϕ x ] \mu_p=\mathbb{E}_p [\phi_x], \mu_q = \mathbb{E}_q [\phi_x]μp=Ep[ϕx],μq=Eq[ϕx].
M M D 2 \mathrm{MMD}^2MMD2 一个无偏统计量
定义
M M D 2 [ H , p , q ] = ∥ μ p − μ q ∥ H 2 , M M D 2 [ H , X , Y ] = 1 m ( m − 1 ) ∑ i ≠ j k ( x i , x j ) + 1 n ( n − 1 ) ∑ i ≠ j k ( y i , y j ) − 2 m n ∑ i , j k ( x i , y j ) . \mathrm{MMD}^2 [\mathcal{H}, p, q] = \|\mu_p - \mu_q\|_{\mathcal{H}}^2, \\ \mathrm{MMD}^2 [\mathcal{H}, X, Y] = \frac{1}{m(m-1)}\sum_{i \not = j}k(x_i, x_j) + \frac{1}{n(n-1)}\sum_{i \not = j } k(y_i, y_j) - \frac{2}{mn} \sum_{i,j} k(x_i, y_j).MMD2[H,p,q]=∥μp−μq∥H2,MMD2[H,X,Y]=m(m−1)1i=j∑k(xi,xj)+n(n−1)1i=j∑k(yi,yj)−mn2i,j∑k(xi,yj).
容易证明M M D 2 [ H , X , Y ] \mathrm{MMD}^2[\mathcal{H}, X, Y]MMD2[H,X,Y]是M M D 2 [ H , p , q ] MMD^2[\mathcal{H}, p, q]MMD2[H,p,q]的一个无偏统计量.
当m = n m=nm=n的时候, 进一步有
M M D 2 [ H , X , Y ] = 1 m ( m − 1 ) ∑ i ≠ j h ( z i , z j ) , \mathrm{MMD}^2[\mathcal{H}, X, Y]= \frac{1}{m(m-1)} \sum_{i \not =j} h(z_i, z_j),MMD2[H,X,Y]=m(m−1)1i=j∑h(zi,zj),
其中
h ( z i , z j ) : = k ( x i , x j ) + k ( y i , y j ) − k ( x i , y j ) − k ( x j , y i ) . h(z_i, z_j) := k(x_i, x_j)+ k(y_i, y_j) - k(x_i, y_j) - k(x_j, y_i).h(zi,zj):=k(xi,xj)+k(yi,yj)−k(xi,yj)−k(xj,yi).
MMD test

通过上述推论便可知我们应该如何检验, 并且具体算法如下.
注: P r ( z > z α ) = α ⇒ P r ( − z α < z < z α ) = 1 − α \mathrm{Pr}(z > z_{\alpha}) = \alpha \Rightarrow \mathrm{Pr}(-z_{\alpha}<z <z_{\alpha})=1-\alphaPr(z>zα)=α⇒Pr(−zα<z<zα)=1−α, 又e r f ( x ) = Φ ( 2 x ) − Φ ( − 2 x ) \mathrm{erf}(x) = \Phi(\sqrt{2}x) - \Phi(-\sqrt{2}x)erf(x)=Φ(2x)−Φ(−2x), 所以e r f i n v ( 1 − 2 α ) = 1 2 z α \mathrm{erfinv}(1-2\alpha) = \frac{1}{\sqrt{2}} z_{\alpha}erfinv(1−2α)=21zα, 这是算法里那个式子的由来.
