机器学习数学基础 120 章

非参数密度估计、直方图与核密度

层级:B|按需

1. 不先指定高斯等参数族

参数密度用有限参数描述分布;非参数方法让模型复杂度随样本增长,能表达多峰、偏态等形状。代价是需要更多数据、带宽选择和高维困难。

2. 直方图密度估计

bin 宽 hh,点 xx 所在 bin 计数 NBN_B

p^h(x)=NBnh.\hat p_h(x)=\frac{N_B}{nh}.

每柱面积为 NB/nN_B/n,总面积 1。

  • hh 大:平滑但高偏差,掩盖结构;
  • hh 小:细节多但高方差、锯齿;
  • bin 起点也影响结果。

常用 Scott、Freedman–Diaconis 规则仅作起点。

3. 核密度估计(KDE)

p^h(x)=1nhi=1nK(xxih),\hat p_h(x)=\frac1{nh} \sum_{i=1}^{n}K\left(\frac{x-x_i}{h}\right),

KK 为积分 1 的核,h>0h>0 为带宽。每个样本放一个小“山包”,再平均。

Gaussian 核:

K(u)=12πeu2/2.K(u)=\frac1{\sqrt{2\pi}}e^{-u^2/2}.

带宽通常比核形状重要。

4. KDE 是卷积

p^h=P^nKh,\hat p_h=\hat P_n*K_h,

即经验点质量与缩放核卷积。它把每个点质量平滑开。h0h\to0 接近经验分布,hh 大则过度平滑。

5. 偏差—方差

对光滑一维密度与二阶核,点态偏差大致 O(h2)O(h^2),方差大致 O(1/(nh))O(1/(nh))。综合均方积分误差平衡得到典型最优带宽 hn1/5h\propto n^{-1/5}

这比参数估计 n1/2n^{-1/2} 慢,且高维速率更差。

6. 带宽选择

  • rule of thumb:近高斯假设下快速;
  • likelihood cross-validation;
  • least-squares CV;
  • plug-in 方法;
  • 自适应带宽:稀疏区更宽、密集区更窄。

选择标准应匹配用途:画图、密度值、导数、异常检测或分类的最优带宽可能不同。

7. 边界偏差

若支持 x0x\ge0,普通对称核在靠近 0 时把质量放到负区间,使边界密度偏低。处理:

  • 反射;
  • 边界核;
  • log/logit 变换后估计并加 Jacobian;
  • 明确支持的参数模型。

概率/比例在 [0,1][0,1] 也有两端边界问题。

8. 多维 KDE

p^H(x)=1niH1/2K(H1/2(xxi)).\hat p_H(x)=\frac1n\sum_i |H|^{-1/2}K(H^{-1/2}(x-x_i)).

HH 是带宽矩阵。各向同性 h2Ih^2I 简单但忽略尺度与相关;全矩阵参数多。

高维单位体积巨大,样本稀疏,KDE 遭受维数灾难;常先降维、用结构化/乘积核或改用生成模型。

9. KDE 做异常检测

低密度点可视为异常,但:

  • 密度依单位/变换;
  • 高维典型点不一定在最高密度区;
  • 边界与长尾自然低密度;
  • 业务异常可能处在高密度但违反条件关系。

应使用条件密度、局部方法和验证标签/成本,而非固定全局密度阈值。

10. 核密度分类

每类估

p^(xY=k),\hat p(x|Y=k),

配先验 π^k\hat\pi_k,Bayes 分类:

y^=argmaxkπ^kp^(xk).\hat y=\arg\max_k \hat\pi_k\hat p(x|k).

小维度可灵活;高维需要大量样本。带宽可按类选择但会影响后验校准。

11. 计算

朴素在 mm 个查询对 nn 样本成本 O(mn)O(mn)。可用树索引、网格 FFT、fast Gauss transform、随机特征/近似或只取近邻。高维树结构也会退化。

12. 非参数不等于没有参数

KDE 仍有带宽、核、距离、变换等超参数。“非参数”指模型自由度随数据增长,不是无需假设或调参。

易错点

  1. 直方图 density 柱高和不一定为 1,面积和才为 1。
  2. KDE 带宽比核形状通常更关键。
  3. 边界需要修正。
  4. 高维 KDE 样本复杂度极高。
  5. 密度值受坐标变换,异常解释需谨慎。

常见问答

Q1:Gaussian KDE 是否假设数据高斯?

不是。每个样本用高斯核平滑,多个核混合可形成任意多峰形状;“Gaussian”指核形状。

Q2:KDE 能给未见点非零密度吗?

Gaussian 核会对所有实数给正密度;紧支撑核只在邻域内有贡献。

Q3:带宽能用测试集选吗?

不能。用训练内 CV/验证选择,测试只做终评。

练习

  1. 直方图 bin 计数 20、n=100n=100、宽 0.5,density 高度。
  2. 写出一维 KDE。
  3. 带宽过大/过小分别怎样?
  4. 为什么正变量边界有偏?
  5. 高维 KDE 为什么困难?

答案与提示

  1. 20/(100×0.5)=0.420/(100\times0.5)=0.4
  2. (nh)1iK((xxi)/h)(nh)^{-1}\sum_iK((x-x_i)/h)
  3. 过大高偏差、过小高方差。
  4. 对称核把概率质量泄到不可能的负区间。
  5. 局部邻域体积稀疏,带宽估计与样本数随维度急剧恶化。