MMD
MMD(Maximum Mean Discrepancy)衡量的是:P(X) 与 P(Y) 这两个分布是否相同,其回答的是在某个函数空间 里, 和 的期望差异能有多大:
找一类“判别函数” ,看是否存在某个 能明显区分 和 。如果 ,则所有 在计算出来的期望的差都约等于 0,即 MMD 约等于 0。
核函数
如果 太大(随便任何可测函数),上面的 很难算。做法:让 变成 某个核对应的 Reproducing Kernel Hilbert Space(RKHS,再生核希尔伯特空间) 单位球:
RKHS(再生核希尔伯特空间):由一个核函数 k(x,y) 定义的函数空间。在这个空间中,每个函数可以通过 k(x,·) 的线性组合构成。
给定一个核函数,例如 RBF 核:
令第二个变量 ,它变成一个关于 的函数:
这些函数就是 RKHS 的“基础积木”。在 RKHS 中,一个函数 f(x) 可以写成:
也就是说:取若干个核函数 ,各乘以一个系数 ,加起来就得到一个新函数 f(x)
此时,MMD 的计算变成:
其中:
- 是核对应的特征映射(一般是高维甚至无限维)
- 是 , 在 RKHS 中的“均值向量”(mean embedding)
难以直接求得,但是可以换种形式写 MMD。给定核函数 ,有:
可以展开成:
这是实际用得最多的形式:全都写成核期望,不用显式知道 。
经验估计
样本:
可以看到,MMD 计算的复杂度是
MMD-RBF
RBF 核:
放进 公式就是 MMD-RBF。RBF 是 characteristic kernel → MMD=0 等价于分布完全相同,所以它确实是“真正的距离”意义。
核函数的性质
不是任何函数都能当 kernel。kernel 必须是“高维向量的内积”。但不是任何函数都能表示成某个高维向量空间里的内积。
一个函数 要成为 kernel,必须满足:它是对称的,并且对应的 Gram 矩阵永远是半正定的(PSD)。
对于矩阵 ,半正定表示(PSD, Positive Semi-Definite)对所有非零向量 都有:
正定(PD, Positive Definite)则表示对所有非零向量 都有:
。
下面证明核函数的 Gram 矩阵一定是半正定的。设:
- 是 在高维空间中的向量
- 把它们排成矩阵:
那么 Gram 矩阵:
就是
对于任意的向量 ,我们有: