Linear Discriminant Analysis(LDA)的一些总结
Linear Discriminant Analysis(LDA)的一些总结(1)
差不多从去年这个时候开始对LDA降维算法的学习,一年过去了,也有了更多的理解,对于数学一般的我来说,真的在不断地犯错与改进直接学习到了很多,刚好这几天没什么事,赶着放假前把自己的一些理解总结记录下来,供自己以后查看,也希望可以给大家一些帮助。第一次写博客,欢迎指点批评。
传统的LDA
LDA自从被提出以来,已经有不知道多少人对其提出了改进版本。
最初的LDA应该是来自于 [1]: Fisger 1936,最开始只适用于两个类别的降维分类,而后被扩展为多个类别数据的降维。
LDA与Principal Component Analysis(PCA)的设计思想比较相似,在我看来,可以理解为PCA应用了类标签之后的扩展。PCA要求降维之后的数据之间的方差最大,也就是使得降维之后的数据尽可能分散,这样就可以最大程度的保留数据原有信息,但是这样的降维结果会使得降维之后的数据不适用于分类(PCA是一种无监督的降维方法)。与PCA不同,LDA利用率类标签信息,要求降维之后的数据可以在各个类别内部尽可能接近(即类内协方差矩阵迹之和最小)的同时各个类间尽可能远离(即类间协方差矩阵的迹尽可能大)。
LDA的目标函数
给定训练样本 X = [ x 1 , x 2 , . . . , x n ] ∈ R m × n \bm{X}=[\bm{x}_{1} ,\bm{x}_{2},...,\bm{x}_{n}] \in\bm{R}^{m\times n} X=[x1,x2,...,xn]∈Rm×n, 属于 C C C 个类别。LDA通过求解转换矩阵 U = [ q 1 , q 2 , . . . , q d ] ∈ R m × d \bm{U}=[\bm{q}_{1},\bm{q}_{2},...,\bm{q}_{d}]\in\bm{R}^{m\times d} U=[q1,q2,...,qd]∈Rm×d, 将数据从原始的 m m m维空间转换到降维之后的 d d d维子空间;
Y = U T X \bm{Y}=\bm{U}^{T}\bm{X} Y=UTX
定义类内协方差矩阵 S w \bm{S}_w Sw 和类间协方差矩阵 S b \bm{S}_b Sb,则LDA通过解决特征值问题求得转换矩阵 U \bm{U} U;
S w − 1 S b U = U A \bm{S}_{w}^{-1}\bm{S}_{b}\bm{U}=\bm{UA} Sw−1