线性判别分析(LDA)的类内散度与类间散度优化过程
字数 4083 2025-12-13 16:58:11

线性判别分析(LDA)的类内散度与类间散度优化过程

题目描述
线性判别分析(Linear Discriminant Analysis, LDA)是一种经典的监督降维与分类算法,其核心思想是:寻找一个投影方向(或投影子空间),使得同类样本的投影尽可能聚集(类内散度小),不同类样本的投影尽可能分离(类间散度大)。本题将详细讲解如何通过数学定义类内散度矩阵(Within-class scatter matrix)与类间散度矩阵(Between-class scatter matrix),并推导如何优化投影方向以最大化类间散度与类内散度的比值。

解题过程

第一步:问题形式化

假设有 \(N\) 个样本,属于 \(C\) 个类别。第 \(i\) 类有 \(N_i\) 个样本,总样本数为 \(N = \sum_{i=1}^{C} N_i\)。每个样本是 \(d\) 维特征向量 \(\mathbf{x} \in \mathbb{R}^d\)
目标:寻找一个投影向量 \(\mathbf{w} \in \mathbb{R}^d\)(暂时先考虑投影到一维),将样本投影到一维空间 \(y = \mathbf{w}^T \mathbf{x}\),使得投影后类间差异最大、类内差异最小。


第二步:定义类内散度矩阵 \(S_W\)

类内散度衡量同一类别内样本的离散程度。

  • \(i\) 类样本的均值向量:

\[ \mathbf{\mu}_i = \frac{1}{N_i} \sum_{\mathbf{x} \in \text{Class } i} \mathbf{x} \]

  • \(i\) 类的散度矩阵(协方差矩阵的 \(N_i\) 倍):

\[ S_i = \sum_{\mathbf{x} \in \text{Class } i} (\mathbf{x} - \mathbf{\mu}_i)(\mathbf{x} - \mathbf{\mu}_i)^T \]

  • 类内散度矩阵 \(S_W\):将所有类的散度矩阵相加:

\[ S_W = \sum_{i=1}^{C} S_i = \sum_{i=1}^{C} \sum_{\mathbf{x} \in \text{Class } i} (\mathbf{x} - \mathbf{\mu}_i)(\mathbf{x} - \mathbf{\mu}_i)^T \]

\(S_W\)\(d \times d\) 对称半正定矩阵。


第三步:定义类间散度矩阵 \(S_B\)

类间散度衡量不同类别均值之间的差异。

  • 全体样本的全局均值向量:

\[ \mathbf{\mu} = \frac{1}{N} \sum_{i=1}^{C} \sum_{\mathbf{x} \in \text{Class } i} \mathbf{x} = \frac{1}{N} \sum_{i=1}^{C} N_i \mathbf{\mu}_i \]

  • \(i\) 类均值与全局均值的偏差:\(\mathbf{\mu}_i - \mathbf{\mu}\)
  • 类间散度矩阵 \(S_B\):用每个类别的样本数加权偏差的外积和:

\[ S_B = \sum_{i=1}^{C} N_i (\mathbf{\mu}_i - \mathbf{\mu})(\mathbf{\mu}_i - \mathbf{\mu})^T \]

\(S_B\) 也是 \(d \times d\) 对称半正定矩阵。


第四步:投影后的散度度量

样本 \(\mathbf{x}\) 投影后为 \(y = \mathbf{w}^T \mathbf{x}\)

  1. 投影后的类内散度(方差之和):
    \(i\) 类投影后的方差为:

\[ \sum_{y \in \text{Class } i} (y - \tilde{\mu}_i)^2 = \sum_{\mathbf{x} \in \text{Class } i} (\mathbf{w}^T \mathbf{x} - \mathbf{w}^T \mathbf{\mu}_i)^2 = \mathbf{w}^T \left[ \sum_{\mathbf{x} \in \text{Class } i} (\mathbf{x} - \mathbf{\mu}_i)(\mathbf{x} - \mathbf{\mu}_i)^T \right] \mathbf{w} = \mathbf{w}^T S_i \mathbf{w} \]

所有类投影后的类内散度总和为:

\[ \sum_{i=1}^{C} \mathbf{w}^T S_i \mathbf{w} = \mathbf{w}^T S_W \mathbf{w} \]

  1. 投影后的类间散度
    投影后第 \(i\) 类的均值 \(\tilde{\mu}_i = \mathbf{w}^T \mathbf{\mu}_i\),全局均值 \(\tilde{\mu} = \mathbf{w}^T \mathbf{\mu}\)
    类间散度(加权平方和)为:

\[ \sum_{i=1}^{C} N_i (\tilde{\mu}_i - \tilde{\mu})^2 = \sum_{i=1}^{C} N_i [\mathbf{w}^T (\mathbf{\mu}_i - \mathbf{\mu})]^2 = \mathbf{w}^T \left[ \sum_{i=1}^{C} N_i (\mathbf{\mu}_i - \mathbf{\mu})(\mathbf{\mu}_i - \mathbf{\mu})^T \right] \mathbf{w} = \mathbf{w}^T S_B \mathbf{w} \]


第五步:构建优化目标(Fisher准则)

我们希望最大化类间散度与类内散度的比值:

\[J(\mathbf{w}) = \frac{\mathbf{w}^T S_B \mathbf{w}}{\mathbf{w}^T S_W \mathbf{w}} \]

这是一个广义瑞利商(Rayleigh quotient)。优化该比值等价于求解:

\[\max_{\mathbf{w}} \mathbf{w}^T S_B \mathbf{w} \quad \text{s.t.} \quad \mathbf{w}^T S_W \mathbf{w} = 1 \]

约束是为了避免缩放不影响比值。


第六步:求解最优投影方向

使用拉格朗日乘子法,构造拉格朗日函数:

\[L(\mathbf{w}, \lambda) = \mathbf{w}^T S_B \mathbf{w} - \lambda (\mathbf{w}^T S_W \mathbf{w} - 1) \]

\(\mathbf{w}\) 求梯度并令为零:

\[\frac{\partial L}{\partial \mathbf{w}} = 2 S_B \mathbf{w} - 2 \lambda S_W \mathbf{w} = 0 \]

得到广义特征值问题:

\[S_B \mathbf{w} = \lambda S_W \mathbf{w} \]

如果 \(S_W\) 可逆,两边左乘 \(S_W^{-1}\)

\[S_W^{-1} S_B \mathbf{w} = \lambda \mathbf{w} \]

最优投影方向 \(\mathbf{w}\) 是矩阵 \(S_W^{-1} S_B\) 的最大特征值对应的特征向量。


第七步:扩展到多类降维(C > 2)

当类别数 \(C > 2\) 时,我们寻找一个投影矩阵 \(W \in \mathbb{R}^{d \times (C-1)}\),将样本投影到 \(C-1\) 维空间(因为类间散度矩阵 \(S_B\) 的秩最大为 \(C-1\))。
优化目标变为:

\[J(W) = \frac{\operatorname{tr}(W^T S_B W)}{\operatorname{tr}(W^T S_W W)} \]

最优投影矩阵 \(W\) 的列由 \(S_W^{-1} S_B\) 的前 \(C-1\) 个最大特征值对应的特征向量组成。


第八步:算法步骤总结

  1. 计算每个类别的均值向量 \(\mathbf{\mu}_i\) 和全局均值 \(\mathbf{\mu}\)
  2. 计算类内散度矩阵 \(S_W\) 和类间散度矩阵 \(S_B\)
  3. 计算矩阵 \(S_W^{-1} S_B\) 的特征值和特征向量。
  4. 选取前 \(C-1\) 个最大特征值对应的特征向量,构成投影矩阵 \(W\)
  5. 将原始数据投影:\(\mathbf{Y} = \mathbf{X} W\),得到降维后的数据。

核心要点

  • LDA 通过最大化类间散度与类内散度的比值,寻找最优投影方向,实现监督降维。
  • 类内散度矩阵 \(S_W\) 度量同类样本的紧凑性,类间散度矩阵 \(S_B\) 度量不同类中心的分离性。
  • 最终的优化问题归结为求解广义特征值问题 \(S_B \mathbf{w} = \lambda S_W \mathbf{w}\)
  • LDA 假设各类样本服从同协方差的高斯分布,且在小样本或类内散度矩阵奇异时需正则化(如添加小扰动 \(S_W + \epsilon I\))。
线性判别分析(LDA)的类内散度与类间散度优化过程 题目描述 线性判别分析(Linear Discriminant Analysis, LDA)是一种经典的监督降维与分类算法,其核心思想是:寻找一个投影方向(或投影子空间),使得同类样本的投影尽可能聚集(类内散度小),不同类样本的投影尽可能分离(类间散度大)。本题将详细讲解如何通过数学定义类内散度矩阵(Within-class scatter matrix)与类间散度矩阵(Between-class scatter matrix),并推导如何优化投影方向以最大化类间散度与类内散度的比值。 解题过程 第一步:问题形式化 假设有 \( N \) 个样本,属于 \( C \) 个类别。第 \( i \) 类有 \( N_ i \) 个样本,总样本数为 \( N = \sum_ {i=1}^{C} N_ i \)。每个样本是 \( d \) 维特征向量 \( \mathbf{x} \in \mathbb{R}^d \)。 目标:寻找一个投影向量 \( \mathbf{w} \in \mathbb{R}^d \)(暂时先考虑投影到一维),将样本投影到一维空间 \( y = \mathbf{w}^T \mathbf{x} \),使得投影后类间差异最大、类内差异最小。 第二步:定义类内散度矩阵 \( S_ W \) 类内散度衡量同一类别内样本的离散程度。 第 \( i \) 类样本的均值向量: \[ \mathbf{\mu} i = \frac{1}{N_ i} \sum {\mathbf{x} \in \text{Class } i} \mathbf{x} \] 第 \( i \) 类的散度矩阵(协方差矩阵的 \( N_ i \) 倍): \[ S_ i = \sum_ {\mathbf{x} \in \text{Class } i} (\mathbf{x} - \mathbf{\mu}_ i)(\mathbf{x} - \mathbf{\mu}_ i)^T \] 类内散度矩阵 \( S_ W \):将所有类的散度矩阵相加: \[ S_ W = \sum_ {i=1}^{C} S_ i = \sum_ {i=1}^{C} \sum_ {\mathbf{x} \in \text{Class } i} (\mathbf{x} - \mathbf{\mu}_ i)(\mathbf{x} - \mathbf{\mu}_ i)^T \] \( S_ W \) 是 \( d \times d \) 对称半正定矩阵。 第三步:定义类间散度矩阵 \( S_ B \) 类间散度衡量不同类别均值之间的差异。 全体样本的全局均值向量: \[ \mathbf{\mu} = \frac{1}{N} \sum_ {i=1}^{C} \sum_ {\mathbf{x} \in \text{Class } i} \mathbf{x} = \frac{1}{N} \sum_ {i=1}^{C} N_ i \mathbf{\mu}_ i \] 第 \( i \) 类均值与全局均值的偏差:\( \mathbf{\mu}_ i - \mathbf{\mu} \)。 类间散度矩阵 \( S_ B \):用每个类别的样本数加权偏差的外积和: \[ S_ B = \sum_ {i=1}^{C} N_ i (\mathbf{\mu}_ i - \mathbf{\mu})(\mathbf{\mu}_ i - \mathbf{\mu})^T \] \( S_ B \) 也是 \( d \times d \) 对称半正定矩阵。 第四步:投影后的散度度量 样本 \( \mathbf{x} \) 投影后为 \( y = \mathbf{w}^T \mathbf{x} \)。 投影后的类内散度 (方差之和): 第 \( i \) 类投影后的方差为: \[ \sum_ {y \in \text{Class } i} (y - \tilde{\mu} i)^2 = \sum {\mathbf{x} \in \text{Class } i} (\mathbf{w}^T \mathbf{x} - \mathbf{w}^T \mathbf{\mu} i)^2 = \mathbf{w}^T \left[ \sum {\mathbf{x} \in \text{Class } i} (\mathbf{x} - \mathbf{\mu}_ i)(\mathbf{x} - \mathbf{\mu} i)^T \right] \mathbf{w} = \mathbf{w}^T S_ i \mathbf{w} \] 所有类投影后的类内散度总和为: \[ \sum {i=1}^{C} \mathbf{w}^T S_ i \mathbf{w} = \mathbf{w}^T S_ W \mathbf{w} \] 投影后的类间散度 : 投影后第 \( i \) 类的均值 \( \tilde{\mu}_ i = \mathbf{w}^T \mathbf{\mu} i \),全局均值 \( \tilde{\mu} = \mathbf{w}^T \mathbf{\mu} \)。 类间散度(加权平方和)为: \[ \sum {i=1}^{C} N_ i (\tilde{\mu} i - \tilde{\mu})^2 = \sum {i=1}^{C} N_ i [ \mathbf{w}^T (\mathbf{\mu} i - \mathbf{\mu}) ]^2 = \mathbf{w}^T \left[ \sum {i=1}^{C} N_ i (\mathbf{\mu}_ i - \mathbf{\mu})(\mathbf{\mu}_ i - \mathbf{\mu})^T \right] \mathbf{w} = \mathbf{w}^T S_ B \mathbf{w} \] 第五步:构建优化目标(Fisher准则) 我们希望最大化类间散度与类内散度的比值: \[ J(\mathbf{w}) = \frac{\mathbf{w}^T S_ B \mathbf{w}}{\mathbf{w}^T S_ W \mathbf{w}} \] 这是一个广义瑞利商(Rayleigh quotient)。优化该比值等价于求解: \[ \max_ {\mathbf{w}} \mathbf{w}^T S_ B \mathbf{w} \quad \text{s.t.} \quad \mathbf{w}^T S_ W \mathbf{w} = 1 \] 约束是为了避免缩放不影响比值。 第六步:求解最优投影方向 使用拉格朗日乘子法,构造拉格朗日函数: \[ L(\mathbf{w}, \lambda) = \mathbf{w}^T S_ B \mathbf{w} - \lambda (\mathbf{w}^T S_ W \mathbf{w} - 1) \] 对 \( \mathbf{w} \) 求梯度并令为零: \[ \frac{\partial L}{\partial \mathbf{w}} = 2 S_ B \mathbf{w} - 2 \lambda S_ W \mathbf{w} = 0 \] 得到广义特征值问题: \[ S_ B \mathbf{w} = \lambda S_ W \mathbf{w} \] 如果 \( S_ W \) 可逆,两边左乘 \( S_ W^{-1} \): \[ S_ W^{-1} S_ B \mathbf{w} = \lambda \mathbf{w} \] 最优投影方向 \( \mathbf{w} \) 是矩阵 \( S_ W^{-1} S_ B \) 的最大特征值对应的特征向量。 第七步:扩展到多类降维(C > 2) 当类别数 \( C > 2 \) 时,我们寻找一个投影矩阵 \( W \in \mathbb{R}^{d \times (C-1)} \),将样本投影到 \( C-1 \) 维空间(因为类间散度矩阵 \( S_ B \) 的秩最大为 \( C-1 \))。 优化目标变为: \[ J(W) = \frac{\operatorname{tr}(W^T S_ B W)}{\operatorname{tr}(W^T S_ W W)} \] 最优投影矩阵 \( W \) 的列由 \( S_ W^{-1} S_ B \) 的前 \( C-1 \) 个最大特征值对应的特征向量组成。 第八步:算法步骤总结 计算每个类别的均值向量 \( \mathbf{\mu}_ i \) 和全局均值 \( \mathbf{\mu} \)。 计算类内散度矩阵 \( S_ W \) 和类间散度矩阵 \( S_ B \)。 计算矩阵 \( S_ W^{-1} S_ B \) 的特征值和特征向量。 选取前 \( C-1 \) 个最大特征值对应的特征向量,构成投影矩阵 \( W \)。 将原始数据投影:\( \mathbf{Y} = \mathbf{X} W \),得到降维后的数据。 核心要点 LDA 通过最大化类间散度与类内散度的比值,寻找最优投影方向,实现监督降维。 类内散度矩阵 \( S_ W \) 度量同类样本的紧凑性,类间散度矩阵 \( S_ B \) 度量不同类中心的分离性。 最终的优化问题归结为求解广义特征值问题 \( S_ B \mathbf{w} = \lambda S_ W \mathbf{w} \)。 LDA 假设各类样本服从同协方差的高斯分布,且在小样本或类内散度矩阵奇异时需正则化(如添加小扰动 \( S_ W + \epsilon I \))。