跳到主要内容

第 25 章学的是「给数据找个好表示」;这一章学的是「给数据画像」: 画像有两种粒度——密度估计画出整条概率曲线,聚类只标出哪些点扎堆。 两件事共用同一个朴素事实:样本有限时,一切估计都是「区域大小」与 「区域内样本数」之间的讨价还价。

概率密度估计与聚类

1. 这一章讲什么

两件事: 密度估计的两条路(肯假设分布的参数法、不肯假设的非参数法) 各自的算法与三个共同的坎;以及聚类——尤其是 K-Means 的交替法和 「聚类结果取决于特征空间」这句最容易被忽略的话。

它在全书链条里的位置: 这是第 03 章概率语言在无监督场景的正式回归—— 最大似然在这里第一次当主力。 书的另一句话指明了它的去向: 经典密度估计是理解现代生成模型的入口, 扩散模型、得分建模的核心目标仍然是学习数据分布——那条线的正篇在第 38 章。

需要第 03 章;第 26 章(本章)的聚类与第 25 章的表示学习互为参照。

2. 顶层全景

密度估计:从样本反推 p(x)
├ 参数法:假设形状 → 最大似然估参数
│ 正态:μ̂=样本均值,Σ̂=样本协方差
│ 多项:μ̂ₖ = 第 k 类的频率(拉格朗日解出)
│ 三坎:模型选择 · 不可观测变量 · 维度灾难
└ 非参数法:不假设形状,数格子
核心近似:p(x) ≈ K/(N·V) 区域 V 内落了 K 个样本
直方图(固定 V) · 核密度(平滑的 V) · K 近邻(固定 K 改 V)

聚类:不画曲线,直接发簇编号
K-Means:分配(就近) ↔ 更新(取平均),交替到不动
结果取决于:预设 K · 初始化 · 特征空间 · 距离度量

一句话链条: 估计密度 = 数样本密度 → 肯假设就极大似然(答案常是「频率」)→ 不肯假设就回到「K/(NV)」这个原始近似 → 区域与样本数的取舍生出三种非参数法 → 聚类干脆放弃曲线,只求分组 → 而分组的前提——距离——又把问题交还给表示学习。

3. 参数法:肯假设形状,答案常是频率

参数密度估计:根据先验知识假设样本服从某种分布 p(x;θ), 用训练样本估计参数 θ——准则就是第 03 章的最大似然:让观测数据的对数似然最大1

两个标准解,书都推了全程:

假设分布最大似然解一句话读法
正态分布 N(μ,Σ)μ̂ = 样本均值;Σ̂ = 样本协方差矩阵「分布中心」就是平均数
多项分布(K 个状态)μ̂ₖ = mₖ/N最大似然解就是频率

第二行值得停留:多项分布的参数估计是约束优化(K 个概率加和为 1), 引入拉格朗日乘子转成无约束问题再求导,解出来的 μ̂ₖ 恰好是 「取值为第 k 个状态的样本占比」2—— 绕了一圈,最「数学」的估计器就是小时候学的「数频率」。 这不是巧合:最大似然在离散场景下的直觉形式就是频率。

肯假设的代价是假设本身。 书列了参数法的三个坎3:

  1. 模型选择:真实数据的分布往往比正态/多项复杂得多,形状假设错了后面全错;
  2. 不可观测变量:影响数据生成的关键因素根本看不见—— 这类估计需要 EM 算法(第 34 章的工具,那里正篇);
  3. 维度灾难:维度越高,估准分布需要的样本越多,样本不足就过拟合。

4. 非参数法:不假设形状,数格子

不假设分布,从一个朴素近似出发。信号 x 落进小区域 R 的概率是 P; N 个样本里落进 R 的个数 K 服从二项分布,N 大时 P ≈ K/N; 再假设 R 足够小、内部密度均匀,P ≈ p(x)·V(V 是区域体积)。两式合并4:

p(x) ≈ K / (N·V)

一行公式,三种算法——差别全在「V 固定还是 K 固定」5:

方法策略两难
直方图把空间切成等宽格子,数每格频率Δ 太小→格子内样本太少、随机性大;Δ 太大→曲线被抹平
核密度估计(Parzen 窗)每个样本放一个平滑「小山包」(高斯核),叠起来宽度 H 同样在过抖与过平之间
K 近邻反过来:固定样本数 K,区域大小自适应密度低处球体自动变大;K 太小估计无效、太大局部失真

前两种是「固定区域数样本」,第三种是「固定样本数改区域」—— 同一笔权衡的两种让步方式。

两个值得带走的注脚: 其一,K 近邻并不是一个严格的密度函数估计方法 (书的边注专门提醒,习题 10-10 展开)6; 其二,同一个「找 K 个最近样本」的动作用于分类就是最近邻分类器, 它有一个惊人的理论保证:N→∞ 时错误率不超过最优分类器的两倍7

还有一个出口要把路指明: 书在这节末尾说,概率密度估计是生成建模的重要基础—— 扩散模型、得分建模的形式已与经典方法不同, 但核心目标仍然是学习数据分布或与之相关的梯度信息8。 经典方法给的不是工具,是「分布可以被估」这个信念的出处。

5. 聚类:不画曲线,直接发编号

聚类的目标:在没有人工类别标签时,按样本相似性把数据划成若干簇。 它与前两节的关系书划得很清:聚类的输出不是连续表示,而是一组离散的簇编号; 也不显式给出完整分布,只回答「哪些样本该算一类」—— 它介于表示学习和结构发现之间9

K-Means:给定簇数 K,同时找每个样本的簇分配 rₙ 和每个簇的中心 μₖ, 最小化组内平方距离之和10:

① 分配:固定中心,每个样本归给最近的 μₖ
② 更新:固定分配,每个 μₖ 移到簇内样本的平均位置
交替往复,直到不再变化

简单高效,限制也是明码的:K 要预先指定;对初始化和特征尺度敏感; 容易收敛到局部最优;还隐含「簇近似为球形、距离度量有意义」的假设11

最容易被忽略的一句话,书给了整段: 聚类结果强烈依赖特征空间和距离度量—— 原始像素空间里接近的图像未必语义相近, 换到自编码器或自监督学出的表征空间,聚类才更反映语义结构12。 第 25 章和本章在这里扣成一个环:先学好表示,聚类才有意义; 聚类也常被反过来当作表示质量的体检指标。

评价没有统一答案13:没有标签时用内部指标(组内平方误差、轮廓系数, 衡量紧凑与分离);有少量人工标签做事后参照时用外部指标(纯度、归一化互信息)。 但所有指标都只反映某一类偏好——同一批文档,按主题聚、按风格聚、按时间聚都合理, 对应的是三个不同的问题。若聚类结果要喂给下游当伪标签, 还应检查它在独立样本上的稳定性,别把偶然的簇结构当可靠类别。

6. 主走查:六个数的三种画像

数据:一维六个数 {1, 2, 3, 8, 9, 10}(肉眼两团)。三种方法,同一份数据。

第一段:K-Means(K=2)。 初始中心取 μ₁=1、μ₂=10(初始化是我们为演示定的):

第一轮分配:1,2,3 → 簇1(离 1 近);8,9,10 → 簇2(离 10 近)
第一轮更新:μ₁ = (1+2+3)/3 = 2; μ₂ = (8+9+10)/3 = 9
第二轮分配:每点到 2 与 9 比距离,分组不变 → 收敛

两轮结束,中心落在 (2, 9)——恰好是两团数据的重心。但注意我们运气好: 若初始中心都落在 {8,9,10} 一侧,可能收敛到「把数据劈成 1|2」的错误局部最优—— 「对初始化敏感」不是一句空话。

第二段:直方图(宽度 Δ=1)。 区间 [1,2),[2,3),…,[10,11); x=2 落在 [2,3) 内,该格样本数 K=1:

p̂(2) = K/(N·Δ) = 1/(6×1) ≈ 0.167

第三段:核密度估计(高斯核,H=1)。 每个样本放一个小高斯,在 x=2 处求和:

p̂(2) = (1/6)·Σ (1/√(2π))·exp(−(2−xᵢ)²/2)
= (1/6)×0.3989×[e^{−0.5} + e⁰ + e^{−0.5} + e^{−18} + e^{−24.5} + e^{−32}]
≈ (1/6)×0.3989×(0.6065×2 + 1 + ≈0)
≈ 0.147

三个结果并排读14:

画像x=2 处的读数特点
K-Means簇 1(中心 2)只发编号,不给高度
直方图≈0.167台阶状;格子边缘的样本被硬切
高斯核≈0.147平滑;把 x=2 的一部分概率质量匀给了邻居

直方图与核密度的差(0.167 对 0.147)正是「硬格子」与「软山包」的差别: 核方法把每个样本的影响摊到周围,边界处不再跳变。 三个答案都对——它们回答的是三个略有不同的定义,选择取决于你要什么。

7. 作者的判断与证据

书里给了完整推导的: 正态与多项分布的最大似然解(含拉格朗日过程)12; 非参数核心近似 K/(NV) 的二项分布论证4; K-Means 的目标函数与交替解法10

书里给了坦白的: 参数法三坎(模型选择/不可观测变量/维度灾难)3; K 近邻不是严格密度估计6;K-Means 对初始化敏感、易陷局部最优11; 聚类指标只反映偏好13

书里给了指路的: 不可观测变量→EM(第 34 章的工具)3; 密度估计→扩散/得分模型的入口8;聚类↔表示学习的互哺关系12

书里给了定理彩蛋的: 最近邻分类器的两倍错误率上界[Cover et al., 1967]7

8. 边界与局限

参数法在本章只有「单峰、球形」级别的假设——混合模型(高斯混合)及其 EM 算法 被推到第 34 章,这里读者还看不到「多峰分布怎么办」的答案3

非参数法的带宽选择只有两难描述、没有选择准则:Δ/H/K 怎么定, 书给了失效方向,没给交叉验证等标准做法。

聚类的算法只有 K-Means 一个:谱聚类在任务清单里点了名,机制未讲9; 高维数据上的聚类困难(维度灾难的聚类版)也未展开。

评价一节是原则性的:轮廓系数、纯度、NMI 都只报了名字, 公式与适用条件要出门补——这与本章「画像工具」的定位一致,但读者动手前需自查。

9. 可带走的

  1. 密度估计两条路:肯假设→最大似然估参数;不肯假设→数格子;
  2. 正态分布的 MLE 解就是样本均值与样本协方差;多项分布的 MLE 解就是频率;
  3. 参数法三坎:模型选择、不可观测变量(等 EM)、维度灾难;
  4. 非参数核心一行:p(x) ≈ K/(N·V)——区域大小与样本数的讨价还价;
  5. 直方图 Δ、核密度 H、K 近邻的 K,是同一个旋钮的三种名字:过抖与过平之间;
  6. K 近邻的密度估计不严格,但最近邻分类器有「错误率 ≤ 2 倍最优」的定理;
  7. 密度估计是生成模型的入口:扩散、得分建模学的仍是数据分布;
  8. 聚类输出簇编号而非表示;K-Means = 「分配↔更新中心」交替,收敛到局部最优;
  9. 聚类结果取决于特征空间:先有好表示,聚类才有语义;
  10. 内部指标(紧凑/分离)与外部指标(纯度/NMI)只反映偏好—— 按主题、按风格、按时间,聚哪个取决于你要回答哪个问题。

10. 原文地图

主题原书章原文位置
密度估计定义与两分法第10章 无监督学习text/11-ch10.txt:399(搜「概率密度估计(Probabilistic Density Estimation」)
参数法与 MLE第10章 无监督学习text/11-ch10.txt:404(搜「Parametric Density Estimation」) · text/11-ch10.txt:415(搜「Maximum Likelihood Estimation,MLE」)
参数法三坎第10章 无监督学习text/11-ch10.txt:488(搜「模型选择问题」) · text/11-ch10.txt:492(搜「不可观测变量问题」) · text/11-ch10.txt:497(搜「维度灾难问题」)
非参数核心近似第10章 无监督学习text/11-ch10.txt:501(搜「Nonparametric Density Estimation」) · text/11-ch10.txt:534(搜「固定区域大小」)
直方图方法第10章 无监督学习text/11-ch10.txt:539(搜「直方图方法(Histogram Method」) · text/11-ch10.txt:552(搜「如果 Δ 太小」) · text/11-ch10.txt:564(搜「维度灾难(Curse of Dimensionality」)
核密度估计第10章 无监督学习text/11-ch10.txt:566(搜「Kernel Density Estimation」)
K 近邻第10章 无监督学习text/11-ch10.txt:620(搜「K-Nearest Neighbor Method」) · text/11-ch10.txt:625(搜「不超过最优分类器」)
生成模型入口第10章 无监督学习text/11-ch10.txt:628(搜「扩散模型(Diffusion」)
聚类定位第10章 无监督学习text/11-ch10.txt:636(搜「聚类(Clustering)的目标」)
K-Means 与限制第10章 无监督学习text/11-ch10.txt:641(搜「K-Means 算法(K-Means Algorithm」) · text/11-ch10.txt:644(搜「组内平方距离之和最小」) · text/11-ch10.txt:652(搜「容易收敛到」)
聚类依赖表示第10章 无监督学习text/11-ch10.txt:654(搜「聚类结果强烈依赖所使用的」)
评价与偏好第10章 无监督学习text/11-ch10.txt:660(搜「轮廓系数」) · text/11-ch10.txt:663(搜「按主题聚类、按写作风格聚类或按时间聚类」)

Footnotes

  1. 出处:「第10章 无监督学习」第 404 至 420 段(text/11-ch10.txt:404,搜「Parametric Density Estimation」; text/11-ch10.txt:415,搜「Maximum Likelihood Estimation,MLE」),式(10.27)-(10.28)。 2

  2. 出处:「第10章 无监督学习」第 449 至 475 段(text/11-ch10.txt:449,搜「假设样本服从 𝐾 个状态的多项分布」), 式(10.33)-(10.36);拉格朗日乘子法转无约束优化见式(10.35)。 2

  3. 出处:「第10章 无监督学习」第 486 至 498 段(text/11-ch10.txt:488,搜「模型选择问题」; text/11-ch10.txt:492,搜「不可观测变量问题」;text/11-ch10.txt:497,搜「维度灾难问题」)。 不可观测变量的边注指向 EM 算法(第 14.2.2.1 节)。 2 3 4

  4. 出处:「第10章 无监督学习」第 501 至 535 段(text/11-ch10.txt:501,搜「Nonparametric Density Estimation」), 式(10.37)-(10.41)。 2

  5. 出处:「第10章 无监督学习」第 534 至 535 段(text/11-ch10.txt:534,搜「固定区域大小」)。 三种方式的列举在这两段。

  6. 出处:「第10章 无监督学习」第 614 至 620 段(text/11-ch10.txt:620,搜「K-Nearest Neighbor Method」)。 「K 近邻方法并不是一个严格的密度函数估计方法」是该节右侧边注(参见习题 10-10)。 2

  7. 出处:「第10章 无监督学习」第 623 至 626 段(text/11-ch10.txt:625,搜「不超过最优分类器」), [Cover et al., 1967];最近邻分类器(K=1)的定义在其前段。 2

  8. 出处:「第10章 无监督学习」第 628 至 634 段(text/11-ch10.txt:628,搜「扩散模型(Diffusion」)。 2

  9. 出处:「第10章 无监督学习」第 636 至 640 段(text/11-ch10.txt:636,搜「聚类(Clustering)的目标」); 谱聚类在第 30 至 32 段点名(搜「谱聚类」)。 2

  10. 出处:「第10章 无监督学习」第 641 至 652 段(text/11-ch10.txt:641,搜「K-Means 算法(K-Means Algorithm」; text/11-ch10.txt:651,搜「把每个簇中心更新为簇内样本的平均值」), 式(10.48)。 2

  11. 出处:「第10章 无监督学习」第 652 段(text/11-ch10.txt:652,搜「容易收敛到」)。 2

  12. 出处:「第10章 无监督学习」第 654 至 658 段(text/11-ch10.txt:654,搜「聚类结果强烈依赖所使用的」)。 2

  13. 出处:「第10章 无监督学习」第 658 至 668 段(text/11-ch10.txt:660,搜「轮廓系数」; text/11-ch10.txt:663,搜「按主题聚类、按写作风格聚类或按时间聚类」)。 2

  14. 说明:本节三个读数均为按书内公式对演示数据 {1,2,3,8,9,10} 的实算; K-Means 初始中心与高斯核宽度 H=1 为演示设定。方法定义见 text/11-ch10.txt:641(搜「K-Means 算法(K-Means Algorithm」)、text/11-ch10.txt:539(搜「直方图方法(Histogram Method」)、text/11-ch10.txt:566(搜「Kernel Density Estimation」)。