线性判别分析(Linear Discriminant Analysis, LDA)是一种统计模式识别方法
,用于寻找数据集中的线性组合
,以最大化类别之间的差异,同时最小化类别内部的差异
。
LDA通常用于监督
学习场景,例如分类任务
,其中已知数据点属于不同的预定义类别
,并且目标是
找到能够最好地区分这些类别的低维表示。
LDA的基本公式和参数
目标函数
LDA的目标是找到一个投影矩阵 W
,使得投影后的数据在类别间具有最大的方差,在类别内具有最小的方差
。这通过最大化下面的比率来实现:
其中:
表示
类间散度矩阵
(Between-class scatter matrix),反映了类别间的差异。
表示
类内散度矩阵
(Within-class scatter matrix),反映了类别内的差异。
是
判别准则函数。
散度矩阵
类内散度矩阵 是所有
类别内散度矩阵的加权和
:
其中, 表示第
是第
类的
均值向量
, 是第
类的
样本集合。
即
类间散度矩阵 描述了
各类均值之间的差异:
其中
是第
类的样本均值向量
是
整个数据集的样本均值向量。
样本协方差矩阵
的公式是用来估计一组多维数据之间线性相关性的强度和方向
的。对于一个由多个随机变量组成的样本数据集,样本协方差矩阵
设我们有一个包含 个样本的
-维数据集
,其中每个样本
是一个
-维向量。
样本均值向量为:
样本协方差矩阵 定义为:
其中
是第
- 而
矩阵中的每个元素 都代表了第
和第
个变量之间的样本协方差,计算公式为:
其中
和
分别是第
个
样本
在第和第
- 而
和
则是
相应维度的样本平均值。
值得注意的是,分母 而不是
是为了
得到无偏估计
,这是因为样本均值
求解W
要最大化 ,
需要求解以下广义特征值问题:
这里的 是
的
列向量
,而 是
相应的特征值
。通常,选择那些具有最大特征值
的 作为
解释
:
投影矩阵,用于将原始数据映射到较低维度空间。
:类间散度矩阵,量化了类别间的差异。
:类内散度矩阵,量化了类别内的差异。
:特征值,决定了投影方向的重要性。
:特征向量,指示了投影的方向。
通过LDA,可以找到一个或多个投影方向
,使得数据在这些方向上的投影能最大限度地区分不同的类别
,从而提高分类性能。在实际应用中,LDA经常用于降维,以便在保持类别信息的同时减少数据的复杂性。
python代码