线性判别分析也可被理解为是一种原型(prototype)分类器。每个类别可由它的中心点所代表,而分类规则就是按一个恰当度量距离最近的中心点的类别。很多时候一个原型并不足以代表不均一的类别,而混合模型就会更合理。本节我们回顾高斯混合(Gaussian mixture)模型,并说明它们可以通过上面介绍的 FDA 和 PDA 方法进行扩展。类别
其中的混合比例
其中的
在第八章中介绍了两个成分特例的计算过程。与 LDA 类似地,我们用最大似然方法估计参数,而基于
若直接计算,log 函数中的求和会使最优化问题异常繁杂。计算混合分布模型的最大似然估计(MLE)经典常用的方法是 EM 算法(Dempster et al., 1977),已知这个算法具备良好的收敛性质。EM 算法交替进行以下两步:
- 期望(E)步骤:基于当前的参数值,为类别
中的每个样本( )计算子类别 的“责任值(responsibility)”。 - 最大化(M)步骤:使用 E 步骤中的权重,为每个类别中的每个高斯成分的参数计算加权最大似然估计。
在 E 步骤中,算法将类别
在 M 步骤中,类别
各成分协方差矩阵
这是仍可以使用 EM 算法,M 步骤就成为了一个加权版本的 LDA,其“类别”个数为
其中某个类别
之后的步骤是一样的:
这些简单改动给混合模型带来了很大的灵活性:
- 在 LDA、FDA、或 PDA 中,维度缩减的步骤受限于类别的个数。特别来说,当只有
个类别时就无法进行缩减。而 MDA 用子类别代替了类别,然后就可以在这些子类别中心点组成的子空间上观察其低维度的视图。这个子空间通常会是判别中的重要的子空间。 - M 步骤中使用 FDA 或 PDA,可以使我们采用更适合具体场景的方法。例如我们就可以在模拟信号和图片的 MDA 拟合中加入平滑约束。
图 12.13 在混合分布的例子中比较了 FDA 和 MDA。

12.7.1 示例:波形数据
本节用一个常用的模拟例子来演示这些方法,这个例子来自 Breiman et al. (1984, p 49-55),也在 Hastie and Tibshirani (1996b) 和其他文献中被使用过。这是一个有 21 个自变量和三个类别的分类问题,并且被认为是一个较难处理的模式识别问题。自变量的定义为:
其中
图 12.14 展示了每个类别中的一些波形函数示例。

表 12.4 展示了应用在波形数据上的 MDA 以及本章和其他章节中一些方法的表现结果。训练集有 300 个观测样本,并且使用了等分的先验概率,即每个类型大概有 100 个观测样本。测试集的大小为 500。表的说明中描述了其中的两个 MDA 模型。
Error Rates | Error Rates | |
---|---|---|
Technique | Training | Test |
LDA | 0.121(0.006) | 0.191(0.006) |
QDA | 0.039(0.004) | 0.205(0.006) |
CART | 0.072(0.003) | 0.289(0.004) |
FDA/MARS (degree = 1) | 0.100(0.006) | 0.191(0.006) |
FDA/MARS (degree = 2) | 0.068(0.004) | 0.215(0.002) |
MDA (3 subclasses) | 0.087(0.005) | 0.169(0.006) |
MDA (3 subclasses, penalized 4 df) | 0.137(0.006) | 0.157(0.005) |
PDA (penalized 4 df) | 0.150(0.005) | 0.171(0.005) |
Bayes | 0.140 |
表 12.4:波形数据的结果。数值为十次模拟的平均值,括号内为平均值的标准差。前五行结果来自 Hastie et al. (1994)。第六行的模型为每个类别三个子类别的 MDA。第七行的模型一样,不过通过等同于 4 个自由度的粗糙度惩罚项对判别系数进行了惩罚。第八行为对应的惩罚 LDA 或者是 PDA 模型。

图 12.15展示了带惩罚 MDA 在测试集上计算的主要典型变量。可能已经猜到,类别似乎位于一个三角形的边上。这是因为