线性判别分析(LDA)算法的原理与降维分类过程
题目描述
线性判别分析(LDA)是一种监督学习的降维技术,同时用于分类和特征提取。其核心思想是:将高维数据投影到低维空间,使得同类样本的投影点尽可能接近,不同类样本的投影点尽可能远离,从而最大化类间距离与类内距离的比值。假设有数据集包含\(C\)个类别,LDA的目标是找到一个投影方向(或投影矩阵),使得投影后的数据能最好地分离不同类别。
解题过程
1. 问题定义与假设
设数据集有\(N\)个样本,每个样本为\(d\)维向量,属于\(C\)个类别之一。第\(i\)类的样本数为\(N_i\),样本均值为\(\boldsymbol{\mu}_i\),总体均值为\(\boldsymbol{\mu}\)。LDA的假设是:每个类别的数据服从高斯分布,且所有类别的协方差矩阵相同。
2. 关键概念:类内散度矩阵与类间散度矩阵
- 类内散度矩阵(Within-class scatter matrix) \(S_W\):衡量同类样本的分散程度。
\[ S_W = \sum_{i=1}^{C} \sum_{\boldsymbol{x} \in \text{Class } i} (\boldsymbol{x} - \boldsymbol{\mu}_i)(\boldsymbol{x} - \boldsymbol{\mu}_i)^T \]
- 类间散度矩阵(Between-class scatter matrix) \(S_B\):衡量不同类样本的均值之间的分散程度。
\[ S_B = \sum_{i=1}^{C} N_i (\boldsymbol{\mu}_i - \boldsymbol{\mu})(\boldsymbol{\mu}_i - \boldsymbol{\mu})^T \]
3. 优化目标
对于投影方向\(\boldsymbol{w}\)(单位向量),投影后的数据为\(z = \boldsymbol{w}^T \boldsymbol{x}\)。投影后的类间距离与类内距离的比值(广义瑞利商)为:
\[J(\boldsymbol{w}) = \frac{\boldsymbol{w}^T S_B \boldsymbol{w}}{\boldsymbol{w}^T S_W \boldsymbol{w}} \]
目标是通过选择\(\boldsymbol{w}\)最大化\(J(\boldsymbol{w})\)。
4. 求解投影方向
最大化\(J(\boldsymbol{w})\)等价于求解广义特征值问题:
\[S_B \boldsymbol{w} = \lambda S_W \boldsymbol{w} \]
- 若\(S_W\)可逆,最优\(\boldsymbol{w}\)是\(S_W^{-1} S_B\)的最大特征值对应的特征向量。
- 对于\(C\)类问题,LDA可提取最多\(C-1\)个投影方向(即降维后的维度上限为\(C-1\)),这些方向对应\(S_W^{-1} S_B\)的前\(C-1\)个最大特征值的特征向量。
5. 降维与分类
- 降维:将原始数据\(\boldsymbol{x}\)投影到选定的方向(或投影矩阵\(\boldsymbol{W}\))上,得到低维表示\(\boldsymbol{z} = \boldsymbol{W}^T \boldsymbol{x}\)。
- 分类:在低维空间中,使用简单分类器(如最近质心分类器)根据投影后的样本与各类别均值的距离进行分类。
6. 算法步骤总结
- 计算每个类别的均值\(\boldsymbol{\mu}_i\)和总体均值\(\boldsymbol{\mu}\)。
- 计算\(S_W\)和\(S_B\)。
- 求解\(S_W^{-1} S_B\)的特征值和特征向量。
- 按特征值降序排列特征向量,取前\(C-1\)个构成投影矩阵\(\boldsymbol{W}\)。
- 将数据投影到低维空间,实现降维或分类。
关键点说明
- LDA与PCA的区别:PCA是无监督方法,仅最大化方差;LDA利用类别标签,强调类间分离。
- 局限性:LDA假设各类服从相同协方差矩阵的高斯分布,若实际数据偏离此假设,效果可能下降。