跳到主要内容

线性与二次判别分析

线性判别分析(LDA)和二次判别分析(QDA)都用高斯分布描述各个类别,再把类条件密度与类别先验 πk\pi_k 结合起来。

对于类别 kk

p(xy=k)=N(x;μk,Σk).p(x\mid y=k) = \mathcal{N}(x;\mu_k,\Sigma_k).

忽略所有类别共有的项,判别得分为

δk(x)=12logΣk12(xμk)Σk1(xμk)+logπk.\delta_k(x) = -\frac{1}{2}\log|\Sigma_k| -\frac{1}{2}(x-\mu_k)^{\top}\Sigma_k^{-1}(x-\mu_k) +\log\pi_k.

得分最高的类别就是预测结果。

从训练数据到决策

贝叶斯公式给出后验概率

p(y=kx)=πkp(xy=k)jπjp(xy=j)=eδk(x)jeδj(x).p(y=k\mid x)=\frac{\pi_k p(x\mid y=k)}{\sum_j\pi_j p(x\mid y=j)} =\frac{e^{\delta_k(x)}}{\sum_j e^{\delta_j(x)}}.

各类别均值由该类训练样本估计。若没有依据充分的目标总体先验,可用 nk/nn_k/n 估计类别先验。一种明确的最大似然约定是:把类内离均差外积之和除以 nkn_k,得到 Σk\Sigma_k;LDA 则汇总所有类别的类内离均差外积,再除以 nn。无偏协方差估计改用 nk1n_k-1nKn-K 作分母。应说明采用哪种约定,因为库实现不一定与这里的计算相同。

考虑一维例子:类别 0 的训练值为 (1,1)(-1,1),类别 1 为 (1,3)(1,3)。均值分别为 0 和 2,共享的最大似然方差为 1,先验均为 1/21/2,所以

δ1(x)δ0(x)=2x2.\delta_1(x)-\delta_0(x)=2x-2.

边界是 x=1x=1;在 x=1.5x=1.5 处,类别 1 的后验概率为 1/(1+e1)0.7311/(1+e^{-1})\approx0.731。保持均值和方差不变,若先验改为 π1=0.1\pi_1=0.1π0=0.9\pi_0=0.9,边界会移到 1+12log92.0991+\frac12\log9\approx2.099。先验会实际改变决策,并非拟合后的附加标签。

在拟合模型下,选择后验最大的类别使预期零一损失最小。错误成本不相等时,应改为最小化后验预期成本。高斯拟合与这条决策规则都不能保证模型符合部署分布。

LDA 与 QDA

模型协方差假设边界主要权衡
LDA所有类别共享一个 Σ\Sigma线性协方差参数较少,但假设更强
QDA每类使用一个 Σk\Sigma_k二次更灵活,但稳定估计需要多得多的数据

共享协方差时,各类别得分中关于 xx 的二次项会相互抵消,从而得到线性边界。分类别协方差会保留这些项,因此产生二次边界。若每类协方差都是对角矩阵,就相当于采用了高斯朴素贝叶斯式的条件独立假设。

难点在协方差

  • 在高维或小样本场景中,经验协方差矩阵可能噪声很大,甚至是奇异矩阵。
  • 收缩估计以一定偏差换取更稳定的协方差;其强度需要有意识地选择或估计。
  • 在精确运算下,未正则化的全协方差 LDA/QDA 对共同的可逆仿射特征变换保持预测不变。缩放仍会影响数值条件和某些正则化方案;类别不平衡会影响估计出的先验。
  • 参数有闭式估计,并不意味着模型选择无需验证。

上面的密度公式要求协方差正定。若有 dd 个特征,单类经验协方差的秩至多为 min(d,nk1)\min(d,n_k-1);因此 QDA 每类至少要有 d+1d+1 个观测才可能满秩,达到这个数量也不保证估计稳定。LDA 的合并协方差秩至多为 min(d,nK)\min(d,n-K)。矩阵奇异时,应去除冗余维度,或使用经过验证的协方差正则化。

监督式投影

LDA 也可以把数据投影到若干方向,使类别均值之间的差异相对于类内变化尽可能大。这种监督式降维视角与把 LDA 用作分类器有关,但并不相同。对于 KK 个类别,最多只有 K1K-1 个判别方向能够携带类间分离信息。

高斯假设可以是有用的近似,但预测概率仍需在目标分布上检查校准情况。应将 LDA 和 QDA 与逻辑回归及简单基线比较,而不是只根据边界形状做选择。

当前的协方差估计器和实现细节见 scikit-learn LDA/QDA 指南

探索关联打开关联网络