线性判别分析(LDA)的类内散度与类间散度优化过程
题目描述
线性判别分析(Linear Discriminant Analysis, LDA)是一种监督学习的降维与分类算法,其核心思想是寻找一个投影方向,使得同类样本的投影点尽可能接近(类内散度小),不同类样本的投影点尽可能远离(类间散度大)。本题要求详细解释LDA如何通过数学定义类内散度与类间散度,并如何优化投影方向。
步骤1:定义类内散度与类间散度
假设有\(C\)个类别,第\(i\)类的样本集合为\(X_i\),样本总数为\(N\),第\(i\)类的样本数为\(N_i\)。
- 类内散度(Within-class Scatter)
- 衡量同类样本的离散程度。对每个类别\(i\),计算其协方差矩阵\(S_i\):
\[ S_i = \sum_{x \in X_i} (x - \mu_i)(x - \mu_i)^T \]
其中$\mu_i$是第$i$类的均值向量。
- 总类内散度矩阵\(S_W\)为所有类别散度矩阵之和:
\[ S_W = \sum_{i=1}^C S_i = \sum_{i=1}^C \sum_{x \in X_i} (x - \mu_i)(x - \mu_i)^T \]
- 类间散度(Between-class Scatter)
- 衡量不同类别均值之间的差异。定义全局均值向量\(\mu = \frac{1}{N}\sum_{i=1}^C N_i \mu_i\)。
- 类间散度矩阵\(S_B\)通过各类均值与全局均值的差异计算:
\[ S_B = \sum_{i=1}^C N_i (\mu_i - \mu)(\mu_i - \mu)^T \]
步骤2:投影与优化目标
设投影方向为\(w\)(单位向量),样本\(x\)投影后为\(w^T x\)。投影后的类内散度和类间散度变为标量:
- 投影后类内散度:\(w^T S_W w\)
- 投影后类间散度:\(w^T S_B w\)
LDA的目标是最大化类间散度与类内散度的比值(广义瑞利商):
\[J(w) = \frac{w^T S_B w}{w^T S_W w} \]
步骤3:求解最优投影方向
- 拉格朗日乘子法
优化问题可转化为:
\[ \max_w \ w^T S_B w \quad \text{s.t.} \quad w^T S_W w = 1 \]
约束条件避免\(w\)的尺度影响比值。构建拉格朗日函数:
\[ L(w, \lambda) = w^T S_B w - \lambda (w^T S_W w - 1) \]
- 求导解方程
对\(w\)求偏导并令其为零:
\[ \frac{\partial L}{\partial w} = 2S_B w - 2\lambda S_W w = 0 \]
整理得广义特征值问题:
\[ S_B w = \lambda S_W w \]
- 特征值分解
- 若\(S_W\)可逆,两边左乘\(S_W^{-1}\):
\[ S_W^{-1} S_B w = \lambda w \]
- \(w\)为\(S_W^{-1} S_B\)的特征向量,对应最大特征值的特征向量使\(J(w)\)最大。
步骤4:多类别扩展与降维
对于\(C\)类问题,最优投影方向不止一个。取\(S_W^{-1} S_B\)的前\(k\)个最大特征值对应的特征向量(\(k \leq C-1\)),组成投影矩阵\(W \in \mathbb{R}^{d \times k}\)(\(d\)为原始维度)。降维后的数据为:
\[Z = X W \]
关键点总结
- LDA通过类内散度\(S_W\)和类间散度\(S_B\)量化类别可分性。
- 优化目标为广义瑞利商的最大化,转化为广义特征值问题。
- 多类别下,投影矩阵由前\(k\)个特征向量构成,降维后维度不超过\(C-1\)。
通过这一过程,LDA在保留类别判别信息的同时实现降维,常用于分类预处理或特征提取。