Learning Deep Kernels for Non-Parametric Two-Sample Tests

We propose a class of kernel-based two-sample tests, which aim to determine whether two sets of samples are drawn from the same distribution. Our tests are constructed from kernels parameterized by deep neural nets, trained to maximize test power. These tests adapt to variations in distribution smoothness and shape over space, and are especially suited to high dimensions and complex data. By contrast, the simpler kernels used in prior kernel testing work are spatially homogeneous, and adaptive only in lengthscale. We explain how this scheme includes popular classifier-based two-sample tests as a special case, but improves on them in general. We provide the first proof of consistency for the proposed adaptation method, which applies both to kernels on deep features and to simpler radial basis kernels or multiple kernel learning. In experiments, we establish the superior performance of our deep kernels in hypothesis testing on benchmark and real-world data. The code of our deep-kernel-based two sample tests is available at https://github.com/fengliu90/DK-for-TST.

PDF Abstract ICML 2020 PDF

Results from the Paper


Task Dataset Model Metric Name Metric Value Global Rank Result Benchmark
Two-sample testing Blob (9 modes, 40 for each) MMD-D Avg accuracy 98.5 # 1
Two-sample testing CIFAR-10 vs CIFAR-10.1 (1000 samples) MMD-D Avg accuracy 74.4 # 1
Two-sample testing HDGM (d=10, N=4000) MMD-D Avg accuracy 65.9 # 1
Two-sample testing HIGGS Data Set MMD-D Avg accuracy 57.9 # 1
Two-sample testing MNIST vs Fake MNIST MMD-D Avg accuracy 91 # 1

Methods