学习笔记九:线性判别分析
1. 基本概念
1.1 什么是线性判别分析
线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的监督降维技术,同时也是一种分类方法。
核心思想:
想象一下,你有一堆数据点,它们属于不同的类别(比如好瓜和坏瓜)。这些数据点可能有很多个特征(比如色泽、根蒂、敲声等),也就是处于一个高维空间中。LDA要做的事情是:找到一个合适的投影方向,把高维的数据点投影到一条直线上(一维空间),使得投影后:
- 同类样本尽可能靠近:同一类别的数据点投影后要聚在一起
- 不同类样本尽可能远离:不同类别的数据点投影后要分得开
这样,在投影后的低维空间中,我们就能更容易地区分不同类别的样本。
2. LDA的工作原理
2.1 两个关键指标
LDA通过两个指标来衡量投影效果的好坏:
类内散度(Within-class scatter):
- 衡量同一类别的样本投影后有多"散"
- 我们希望这个值越小越好,因为同类样本应该聚在一起
类间散度(Between-class scatter):
- 衡量不同类别的样本中心投影后离得有多远
- 我们希望这个值越大越好,因为不同类应该分得开
优化目标:
LDA的目标是找到一个投影方向,使得类间散度与类内散度的比值最大。这个比值越大,说明投影效果越好。
用数学公式表达,就是最大化:
J = (w^T S_b w) / (w^T S_w w)
其中 w 是投影向量,S_b 是类间散度矩阵,S_w 是类内散度矩阵。这个公式的分子表示类间散度(越大越好),分母表示类内散度(越小越好),所以整个比值越大,投影效果越好。
2.2 如何求解
基本思路:
- 计算所有样本的均值(全局中心)
- 计算每个类别的样本均值(类别中心)
- 计算类内散度矩阵和类间散度矩阵
- 求解一个广义特征值问题,找到最优的投影方向
数值稳定性:
在实际计算中,为了避免数值不稳定,通常使用奇异值分解(SVD)来求解,而不是直接求逆矩阵。
3. 从二分类到多分类
3.1 二分类LDA
投影维度:
对于二分类问题,LDA将数据投影到一维空间(一条直线)上。这是因为两个类别只需要一个维度就能分开。
投影方向:
二分类LDA只需要找到一个投影向量,这个向量指向最优的投影方向。
3.2 多分类LDA
投影维度:
对于N个类别的分类问题,LDA将数据投影到N-1维空间。比如:
- 3个类别 → 投影到2维平面
- 4个类别 → 投影到3维空间
为什么是N-1维?
这是因为N个类别最多只需要N-1个维度就能完全分开。就像在平面上,3个点最多需要2个坐标就能确定位置。
投影矩阵:
多分类LDA需要找到一个投影矩阵,这个矩阵由N-1个投影向量组成。每个向量对应一个投影方向。
求解方法:
多分类LDA通过求解广义特征值问题来找到最优的投影矩阵。具体来说,是找到类间散度矩阵和类内散度矩阵的比值最大的N-1个方向。
4. 总结
线性判别分析(LDA)是一种经典的监督降维和分类方法。它的核心思想是找到一个投影方向,使得同类样本投影后尽可能靠近,不同类样本投影后尽可能远离。
LDA的主要优势在于使用类别信息进行降维,这使得它在分类任务中通常比无监督降维方法(如PCA)效果更好。同时,LDA具有理论基础扎实、计算效率高等优点。
LDA适用于线性可分的数据,对于非线性数据效果可能不佳。在实际应用中,LDA常用于降维、分类、特征提取等任务,在人脸识别、文本分类、生物信息学等领域有广泛应用。
需要注意的是,LDA假设数据满足高斯分布且各类协方差相等,这些假设在实际应用中可能不成立,但LDA往往仍能取得不错的效果。对于非线性数据,可以考虑使用核LDA等扩展方法。
