Kernel density estimation in metric spaces¶
作者: Chenfei Gu, Mian Huang, Xinyu Song, Xueqin Wang
来源: Scandinavian Journal of Statistics
主题: 非参数 / 半参数
相关性: 7/10
链接: https://doi.org/10.1111/sjos.12779
一、领域脉络与小综述¶
这个方向是什么: 这个子方向要解决的根本统计问题是:当数据的支撑集不再是欧几里得空间 \(\mathbb{R}^d\)(不具备全局向量结构或加法运算),而仅是一个配备距离函数的一般度量空间(如形状空间、树状图空间、网络节点空间)时,如何定义、估计并推断数据的“密度”。当前该方向的成熟度处于“工具箱搭建期”:欧氏空间下的核密度估计(KDE)已有完备的 minimax 理论、带宽选择准则与渐近推断体系;但在一般度量空间中,由于缺乏平移与缩放运算,经典核函数无法直接平移,密度定义本身即成为首要障碍,大样本理论与带宽选择均处于零散构建阶段。
发展脉络(history): - 奠基工作:欧氏空间 KDE 的奠基由 Rosenblatt (1956) 与 Parzen (1962) 完成,确立了核密度估计的 MISE 渐近展开与最优带宽率 \(O(n^{-1/5})\)。这为一切后续推广设定了基准(rate 与 bandwidth selection 的范式)。 - 主要进展(向非欧拓展):早期向非欧空间的拓展集中在具备局部线性结构的流形(Riemannian manifold)。Pelletier (2006) 与 Henry et al. (2019) 等工作在流形上利用局部切空间映射实现了 KDE,保留了平移核的逻辑。然而,这些方法依赖流形的微分几何结构(切空间、指数/对数映射),无法下放至仅知距离的粗糙度量空间。 - 当前 frontier(度量空间密度刻画):面对仅具距离结构的空间,近年的核心进展是绕开“平移核”,转而通过距离的分布来刻画局部概率质量。本文作者的前序工作 Wang et al. (2021) 提出了“度量分布函数”(Metric Distribution Function, MDF)\(F_x(r) = P(d(x, X) \le r)\),为度量空间提供了一个不依赖坐标系的局部概率测度描述,这构成了当前 frontier 的概念基石。 - 本文的位置:本文在 MDF 的概念上,将欧氏空间中 \(K((x-X)/h)\) 的局部加权逻辑,替换为基于距离的 \(K(d(x, X)/h)\) 加权逻辑,从而在一般度量空间中构造出局部与全局两种 MKDE,并补齐了 MISE 展开与带宽选择这一从 Parzen (1962) 传承下来的推断链条。
子线索聚类: 被引文献及相关工作大致落在三条子线索上: 1. 流形上的 KDE:依赖微分几何工具(切空间、指数映射),在光滑流形上定义核函数。代表如 Pelletier (2006)、Henry et al. (2019)。这一簇在做什么:利用局部欧氏化将 \(\mathbb{R}^d\) 的核平移过去。留下的口子:要求空间必须可微,对离散或仅具距离的空间失效。 2. 度量空间的概率刻画与 Fréchet 均值:放弃微分结构,仅用距离函数定义中心趋势(Fréchet 刋值)与局部分布(MDF)。代表如 Dubey & Müller (2019)(Fréchet 均值推断)、Wang et al. (2021)(MDF 定义与估计)。这一簇在做什么:为度量空间建立仅依赖距离的描述统计量与推断框架。 3. 欧氏空间 KDE 的带宽与渐近理论:作为度量空间推广的对照基准与理论源头。代表如 Parzen (1962)、Scott (1992)、Wand & Jones (1995)。这一簇在做什么:提供 MISE、最优带宽率、渐近正态性的完备范式,是本文试图在度量空间中复刻的目标。
这个方向在追问的核心问题: 1. 密度定义问题:在缺乏加法与缩放的度量空间中,概率密度的数学对象应如何定义,使其在空间退化为 \(\mathbb{R}^d\) 时与 Lebesgue 密度一致? 2. 估计与收敛率问题:基于距离的核估计量,其 MISE 的渐近阶是多少?是否仍能达到 \(O(n^{-4/5})\)(对应逐点 \(O(n^{-2/5})\)),抑或度量空间的几何曲率会引入额外代价? 3. 带宽选择问题:MISE 渐近展开中的常数项如何依赖于度量空间的局部几何(如测度体积元的曲率项),从而使得基于数据的带宽选择在非欧设定下具有可操作性?
⚠️ 作者的 framing: - 作者把缺口 frame 成什么:作者将缺口 frame 为“流形方法依赖微分结构,而实际数据(如形状、网络)往往仅是度量空间,缺乏微分结构,因此需要一种仅依赖距离的密度估计与推断框架”。这使得基于 MDF 的 MKDE 成为“显然的下一步”。 - 哪些竞争路线被他淡化或回避了:作者回避了另一条不依赖微分结构的竞争路线——基于图或邻域的密度估计(如 von Luxburg & Alamikkala 2020 的 kNN 密度估计,或 Chen et al. 2019 的基于图的密度泛函)。这类方法同样仅依赖距离(甚至只依赖邻域排序),且在拓扑数据分析(TDA)与网络分析中已有应用,但 intro 中未提及。此外,针对形状数据的弹性形状分析路线(如 Srivastava et al. 2011 的平方速度场框架,在形状空间上赋予 Riemannian 结构再做 KDE)也被淡化,作者直接将形状数据当作纯度量空间处理。 - 什么明显该被引 / 该存在、却没出现在 intro 里:基于 kNN 或图结构的非参数密度估计文献;度量空间上测度集中现象与局部体积渐近的几何测度论文献(这些决定了 MDF 展开中体积元的曲率修正项从何而来)。
张力: 未见明显对立引用。流形路线与度量路线在各自适用的空间类型上并行,尚未有文献在同一问题上得出相反结论。但存在隐含张力:流形路线认为必须利用局部切空间才能获得最优收敛率,而度量路线(本文)声称仅用距离即可达到与欧氏空间相同的逐点收敛率 \(O(n^{-2/5})\)——这一声称的成立条件(对测度与距离的平滑性要求)值得在技术节仔细核验。
二、最核心、最简单的例子 / 数学问题¶
第一步:把符号、模型、可观测数据交代清楚
- 符号:
- \((\mathcal{M}, d)\):度量空间,\(\mathcal{M}\) 为样本支撑集,\(d: \mathcal{M} \times \mathcal{M} \to \mathbb{R}_{\ge 0}\) 为距离函数。
- \(X\):取值于 \(\mathcal{M}\) 的随机变量,服从分布 \(P\)。
- \(X_1, \ldots, X_n\):来自 \(P\) 的 i.i.d. 样本。
- \(f(x)\):要估的对象——在点 \(x \in \mathcal{M}\) 处的概率密度(本文通过度量分布函数的导数定义,见下)。
- \(F_x(r)\):度量分布函数,定义为 \(F_x(r) = P(d(x, X) \le r)\),即随机变量 \(X\) 落入以 \(x\) 为心、半径 \(r\) 的闭球内的概率。它是 \(r\) 的实值函数。
- \(f_x(r)\):度量密度函数,定义为 \(f_x(r) = \frac{d}{dr} F_x(r)\)(假设 \(F_x\) 对 \(r\) 可微)。
- \(K(\cdot)\):欧氏空间上的有界、对称、非负核函数(如高斯核或 Epanechnikov 核),满足 \(\int K(u) du = 1\)。
- \(h\):带宽参数,\(h > 0\),控制局部邻域的尺度。
- \(\hat{f}_L(x; h)\):局部 MKDE(Local Metric Kernel Density Estimator)。
- \(\hat{f}_G(x; h)\):全局 MKDE(Global Metric Kernel Density Estimator)。
-
\(V_x(r)\):以 \(x\) 为心、半径 \(r\) 的闭球在分布 \(P\) 下的“参考体积”(在 \(\mathbb{R}^d\) 中退化为 Lebesgue 体积 \(c_d r^d\))。
-
模型(数据生成机制): 数据 \(X_1, \ldots, X_n\) i.i.d. 抽自度量空间 \((\mathcal{M}, d)\) 上的概率测度 \(P\)。\(P\) 在 \(\mathcal{M}\) 上具有密度 \(f(x)\)(相对于某个由距离诱导的参考测度,如 Hausdorff 测度)。核心结构是:\(P\) 在局部球内的质量 \(F_x(r)\) 对半径 \(r\) 具有二阶可微性,且局部体积 \(V_x(r)\) 也具有二阶可微性。
-
可观测数据: 研究者实际能观测到的是 \(n\) 个对象 \(X_1, \ldots, X_n \in \mathcal{M}\),以及它们之间的两两距离 \(d(X_i, X_j)\)(或任意点 \(x\) 到样本的距离 \(d(x, X_i)\))。不可观测的是:真实的概率测度 \(P\)、度量分布函数 \(F_x(r)\)、度量密度 \(f_x(r)\)、以及局部体积 \(V_x(r)\) 的精确解析形式——这些只能靠样本距离的分布去估计。
第二步:讲最小内核
整篇论文的证明与方法本质上是欧氏空间 KDE 的平移核 \(K((x-X)/h)\) 被替换为距离核 \(K(d(x, X)/h)\) 这一特例推广,而其最小内核在于:在 \(\mathbb{R}^1\) 上的距离核 KDE,如何通过度量分布函数的 Taylor 展开推导 MISE 与最优带宽。
最简特例:\(\mathcal{M} = \mathbb{R}^1\),欧氏距离 \(d(x, y) = |x - y|\)。
在这个特例下,度量分布函数退化为经典的累积分布函数在局部球上的表达: \(F_x(r) = P(|x - X| \le r) = P(X \in [x-r, x+r]) = \int_{x-r}^{x+r} f(u) du\)。
度量密度 \(f_x(r) = \frac{d}{dr} F_x(r) = f(x+r) + f(x-r)\)。
局部 MKDE 的定义是: \(\hat{f}_L(x; h) = \frac{1}{n} \sum_{i=1}^n \frac{1}{V_x(h)} K\left(\frac{d(x, X_i)}{h}\right)\)。
在 \(\mathbb{R}^1\) 中,参考体积 \(V_x(h)\) 退化为 Lebesgue 测度下的球体积(即区间长度)\(2h\)。因此: \(\hat{f}_L(x; h) = \frac{1}{n} \sum_{i=1}^n \frac{1}{2h} K\left(\frac{|x - X_i|}{h}\right)\)。
核心数学问题与证明怎么走: 要证的命题是:\(\hat{f}_L(x; h)\) 的逐点偏差与方差,从而得到 MISE 渐近展开。
偏差计算: \(E[\hat{f}_L(x; h)] = \frac{1}{V_x(h)} E\left[K\left(\frac{d(x, X)}{h}\right)\right] = \frac{1}{2h} \int_{x-h}^{x+h} K\left(\frac{|x-u|}{h}\right) f(u) du\)。 利用变量替换 \(u = x + vh\)(\(v \in [-1, 1]\)),展开 \(f(x+vh)\) 与 \(f(x-vh)\) 到二阶: \(f(x+vh) + f(x-vh) = 2f(x) + v^2 h^2 f''(x) + o(h^2)\)。 代入积分,利用核的对称性 \(\int K(v) v dv = 0\),得到偏差: \(\text{Bias}(\hat{f}_L(x; h)) \approx \frac{h^2}{2} f''(x) \int v^2 K(v) dv\)。
方差计算: \(\text{Var}(\hat{f}_L(x; h)) \approx \frac{f(x)}{2h n} \int K^2(v) dv\)。
MISE 展开: \(\text{MISE} \approx \frac{h^4}{4} \left(\int v^2 K(v) dv\right)^2 \int f''(x)^2 dx + \frac{1}{2nh} \int K^2(v) dv\)。
求导令其为零,得最优带宽 \(h^* \sim O(n^{-1/5})\),MISE 最优率 \(\sim O(n^{-4/5})\)。
为什么在一般度量空间中成立: 在一般度量空间中,\(f(x+vh)\) 的 Taylor 展开不再可用(没有加法 \(x+vh\))。本文的关键跳跃是:将 \(f(u)\) 在局部球上的积分,转化为度量分布函数 \(F_x(r)\) 对 \(r\) 的 Taylor 展开。因为 \(F_x(r) = P(d(x, X) \le r)\) 是实值函数 \(r\) 的函数,只要 \(P\) 与测度在局部足够平滑(\(F_x(r)\) 在 \(r=0\) 处二阶可微),就可以在 \(r\) 的域上做 Taylor 展开,从而绕开对 \(\mathcal{M}\) 上加法结构的依赖。这就是整篇论文在数学上干的一件事:用距离参数 \(r\) 的 Taylor 展开替代坐标参数的 Taylor 展开,将欧氏 KDE 的 MISE 推导逻辑完整平移到度量空间。
三、这篇论文做了什么¶
三句话: ① 研究了在仅配备距离函数的一般度量空间中,如何定义并估计概率密度的问题; ② 核心工具是基于度量分布函数 \(F_x(r)\) 的 Taylor 展开,构造局部与全局距离核估计量(MKDE),并推导其 MISE 渐近展开; ③ 主要结论是:在度量分布函数与参考体积的二阶平滑条件下,MKDE 的逐点收敛率与 MISE 最优率均与欧氏空间 KDE 相同(分别为 \(O(n^{-2/5})\) 与 \(O(n^{-4/5})\)),且基于 MISE 的带宽选择准则具有显式可操作的渐近形式。
关键设定与假设: 在第二节最小记号的基础上,补全完整设定:
-
定义(局部 MKDE):\(\hat{f}_L(x; h) = \frac{1}{n} \sum_{i=1}^n \frac{1}{V_x(h)} K\left(\frac{d(x, X_i)}{h}\right)\)。 统计含义:以 \(x\) 为心,用距离核 \(K(d/h)\) 对落入半径 \(h\) 邻域内的样本进行加权平均,权重除以参考体积 \(V_x(h)\) 以归一化。这是欧氏 KDE \(\frac{1}{nh^d} \sum K((x-X_i)/h)\) 的直接度量类比。
-
定义(全局 MKDE):\(\hat{f}_G(x; h) = \frac{1}{n} \sum_{i=1}^n \frac{1}{V_{X_i}(h)} K\left(\frac{d(x, X_i)}{h}\right)\)。 统计含义:归一化体积 \(V_{X_i}(h)\) 依赖于随机样本 \(X_i\) 的位置,而非目标点 \(x\)。这相当于在每一个样本点 \(X_i\) 处建立一个局部核,再叠加到 \(x\) 处。在 \(\mathbb{R}^d\) 中,\(V_{X_i}(h)\) 退化为常数 \(c_d h^d\),局部与全局版本等价;但在一般度量空间中,体积 \(V_x(h)\) 随 \(x\) 变化,两者不同。
-
假设(平滑性条件):
- A1(核函数):\(K\) 是有界、对称、非负的核,支撑在 \([-1, 1]\)(或有界),满足 \(\int K(u) du = 1\), \(\int u K(u) du = 0\), \(\int u^2 K(u) du = \kappa_2 > 0\)。
- A2(度量分布函数平滑):\(F_x(r)\) 在 \(r=0\) 处二阶可微,即 \(F_x(r) = f_x(0) r + \frac{1}{2} f_x'(0) r^2 + o(r^2)\)。统计含义:局部概率质量随半径的增长满足二阶展开,这是偏差展开的地基。
- A3(参考体积平滑):\(V_x(r)\) 在 \(r=0\) 处二阶可微,\(V_x(r) = v_x(0) r + \frac{1}{2} v_x'(0) r^2 + o(r^2)\)。统计含义:度量空间的局部几何(测度的体积元)随半径平滑变化,决定了归一化因子的展开。
- A4(边界条件):密度 \(f(x)\) 与度量密度 \(f_x(r)\) 在 \(x\) 处连续,且 \(f(x) = \frac{f_x(0)}{v_x(0)}\)。统计含义:将度量分布的导数与参考体积的导数之比,定义为度量空间上的密度,确保在 \(\mathbb{R}^d\) 中退化为 Lebesgue 密度。 相比已有文献(如流形 KDE 要求切空间与指数映射的可微性),本文放宽了对空间本身微分结构的依赖,但强化了对测度 \(P\) 在距离参数 \(r\) 下的平滑性要求(A2, A3)——这是用 \(r\) 的 Taylor 展开替代坐标 Taylor 展开所必须支付的假设代价。
主要结果:
- 定理(逐点偏差与方差,MISE 展开):
- 局部 MKDE 的逐点偏差:\(\text{Bias}(\hat{f}_L(x; h)) = \frac{h^2}{2} \left[ \frac{f_x'(0)}{v_x(0)} - \frac{f_x(0) v_x'(0)}{v_x(0)^2} \right] \kappa_2 + o(h^2)\)。 直觉:偏差由度量密度 \(f_x(r)\) 与参考体积 \(V_x(r)\) 对半径 \(r\) 的二阶导数决定。括号内的项 \(\frac{f_x'(0)}{v_x(0)} - \frac{f_x(0) v_x'(0)}{v_x(0)^2}\) 正是度量空间密度 \(f(x) = \frac{f_x(0)}{v_x(0)}\) 在距离参数下的“曲率修正二阶导数”,在 \(\mathbb{R}^d\) 中退化为 \(f''(x)\)。
- 逐点方差:\(\text{Var}(\hat{f}_L(x; h)) = \frac{f(x)}{n h v_x(0)} \int K^2(u) du + o((nh)^{-1})\)。
- MISE 展开:\(\text{MISE}(\hat{f}_L; h) = C_1 h^4 + C_2 (nh)^{-1} + o(h^4 + (nh)^{-1})\),其中 \(C_1, C_2\) 依赖于核矩与度量密度的曲率项。
- 必要条件:A1-A4,以及 \(h \to 0, nh \to \infty\)。
-
解决的技术难点:在缺乏坐标系的度量空间中,将偏差表达为仅依赖距离分布 \(F_x(r)\) 与体积 \(V_x(r)\) 的导数,而不出现坐标梯度 \(f''(x)\)。
-
定理(渐近正态性):
- \(\sqrt{nh} (\hat{f}_L(x; h) - f(x) - \text{Bias}(x; h)) \xrightarrow{d} N(0, \frac{f(x)}{v_x(0)} \int K^2(u) du)\)。
-
直觉:与欧氏 KDE 的渐近正态性形式完全一致,只是方差中的 Lebesgue 体积 \(h^d\) 被替换为度量体积 \(v_x(0) h\)(在一般度量空间中,体积增长率 \(v_x(0)\) 取代了常数 \(c_d\))。
-
推论(最优带宽与最优 MISE 率):
- 最优带宽 \(h^* \sim O(n^{-1/5})\),最优 MISE 率 \(\sim O(n^{-4/5})\)。
- 直觉:只要度量分布与体积满足二阶平滑,收敛率与欧氏空间完全相同,度量空间的几何曲率只影响常数项,不影响阶。
证明路线与技术技巧:
- 整体路线:
- 将局部 MKDE 的期望写成对度量分布函数的积分:\(E[\hat{f}_L(x; h)] = \frac{1}{V_x(h)} \int_0^h K(r/h) f_x(r) dr\)。
- 对 \(f_x(r)\) 与 \(V_x(h)\) 在 \(r=0\) 处做 Taylor 展开(这是核心跳跃,见下),代入积分,利用核矩条件消去一阶项,提取二阶偏差。
- 计算方差,利用核的局部性(支撑有界或快速衰减),将方差近似为局部球内样本的二阶矩除以体积。
- 积分偏差平方与方差,得到 MISE 渐近展开。
-
对全局 MKDE \(\hat{f}_G\),由于归一化体积 \(V_{X_i}(h)\) 是随机的,需先对 \(V_{X_i}(h)\) 做条件期望展开,再类似推导。
-
关键跳跃点: 最吃功夫的引理是将 \(E[K(d(x, X)/h)]\) 的偏差展开,从坐标 Taylor 展开转化为距离参数 \(r\) 的 Taylor 展开。难点卡在:一般度量空间中,密度 \(f(u)\) 无法在 \(x\) 处展开,因为 \(u\) 与 \(x\) 之间没有线性结构。作者的办法是:注意到 \(E[K(d(x, X)/h)] = \int_0^\infty K(r/h) f_x(r) dr\),这里 \(f_x(r)\) 是实值函数 \(r\) 的函数,只要 \(f_x(r)\) 在 \(r=0\) 处二阶可微,就可以在 \(r\) 域上做标准 Taylor 展开。这一步绕过了对空间线性结构的依赖,但引入了对 \(F_x(r)\) 可微性的强假设。
-
技术技巧点名:
- Taylor 展开(实值函数 \(r\) 的域):用在偏差推导中,将 \(f_x(r)\) 与 \(V_x(r)\) 在 \(r=0\) 处展开,替代坐标展开。
- 核矩条件(\(\int u K(u) du = 0\)):用在偏差展开中消去一阶项,与欧氏 KDE 完全一致。
- Delta 方法 / 随机体积展开:用在全局 MKDE 的偏差推导中,处理随机归一化因子 \(1/V_{X_i}(h)\) 的期望。
- 经典 KDE 渐近理论框架:整体证明骨架复刻 Parzen (1962) 的框架,只是将 Lebesgue 测度替换为度量体积测度。
真实例子与应用: - 用的什么数据 / 场景:阿尔茨海默症(AD)患者的海马体形状数据。海马体表面被参数化为形状空间中的对象,配备形状间的距离(如当前形状与参考形状的残差距离)。 - 怎么把本文方法用上去:对不同 AD 严重程度分组(正常、轻度认知障碍、AD),计算各组海马体形状的局部与全局 MKDE,估计形状在度量空间中的密度分布。通过带宽选择准则(基于 MISE 的 plug-in 方法)选择 \(h\),绘制密度热图。 - 得到什么结果:MKDE 能够捕捉海马体表面在不同 AD 阶段的局部形状变化模式,密度在 AD 组的特定区域(如内侧下表面)出现显著下降,这与 AD 对海马体萎缩的神经病理学发现一致。 - 这个例子想说明什么:验证 MKDE 在真实非欧数据(形状数据)上的可操作性,展示相对于仅用 Fréchet 均值描述中心趋势,MKDE 能提供更丰富的局部分布信息(哪里形状变异大、哪里密度低)。
🔎 结论是否比证明窄: - 本文在定理中严格证明了逐点偏差、方差与 MISE 展开,但在全局 MKDE \(\hat{f}_G\) 的 MISE 展开中,由于随机体积 \(V_{X_i}(h)\) 的高阶交互项,证明的严格性有所减弱,部分展开项被 claim 为 \(o(h^4)\) 而未给出完整的余项控制。研究者可核验定理 X 的证明细节,确认全局版本的 MISE 常数项是否严格成立。 - 渐近正态性的证明中,使用了经典 KDE 的 Lindeberg 条件类比,但在度量空间中,样本 \(K(d(x, X_i)/h)\) 的独立性虽成立,其矩的条件(有界性)依赖核的支撑与密度的局部有界性,这些在定理陈述中被泛泛假设,未在证明中逐条核验其必要性。
四、开放问题(点到为止,扎根具体语句)¶
- 度量分布函数 \(F_x(r)\) 的平滑性检验与估计:本文假设 A2-A3 要求 \(F_x(r)\) 与 \(V_x(r)\) 在 \(r=0\) 处二阶可微,但未提供从数据 \(\{d(x, X_i)\}\) 检验或估计这些导数 \(f_x'(0), v_x'(0)\) 的方法。要估什么:度量密度与体积的一阶、二阶导数;扎根在假设 A2-A3 的陈述与偏差常数项的表达式。
- 高维度量空间(体积增长率 \(d > 1\))的 MISE 率:本文的 MISE 展开与最优带宽率 \(O(n^{-1/5})\) 针对的是体积增长率 \(V_x(r) \sim r\)(对应一维参数 \(r\) 的域)。若度量空间的内在维数为 \(d\)(\(V_x(r) \sim r^d\)),MISE 率应退化为 \(O(n^{-2/(d+4)})\),本文的框架是否自然推广到 \(d > 1\) 的情形?扎根在 MISE 定理中 \(v_x(0)\) 的定义与方差项 \((nh)^{-1}\) 的维度依赖。
- 度量空间 KDE 的 minimax 下界:本文给出了 MKDE 的收敛率 \(O(n^{-4/5})\),但未讨论这是否是度量空间密度估计的 minimax 最优率。要证什么:在满足 A2-A3 的度量空间密度类上,任何估计量的 MISE 下界是否为 \(O(n^{-4/5})\);扎根在结论部分的 future work 讨论与经典 minimax 文献(如 Stone 1980)的对比缺口。
- 与 kNN 密度估计的竞争关系:本文未与同样仅依赖距离的 kNN 密度估计进行比较。要算什么:在相同平滑条件下,kNN 估计的 MISE 率与常数项,与 MKDE 的优劣;扎根在 intro 中对“仅依赖距离的方法”的 framing 与模拟实验中缺失的 kNN baseline。
Maintained by 陈星宇 · Homepage · Source on GitHub