LDA(Linear Discriminant Analysis),线性判别分析。LDA是一种监督学习的降维技术。主要用于数据预处理中的降维、分类任务。LDA的目标是最大化类间区分度的坐标轴成分,将特征空间投影到一个维度更小的k维子空间中,同时保持区分类别的信息。简而言之,LDA投影后的数据类内方差最小,类间方差最大。
瑞利商
定义: R ( A , x ) = x H A x x H x R(A,x) = \frac{x^HAx}{x^Hx} R(A,x)=xHxxHAx
其中,x是非零向量,A是n*n的Hermitan矩阵(自共轭矩阵,矩阵中每一个第i行第j列的元素都与第j行第i列的元素的共轭相等)
性质:瑞利商最大值等于矩阵A最大的特征值,最小值等于矩阵A的最小特征值
λ m i n ⩽ x H A x x H x ⩽ λ m a x \lambda_{min} \leqslant \frac{x^HAx}{x^Hx} \leqslant \lambda_{max} λmin⩽xHxxHAx⩽λmax
广义瑞利商
定义: R ( A , x ) = x H A x x H B x R(A,x) = \frac{x^HAx}{x^HBx} R(A,x)=xHBxxHAx
其中,x是非零向量,而A,B为n*n的Hermitan矩阵。B为正定矩阵
最大值为矩阵 B − 1 2 A B − 1 2 B^{-\frac{1}{2}}AB^{\frac{-1}{2}} B−21AB2−1的最大特征值,或者说矩阵 B − 1 A B^{-1}A B−1A的最大特征值,最小值是其最小特征值
假设数据集 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . . . . , ( x m , y m ) D={(x_1,y_1),(x_2,y_2),......,(x_m,y_m)} D=(x1,y1),(x2,y2),......,(xm,ym),其中任意 x i x_i xi为n维向量
第j类样本的均值向量: μ j = 1 n j ∑ x ( j = 0 , 1 ) \mu_j = \frac{1}{n_j}\sum x(j=0,1) μj=nj1∑x(j=0,1)
第j类样本的协方差矩阵: Σ j = ∑ ( x − μ j ) ( x − μ j ) T ( j = 0 , 1 ) \Sigma_j = \sum (x-\mu_j)(x-\mu_j)^T (j=0,1) Σj=∑(x−μj)(x−μj)T(j=0,1)
假设投影直线是向量 ω \omega ω,则对任意一个样本本xi,它在直线 ω \omega ω的投影为 ω T x i \omega^Tx_i ωTxi,对于我们的两个类别的中心点 μ 0 , μ 1 \mu_0,\mu_1 μ0,μ1,在在直线 ω \omega ω的投影为 ω T μ 0 \omega^T\mu_0 ωTμ0, ω T μ 1 \omega^T\mu_1 ωTμ1。由于LDA需要让不同类别的数据的类别中心之间的距离尽可能的大,也就是我们要最大化 ∣ ∣ ω T μ 0 − ω T μ 1 ∣ ∣ 2 2 ||\omega^T\mu_0−\omega^T\mu_1||_2^2 ∣∣ωTμ0−ωTμ1∣∣22,同时我们希望同一种类别数据的投影点尽可能的接近,也就是要同类样本投影点的协方差 ω T Σ 0 ω \omega^T\Sigma_0\omega ωTΣ0ω和 ω T Σ 1 ω \omega^T\Sigma_1\omega ωTΣ1ω尽可能的小,即最小化 ω T Σ 0 ω + ω T Σ 1 ω \omega^T\Sigma_0\omega+\omega^T\Sigma_1\omega ωTΣ0ω+ωTΣ1ω。综上所述,我们的优化目标为:
a r g m a x J ( ω ) = ∣ ∣ ω T μ 0 − ω T μ 1 ∣ ∣ 2 2 ω T Σ 0 ω + ω T Σ 1 ω = ω T ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T ω ω T ( Σ 0 + Σ 1 ) ω arg max J(\omega) = \frac{||\omega^T\mu_0-\omega^T\mu_1||_2^2}{\omega^T\Sigma_0\omega+\omega^T\Sigma_1\omega} = \frac{\omega^T(\mu_0-\mu_1)(\mu_0-\mu_1)^T\omega}{\omega^T(\Sigma_0+\Sigma_1)\omega} argmaxJ(ω)=ωTΣ0ω+ωTΣ1ω∣∣ωTμ0−ωTμ1∣∣22=ωT(Σ0+Σ1)ωωT(μ0−μ1)(μ0−μ1)Tω
类内散度矩阵 S ω S_\omega Sω为:
S ω = Σ 0 + Σ 1 = ∑ ( x − μ 0 ) ( x − μ 0 ) T + ∑ ( x − μ 1 ) ( x − μ 1 ) T S_\omega = \Sigma_0 + \Sigma_1 = \sum(x-\mu_0)(x-\mu_0)^T+ \sum(x-\mu_1)(x-\mu_1)^T Sω=Σ0+Σ1=∑(x−μ0)(x−μ0)T+∑(x−μ1)(x−μ1)T
类间散度矩阵 S b S_b Sb为:
S b = ( μ 0 − μ 1 ) ( μ 0 − μ 1 ) T S_b = (\mu_0-\mu_1)(\mu_0-\mu_1)^T Sb=(μ0−μ1)(μ0−μ1)T
优化目标重新定义:
a r g m a x J ( ω ) = ω T S b ω ω T S ω ω argmax J(\omega) = \frac{\omega^TS_b\omega}{\omega^TS_\omega\omega} argmaxJ(ω)=ωTSωωωTSbω
这就是广义瑞利商,最大值就是 S ω − 1 S b S_\omega^{-1}S_b Sω−1Sb的最大特征值
优化目标:
a r g m a x J ( ω ) = ∏ ω T S b ω ∏ ω T S ω ω = ∏ ω T S b ω ω T S ω ω argmax J(\omega) = \frac{\prod \omega^TS_b\omega}{\prod \omega^TS_\omega\omega} = \prod \frac{\omega^TS_b\omega}{\omega^TS_\omega\omega} argmaxJ(ω)=∏ωTSωω∏ωTSbω=∏ωTSωωωTSbω
特征向量最多有k-1个
PCA(principal component analysis),主成分分析。PCA的主要思想是将n维特征映射到k维上,这k维是全新的正交特征也被称为主成分,是在原有n维特征的基础上重新构造出来的k维特征。
PCA的工作就是从原始的空间中顺序的找一组相互正交的坐标轴,新的坐标轴的选择与数据本身是密切相关的。其中,第一个新坐标轴选择是原始数据中方差最大的方向,第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大,第三个轴是与第1、2个轴正交的平面中方差最大的。以此类推,可以得到n个这样的坐标轴。通过这种方式获得的新的坐标轴,我们发现,大部分方差都包含在前面k个坐标轴中,后面的坐标轴所含的方差几乎为0。于是,我们可以忽略余下的坐标轴,只保留前面k个含有绝大部分方差的坐标轴。事实上,这相当于只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。
计算数据矩阵的协方差矩阵,得到协方差矩阵的特征值特征向量,选择特征值最大(方差最大)的k个特征所对应的特征向量组成的矩阵。
由于得到协方差矩阵的特征值特征向量有两种方法:特征值分解协方差矩阵、奇异值分解协方差矩阵
协方差
C o v ( X , Y ) = E [ ( X − E ( x ) ) ( Y − E ( Y ) ) ] = 1 n − 1 ∑ i = 1 n ( x i − x ˉ ) ( y i − y ˉ ) Cov(X,Y) = E[(X-E(x))(Y-E(Y))] = \frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar x)(y_i-\bar y) Cov(X,Y)=E[(X−E(x))(Y−E(Y))]=n−11i=1∑n(xi−xˉ)(yi−yˉ)
协方差矩阵
散度矩阵
S = ∑ k = 1 n ( x k − x ˉ ) ( x k − y ˉ ) T S = \sum_{k=1}^{n}(x_k-\bar x)(x_k-\bar y)^T S=k=1∑n(xk−xˉ)(xk−yˉ)T
对于数据X的散度矩阵 X X T XX^T XXT。
奇异值分解是一个能适用于任意矩阵的一种分解方法,对于任意矩阵A总是存在一个奇异值分解:
A = U Σ V T A = U\Sigma V^T A=UΣVT
假设A是一个mn的矩阵,那么U是一个mm的方针,U里面的正交向量被称为左奇异向量。 Σ \Sigma Σ是一个mn的矩阵, Σ \Sigma Σ除了对角线其他元素都是0,对角线上的元素称为奇异值。 V T V^T VT是V的转置矩阵,是一个nn的矩阵,它里面的正交向量被称为右奇异值向量。而且一般来讲,我们会将 Σ \Sigma Σ上的值按从大到小的顺序排列。
SVD分解矩阵A的步骤:
输入数据集 X = x 1 , x 2 , . . . . . . , x n X = {x_1,x_2,......,x_n} X=x1,x2,......,xn,需要降到k维
https://www.cnblogs.com/pinard/p/6244265.html
https://blog.csdn.net/program_developer/article/details/80632779
知乎