目录
一、LDA
线性判别式分析,又称Fisher线性判别(Linear discriminant analysis)。
如下图所示:
左图是前面我们学到的PCA(主成分分析),PCA是一种数据压缩算法(降维),它压缩的目的是,使之在后续数据恢复中的损失最小,优化准则是最小重构误差,是无监督学习算法;右图是LDA,LDA是一个监督学习算法,它是有类别的,其次,LDA算法也是一个数据压缩算法,它压缩的目的是可以很好的将样本区分开,优化准则是让每个类之间距离更大,类内更加紧凑(即最大化类间均值,最小化类内方差)。
二、LDA的推导
我们来看一下LDA是怎么推导的:
1.求样本方差
K类样本如下图所示:
我们假设为变换后的样本,即映射到主向量上的样本。
则在主向量上的表示为:
它们之间的关系如图所示:
因为我们想要最小化类内方差,所以计算第K类的方差:
为样本方差公式,其中为变换之后的样本,为变换之后的均值。
那这个公式是怎么得来的呢?
其中间转换公式为:
然后将代入
注意,x和u是列向量,是一个实数,实数的转置还是实数;我们假设u是一个单位向量,则,若u的长度定义为a,则在下属公式右边再乘a。。
全部过程如下所示:
要求第K类样本的方差还要除以第K类样本的个数:
其中(均值)
2.优化LDA
(1)最小化类内方差
对K类样本的方差求和:
最终求得,我们的目的就是使这一项尽可能的小,
(2)最大化类间均值
不同样本之间距离可以表示为:
对求和得到:
最终求得,我们的目的是使这一项尽可能的大。
总结:
我们的最终目的就是,最小化,最大化。
我们构建下述公式,求 J 的最大值。
其中求最大值我们应用的拉格朗日乘子。
我们使得,则该方程变为Tu = λu,该问题就转变为特征值和特征向量的问题,从而得到 u 和 λ 。
附手推图:
三、PCA和LDA的区别
PCA(主成分分析)是一种数据压缩算法(降维),它压缩的目的是,使之在后续数据恢复中的损失最小,优化准则是最小重构误差,是无监督学习算法;LDA是一个监督学习算法,它是有类别的,其次,LDA算法也是一个数据压缩算法,它压缩的目的是可以很好的将样本区分开,优化准则是让每个类之间距离更大,类内更加紧凑(即最大化类间均值,最小化类内方差)。
主方向个数:
有N类样本,每个样本的维数为n
PCA最多可以找到n个主方向。
LDA最多可以找到N-1个主方向。