引言
在分类任务中,特别是在统计模式识别和机器学习中,我们经常使用多元高斯分布来建模类条件密度。线性判别分析 (LDA) 和 二次判别分析 (QDA) 是两种此类方法,它们的区别在于对类协方差矩阵的假设。理解为什么估计独立的协方差矩阵会导致二次决策边界,而假设相同的协方差矩阵会导致线性决策边界,需要深入探讨决策函数的数学推导。
多元高斯类条件密度
假设我们有一个二分类问题,类别为 C 0 C_0 C0 和 C 1 C_1 C1,观测值为 x ∈ R D \mathbf{x} \in \mathbb{R}^D x∈RD。我们假设类条件密度是多元高斯分布:
-
对于类别 C 0 C_0 C0:
P ( x ∣ C 0 ) = 1 ( 2 π ) D / 2 ∣ Σ 0 ∣ 1 / 2 exp ( − 1 2 ( x − μ 0 ) ⊤ Σ 0 − 1 ( x − μ 0 ) ) P(\mathbf{x} | C_0) = \frac{1}{(2\pi)^{D/2} |\boldsymbol{\Sigma}_0|^{1/2}} \exp\left( -\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu}_0)^\top \boldsymbol{\Sigma}_0^{-1} (\mathbf{x} - \boldsymbol{\mu}_0) \right) P(x∣C0)=(2π)D/2∣Σ0∣1/21exp(−21(x−μ0)⊤Σ0−1(x−μ0))
-
对于类别 C 1 C_1 C1:
P ( x ∣ C 1 ) = 1 ( 2 π ) D / 2 ∣ Σ 1 ∣ 1 / 2 exp ( − 1 2 ( x − μ 1 ) ⊤ Σ 1 − 1 ( x − μ 1 ) ) P(\mathbf{x} | C_1) = \frac{1}{(2\pi)^{D/2} |\boldsymbol{\Sigma}_1|^{1/2}} \exp\left( -\frac{1}{2} (\mathbf{x} - \boldsymbol{\mu}_1)^\top \boldsymbol{\Sigma}_1^{-1} (\mathbf{x} - \boldsymbol{\mu}_1) \right) P(x∣C1)=(2π)D/2∣Σ1∣1/21exp(−21(x−μ1)⊤Σ1−1(x−μ1))
贝叶斯决策规则
为了对新观测值 x \mathbf{x} x 进行分类,我们使用贝叶斯决策规则,它选择后验概率 P ( C k ∣ x ) P(C_k | \mathbf{x}) P(Ck∣x) 最高的类别。假设等先验概率或包含先验概率,则决策基于比较判别函数:
δ k ( x ) = ln P ( x ∣ C k ) + ln P ( C k ) \delta_k(\mathbf{x}) = \ln P(\mathbf{x} | C_k) + \ln P(C_k) δk(x)=lnP(x∣Ck)+lnP(Ck)
如果 δ 1 ( x ) > δ 0 ( x ) \delta_1(\mathbf{x}) > \delta_0(\mathbf{x}) δ1(x)>δ0(x),我们将 x \mathbf{x} x 归为 C 1 C_1 C1 类,否则归为 C 0 C_0 C0。
判别函数的推导
当协方差矩阵不同(QDA)时
我们计算判别函数的差异 δ 1 ( x ) − δ 0 ( x ) \delta_1(\mathbf{x}) - \delta_0(\mathbf{x}) δ1(x)−δ0(x):
δ 1 ( x ) − δ 0 ( x ) = ln P ( x ∣ C 1 ) − ln P ( x ∣ C 0 ) + ln P ( C 1 ) − ln P ( C 0 ) \delta_1(\mathbf{x}) - \delta_0(\mathbf{x}) = \ln P(\mathbf{x} | C_1) - \ln P(\mathbf{x} | C_0) + \ln P(C_1) - \ln P(C_0) δ1(x)−δ0(x)=lnP(x∣C1)−lnP(x∣C0)+lnP(C1)−lnP(C0)
代入 ln P ( x ∣ C k ) \ln P(\mathbf{x} | C_k) lnP(x∣Ck) 的表达式:
δ 1 ( x ) − δ 0 ( x ) = − 1 2 [ ln ∣ Σ 1 ∣ + ( x − μ 1 ) ⊤ Σ 1 − 1 ( x − μ 1 ) ] + 1 2 [ ln ∣ Σ 0 ∣ + ( x − μ 0 ) ⊤ Σ 0 − 1 ( x − μ 0 ) ] + ln P ( C 1 ) P ( C 0 ) \delta_1(\mathbf{x}) - \delta_0(\mathbf{x}) = -\frac{1}{2} \left[ \ln |\boldsymbol{\Sigma}_1| + (\mathbf{x} - \boldsymbol{\mu}_1)^\top \boldsymbol{\Sigma}_1^{-1} (\mathbf{x} - \boldsymbol{\mu}_1) \right] + \frac{1}{2} \left[ \ln |\boldsymbol{\Sigma}_0| + (\mathbf{x} - \boldsymbol{\mu}_0)^\top \boldsymbol{\Sigma}_0^{-1} (\mathbf{x} - \boldsymbol{\mu}_0) \right] + \ln \frac{P(C_1)}{P(C_0)} δ1(x)−δ0(x)=−21[ln∣Σ1∣+(x−μ1)⊤Σ1−1(x−μ1)]+21[ln∣Σ0∣+(x−μ0)⊤Σ0−1(x−μ0)]+lnP(C0)P(C1)
简化得到:
δ ( x ) = δ 1 ( x ) − δ 0 ( x ) = ln P ( C 1 ) P ( C 0 ) − 1 2 [ ln ∣ Σ 1 ∣ ∣ Σ 0 ∣ ] − 1 2 [ ( x − μ 1 ) ⊤ Σ 1 − 1 ( x − μ 1 ) − ( x − μ 0 ) ⊤ Σ 0 − 1 ( x − μ 0 ) ] \delta(\mathbf{x}) = \delta_1(\mathbf{x}) - \delta_0(\mathbf{x}) = \ln \frac{P(C_1)}{P(C_0)} - \frac{1}{2} \left[ \ln \frac{|\boldsymbol{\Sigma}_1|}{|\boldsymbol{\Sigma}_0|} \right] - \frac{1}{2} \left[ (\mathbf{x} - \boldsymbol{\mu}_1)^\top \boldsymbol{\Sigma}_1^{-1} (\mathbf{x} - \boldsymbol{\mu}_1) - (\mathbf{x} - \boldsymbol{\mu}_0)^\top \boldsymbol{\Sigma}_0^{-1} (\mathbf{x} - \boldsymbol{\mu}_0) \right] δ(x)=δ1(x)−δ0(x)=lnP(C0)P(C1)−21[ln∣Σ0∣∣Σ1∣]−21[(x−μ1)⊤Σ1−1(x−μ1)−(x−μ0)⊤Σ0−1(x−μ0)]
决策边界由 δ ( x ) = 0 \delta(\mathbf{x}) = 0 δ(x)=0 决定:
δ ( x ) = 0 \delta(\mathbf{x}) = 0 δ(x)=0
二次项:
注意,判别函数中包含 x \mathbf{x} x 的二次项,来自表达式 ( x − μ k ) ⊤ Σ k − 1 ( x − μ k ) (\mathbf{x} - \boldsymbol{\mu}_k)^\top \boldsymbol{\Sigma}_k^{-1} (\mathbf{x} - \boldsymbol{\mu}_k) (x−μk)⊤Σk−1(x−μk)。这些项涉及到 x \mathbf{x} x 的分量的乘积,导致二次决策边界。
当协方差矩阵相同时(LDA)
假设 Σ 0 = Σ 1 = Σ \boldsymbol{\Sigma}_0 = \boldsymbol{\Sigma}_1 = \boldsymbol{\Sigma} Σ0=Σ1=Σ:
-
因为 Σ 0 = Σ 1 \boldsymbol{\Sigma}_0 = \boldsymbol{\Sigma}_1 Σ0=Σ1,行列式项 ln ∣ Σ 1 ∣ \ln |\boldsymbol{\Sigma}_1| ln∣Σ1∣ 和 ln ∣ Σ 0 ∣ \ln |\boldsymbol{\Sigma}_0| ln∣Σ0∣ 相互抵消:
ln ∣ Σ 1 ∣ − ln ∣ Σ 0 ∣ = 0 \ln |\boldsymbol{\Sigma}_1| - \ln |\boldsymbol{\Sigma}_0| = 0 ln∣Σ1∣−ln∣Σ0∣=0
-
二次项因为 Σ 0 − 1 = Σ 1 − 1 = Σ − 1 \boldsymbol{\Sigma}_0^{-1} = \boldsymbol{\Sigma}_1^{-1} = \boldsymbol{\Sigma}^{-1} Σ0−1=Σ1−1=Σ−1 而简化:
( x − μ 1 ) ⊤ Σ − 1 ( x − μ 1 ) − ( x − μ 0 ) ⊤ Σ − 1 ( x − μ 0 ) (\mathbf{x} - \boldsymbol{\mu}_1)^\top \boldsymbol{\Sigma}^{-1} (\mathbf{x} - \boldsymbol{\mu}_1) - (\mathbf{x} - \boldsymbol{\mu}_0)^\top \boldsymbol{\Sigma}^{-1} (\mathbf{x} - \boldsymbol{\mu}_0) (x−μ1)⊤Σ−1(x−μ1)−(x−μ0)⊤Σ−1(x−μ0)
展开二次型:
( x − μ 1 ) ⊤ Σ − 1 x − 2 μ 1 ⊤ Σ − 1 x + μ 1 ⊤ Σ − 1 μ 1 − ( x − μ 0 ) ⊤ Σ − 1 x + 2 μ 0 ⊤ Σ − 1 x − μ 0 ⊤ Σ − 1 μ 0 = − 2 ( μ 1 ⊤ − μ 0 ⊤ ) Σ − 1 x + ( μ 1 ⊤ Σ − 1 μ 1 − μ 0 ⊤ Σ − 1 μ 0 ) \begin{align*} & (\mathbf{x} - \boldsymbol{\mu}_1)^\top \boldsymbol{\Sigma}^{-1} \mathbf{x} - 2 \boldsymbol{\mu}_1^\top \boldsymbol{\Sigma}^{-1} \mathbf{x} + \boldsymbol{\mu}_1^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_1 \\ & - (\mathbf{x} - \boldsymbol{\mu}_0)^\top \boldsymbol{\Sigma}^{-1} \mathbf{x} + 2 \boldsymbol{\mu}_0^\top \boldsymbol{\Sigma}^{-1} \mathbf{x} - \boldsymbol{\mu}_0^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_0 \\ = & -2 ( \boldsymbol{\mu}_1^\top - \boldsymbol{\mu}_0^\top ) \boldsymbol{\Sigma}^{-1} \mathbf{x} + ( \boldsymbol{\mu}_1^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_1 - \boldsymbol{\mu}_0^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_0 ) \end{align*} =(x−μ1)⊤Σ−1x−2μ1⊤Σ−1x+μ1⊤Σ−1μ1−(x−μ0)⊤Σ−1x+2μ0⊤Σ−1x−μ0⊤Σ−1μ0−2(μ1⊤−μ0⊤)Σ−1x+(μ1⊤Σ−1μ1−μ0⊤Σ−1μ0)
注意,项 x ⊤ Σ − 1 x \mathbf{x}^\top \boldsymbol{\Sigma}^{-1} \mathbf{x} x⊤Σ−1x 相互抵消。
结果为线性判别函数:
代回 δ ( x ) \delta(\mathbf{x}) δ(x) 中:
δ ( x ) = ln P ( C 1 ) P ( C 0 ) + ( μ 1 ⊤ μ 0 ⊤ ) Σ − 1 x − 1 2 ( μ 1 ⊤ Σ − 1 μ 1 − μ 0 ⊤ Σ − 1 μ 0 ) \delta(\mathbf{x}) = \ln \frac{P(C_1)}{P(C_0)} + ( \boldsymbol{\mu}_1^\top \boldsymbol{\mu}_0^\top ) \boldsymbol{\Sigma}^{-1} \mathbf{x} - \frac{1}{2} ( \boldsymbol{\mu}_1^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_1 - \boldsymbol{\mu}_0^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_0 ) δ(x)=lnP(C0)P(C1)+(μ1⊤μ0⊤)Σ−1x−21(μ1⊤Σ−1μ1−μ0⊤Σ−1μ0)
定义:
- w ⊤ = ( μ 1 ⊤ − μ 0 ⊤ ) Σ − 1 \mathbf{w}^\top = ( \boldsymbol{\mu}_1^\top - \boldsymbol{\mu}_0^\top ) \boldsymbol{\Sigma}^{-1} w⊤=(μ1⊤−μ0⊤)Σ−1
- w 0 = ln P ( C 1 ) P ( C 0 ) − 1 2 ( μ 1 ⊤ Σ − 1 μ 1 − μ 0 ⊤ Σ − 1 μ 0 ) w_0 = \ln \frac{P(C_1)}{P(C_0)} - \frac{1}{2} ( \boldsymbol{\mu}_1^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_1 - \boldsymbol{\mu}_0^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_0 ) w0=lnP(C0)P(C1)−21(μ1⊤Σ−1μ1−μ0⊤Σ−1μ0)
因此,判别函数简化为:
δ ( x ) = w ⊤ x + w 0 \delta(\mathbf{x}) = \mathbf{w}^\top \mathbf{x} + w_0 δ(x)=w⊤x+w0
这是 x \mathbf{x} x 的线性函数。设 δ ( x ) = 0 \delta(\mathbf{x}) = 0 δ(x)=0 定义了分离类别的超平面(线性决策边界)。
结论
-
独立协方差矩阵(QDA):当我们为每个类别估计独立的协方差矩阵( Σ 0 \boldsymbol{\Sigma}_0 Σ0 和 Σ 1 \boldsymbol{\Sigma}_1 Σ1)时,判别函数中的二次项保留,导致二次决策边界。这个边界可以捕捉更复杂的特征关系,但需要估计更多参数。
-
相同协方差矩阵(LDA):当我们假设两个类别共享相同的协方差矩阵( Σ 0 = Σ 1 = Σ \boldsymbol{\Sigma}_0 = \boldsymbol{\Sigma}_1 = \boldsymbol{\Sigma} Σ0=Σ1=Σ)时,判别函数中的二次项抵消,导致线性决策边界。这简化了模型,并减少了需要估计的参数数量。
意义
-
模型复杂性:
- QDA 更灵活,能够建模更复杂的类边界,但代价是需要估计更多的参数,可能需要更多的数据以避免过拟合。
- LDA 假设线性可分性和共享协方差,使其不如 QDA 灵活,但在数据有限时更为稳健。
-
参数估计:
- QDA 需要估计 Σ 0 \boldsymbol{\Sigma}_0 Σ0 和 Σ 1 \boldsymbol{\Sigma}_1 Σ1,这涉及 D ( D + 1 ) / 2 D(D+1)/2 D(D+1)/2 个参数用于每个协方差矩阵,还需要估计均值 μ 0 \boldsymbol{\mu}_0 μ0 和 μ 1 \boldsymbol{\mu}_1 μ1。
- LDA 只需估计一个公共的协方差矩阵 Σ \boldsymbol{\Sigma} Σ 和类均值 μ 0 \boldsymbol{\mu}_0 μ0 和 μ 1 \boldsymbol{\mu}_1 μ1。
-
计算效率:
- LDA 由于参数较少且决策边界为线性,计算效率较高。
- QDA 由于二次项和独立协方差矩阵的存在,计算复杂度更高。
二维情况下的可视化
在二维情况下:
- LDA 的决策边界是一条直线(线性边界),将两个类别分开。
- QDA 的决策边界是一个曲线(二次边界),可能是椭圆、抛物线或双曲线,具体取决于协方差矩阵。
数学总结
LDA 决策边界方程:
w ⊤ x + w 0 = 0 \mathbf{w}^\top \mathbf{x} + w_0 = 0 w⊤x+w0=0
其中:
- w = Σ − 1 ( μ 1 − μ 0 ) \mathbf{w} = \boldsymbol{\Sigma}^{-1} ( \boldsymbol{\mu}_1 - \boldsymbol{\mu}_0 ) w=Σ−1(μ1−μ0)
- w 0 = ln P ( C 1 ) P ( C 0 ) − 1 2 ( μ 1 ⊤ Σ − 1 μ 1 − μ 0 ⊤ Σ − 1 μ 0 ) w_0 = \ln \frac{P(C_1)}{P(C_0)} - \frac{1}{2} ( \boldsymbol{\mu}_1^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_1 - \boldsymbol{\mu}_0^\top \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}_0 ) w0=lnP(C0)P(C1)−21(μ1⊤Σ−1μ1−μ0⊤Σ−1μ0)
QDA 决策边界方程:
设 δ ( x ) = 0 \delta(\mathbf{x}) = 0 δ(x)=0 并包含 x ⊤ Σ k − 1 x \mathbf{x}^\top \boldsymbol{\Sigma}_k^{-1} \mathbf{x} x⊤Σk−1x 的二次项。
实际考虑因素
-
数据需求:
- QDA 需要更多的数据来可靠地估计参数,因为参数更多。
- LDA 适用于协方差相等的假设合理且数据较为有限的情况。
-
假设:
- LDA 假设类别共享相同的协方差矩阵,且数据服从正态分布。
- QDA 放宽了相等协方差的假设,允许类别分布具有不同的形状和方向。
-
模型选择:
- 当类别是线性可分或你更倾向于使用简单模型时,使用 LDA。
- 当决策边界预计为非线性,且你有足够的数据来准确估计协方差矩阵时,使用 QDA。
总结
造成决策边界差异的关键原因在于判别函数中的二次项。当协方差矩阵相等时,这些二次项会相互抵消,结果是 x \mathbf{x} x 的线性函数。当协方差矩阵不同,二次项保留,导致二次判别函数。这一数学特性解释了为什么估计独立的协方差矩阵会产生二次决策边界,而假设共享协方差矩阵会产生线性决策边界。
参考文献
- Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.
- Duda, R. O., Hart, P. E., & Stork, D. G. (2001). Pattern Classification. Wiley-Interscience.
- Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning. Springer.