标签:领域 集合 目标 pre shrink com ati 之间 直线
这里的LDA是指Linear Discriminant Analysis,简称LDA,全称线性判别分析。要与自然语言处理领域的LDA(Latent Dirichlet Allocation)隐含狄利克雷分布区分开来。
LDA是一种监督学习降维技术,它的数据集的每个样本是有类别输出的。而PCA是不考虑样本类别输出的无监督降维技术。
核心思想是:投影后类内方差最小,类间方差最大。理解为:数据在低维度上进行投影,投影后希望每一类别数据的投影点尽可能接近,而不同类别数据的类别中心之间距离尽可能远。
瑞利商的定义\(R(A,x)\)如下
其中x为非零向量,而A为\(n\times n\)的Hermitan矩阵,所谓Hermitan矩阵就是满足共轭转置和自相等的矩阵,即\(A^H=A\)。如果A是实数阵,则满足\(A^T=A\)的矩阵即为Hermitan矩阵。
瑞利商\(R(A,x)\)有一个非常重要的性质,即它的最大值等于矩阵A最大的特征值,而最小值等于矩阵A的最小特征值,也就是满足如下:
当x是正标准正交基时,即满足\(x^Hx=1\)时瑞利商退化为\(R(A,x)=x^HAx\)。
广义瑞利商定义如下:
其中\(x\)为非零向量,而A,B为\(n\times n\)的Hermitan矩阵,B为正定矩阵。它的最大值和最小值是什么?我们令\(x=B^{-\frac{1}{2}}x‘\),则上式分母转化为
而其分子转化为
此时我们的\(R(A,B,x)\)转化为\(R(A,B,x‘)\)
利用瑞利商的性质可知,\(R(A,B,x‘)\)的最大值为矩阵\(B^{-\frac{1}{2}}AB^{-\frac{1}{2}}\)的最大特征值或者说是矩阵\(B^{-1}A\)的最大特征值,而最小值为矩阵\(B^{-1}A\)的最小特征值。
LDA的目标是:中心点尽可能大,即每类均值的距离尽可能大;类间距离尽可能小,即协方差尽可能小。
最后推导为瑞利商和广义瑞利商。
假设数据集\(D={(x_1,y_1),(x_2,y_2),...,(x_m,y_m)}\),其中任意样本\(x_i\)为n维重见天日,\(y_i\in {\{0,1\}}\)。我们定义\(N_j(j=0,1)\)为第j类样本的个数,\(X_j(j=0,1)\)为第j类样本的集合,而\(\mu_j(j=0,1)\)为第j类样本的均值向量定义\(\Sigma_j(j=0,1)\)为第j类样本的协方差矩阵(缺少分母部分)。
\(\mu_j\)表示为
\(\Sigma_j\)表示为
由于是两类数据,我们将其投影到一条直线上即可。假设我们的投影直线是向量\(w_j\),则对任意一个样本\(x_i\),它在直线\(w\)的投影为\(w^Tx_i\),对于我们两个类别中心点\(\mu_0,\mu_1\),在直线\(w\)的投影为\(w^T\mu_0\)和\(w^T\mu_1\)。由于LDA需要让不同类别的数据中心之间的距离尽可能大,也就是我们需要最大化\(\lVert w^T\mu_0-w^T\mu_1\rVert_2^2\),同时,我们希望同一种类数据的投影点尽可能的接近,也就是要同类样本投影点的协方差\(w^T\Sigma_0w\)和\(w^T\Sigma_1w\)尽可能的小,即最小化\(w^T\Sigma_0w+w^T\Sigma_1w\),综上所述,我们的优化目标表示为:
我们一般定义类间散度矩阵\(S_w\)如下
定义类间散度矩阵\(S_b\)如下
这样,重写优化目标如下
这就是广义瑞利商!由广义瑞利商的性质可知,我们的\(J(w‘)\)最大值为矩阵\(S_w^{-\frac{1}{2}}S_bS_w^{-\frac{1}{2}}\)的最大特征值,而对应的\(w‘\)为\(S_w^{-\frac{1}{2}}S_bS_w^{-\frac{1}{2}}\)的最大特征值对应的向量!而\(S_w^{-1}S_b\)的特征值和\(S_w^{-\frac{1}{2}}S_bS_w^{-\frac{1}{2}}\)的特征值相同,\(S_w^{-1}S_b\)的特征向量\(w\)和\(S_w^{-\frac{1}{2}}S_bS_w^{-\frac{1}{2}}\)的特征向量\(w‘\)满足\(w=s_w^{-\frac{1}{2}}w‘\)的关系。
注意到,二分类时,\(S_bw\)的方向恒为\(\mu_0-\mu_1\),令\(S_bw=\lambda(\mu_0-\mu_1)\),将其带入\((S_w^{-1}S_b)w=\lambda w\),可以得到\(w=S_w^{-1}(\mu_0-\mu_1)\),也就是说只要求出原始二类样本的均值和方差,就可以确定最佳投影方向了。
同理(略)
输入:数据集\(D={(x_1,y_1),(x_2,y_2),...,(x_m,y_m)}\),其中任意样本\(x_i\)为n维向量,\(y_i\in{C_1,C_2,...,C_k}\)降维到的维度d
输出:降给后的样本集\(D‘\)
以上就是LDA进行降维的算法流程,实际上LDA除了可以用于降维外,还可以用于分类。一个常见的LDA分类基本思想是假设各个类别的样本数据符合高斯分布,这样利用LDA进行投影后,可以利用极大似然估计计算各个类别投影数据的均值和方差,进而得到该类别高斯分布的概率密度函数。当一个新的样本来后,我们可以将它投影,然后将投影后的样本特征分别带入各个类别的高斯分布概率函数,计算它属于这个类别的概率,最大概率对应的类别即为预测类别。
LDA与PCA都可以用于降维
相同点:
不同点:
LDA优点:
LDA缺点:
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
lda = LinearDiscriminantAnalysis(n_components=2)
lda.fit(x)
如果数据是有标签是,优先使用LDA。
PCA有助于去噪声。
标签:领域 集合 目标 pre shrink com ati 之间 直线
原文地址:https://www.cnblogs.com/guesswhy/p/12882838.html