线性判别分析(LDA)概述
定义
线性判别分析(Linear Discriminant Analysis, LDA)是一种用于分类和降维的统计技术。它通过在特征空间中寻找一个最佳投影方向,使得不同类别的样本尽可能分开。
提出者
LDA最早在二分类问题上由Fisher于1936年提出,因此有时被称为Fisher线性判别。不过,Fisher线性判别没有做出类似LDA所作的假设,比如正态分布的各类或者相等的类协方差。
基本原理
目的
LDA的目的是在特征空间中找到一个直线或超平面,使得不同类别的样本在投影后尽可能分开。在二维空间中,LDA试图找到一条直线,使得正例和反例在这条直线上的投影尽可能分开。
数学模型
类内散度矩阵(Within-class Scatter Matrix)
衡量同类样本的离散程度:
类间散度矩阵(Between-class Scatter Matrix)
衡量不同类别样本之间的分离程度:
目标函数与优化
广义瑞利商
LDA的目标是最大化类间散度与类内散度的比值,即:
求解方法
通过拉格朗日乘子法求解优化问题。具体方法是:
- 构建拉格朗日函数。
- 求导数并设为零,得到特征值问题。
- 通过奇异值分解(SVD)求解数值稳定的特征向量。
实现细节
奇异值分解(SVD)
为了数值稳定性,通常对 进行奇异值分解,然后求解 的特征向量。
投影矩阵
多分类LDA可以通过求解广义特征值问题得到投影矩阵 ,将样本投影到低维空间。
多分类LDA
全局散度矩阵
在多分类情况下,定义全局散度矩阵:
其中, 是所有样本的均值向量。
多分类优化目标
可以采用不同的散度矩阵组合来实现多分类LDA,一般实现采用优化目标:
贝叶斯决策理论
理论基础
LDA可以从贝叶斯决策理论角度解释,当数据满足高斯分布且协方差相等时,LDA能够达到最优分类效果。
应用场景
分类
LDA适用于二分类和多分类问题,尤其是在数据集的协方差矩阵相同的情况下。
降维
LDA可以作为一种监督降维技术,减少数据维度同时保留类别可分性。
总结
LDA是一种强大的线性分类和降维工具,它通过最大化类间和类内散度的比值来找到最佳的投影方向。这种方法不仅适用于二分类问题,也可以扩展到多分类任务。LDA的实现通常涉及复杂的数学运算,如拉格朗日乘子法和奇异值分解,但这些技术确保了LDA在实际应用中的有效性和稳定性。
参考文献:
- 周志华. 机器学习[M]. 北京:清华大学出版社,2016.
- 谢文睿 秦州 贾彬彬 . 机器学习公式详解 第 2 版[M]. 人民邮电出版社,2023
- 视频资料:吃瓜教程】《机器学习公式详解》(南瓜书)与西瓜书公式推导
- 线性判别分析